All functions:
  Elements:
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:53,1
    - Dst: IncreaseCacheLimitLocked
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:57,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:65,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:73,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:80,1
    - Dst: ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:81,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:82,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:92,1
    - Dst: FreeList*::empty
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:93,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:95,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:95,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:97,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:98,1
    - Dst: FreeList*::PushBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:105,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:111,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:112,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:112,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:116,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:116,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:121,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:122,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:128,1
    - Dst: ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:129,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:136,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:138,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:138,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:139,1
    - Dst: FreeList*::set_length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:142,1
    - Dst: FreeList*::length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:142,1
    - Dst: FreeList*::length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:143,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:144,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:144,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:145,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:145,1
    - Dst: FreeList*::set_length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:146,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:155,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:156,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:156,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:157,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:161,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:163,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:164,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:166,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:167,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:170,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:171,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:173,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:174,1
    - Dst: FreeList*::lowwatermark
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:188,1
    - Dst: ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:191,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:201,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:202,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:203,1
    - Dst: std::max<int>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:204,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:204,1
    - Dst: FreeList*::clear_lowwatermark
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:207,1
    - Dst: IncreaseCacheLimit
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:210,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:214,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:214,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:214,1
    - Dst: ListTooLong
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:215,1
    - Dst: Scavenge
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:218,1
    - Dst: IncreaseCacheLimitLocked
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:224,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:241,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:257,1
    - Dst: pthread_key_create
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:258,1
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:264,1
    - Dst: pthread_self
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:277,1
    - Dst: NewHeap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:292,1
    - Dst: pthread_setspecific
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:304,1
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:312,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:319,1
    - Dst: GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:329,1
    - Dst: pthread_setspecific
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:334,1
    - Dst: GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:338,1
    - Dst: DeleteCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:345,1
    - Dst: DeleteCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:354,1
    - Dst: reinterpret_cast<ThreadCache*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:354,1
    - Dst: ThreadCache*::Cleanup
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:360,1
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:375,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:381,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:387,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:398,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:410,1
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:414,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:422,1
    - Dst: RecomputePerThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:424,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 211
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 428
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - DeleteCache
    - empty
    - InitIfNecessary
    - ABSL_PREDICT_FALSE
    - RecomputePerThreadCacheSize
    - FreeList*::lowwatermark
    - FreeList*::length_overages
    - std::max<double>
    - pthread_key_create
    - NewHeap
    - std::min
    - ThreadCache*::Cleanup
    - store
    - IncreaseCacheLimit
    - reinterpret_cast<ThreadCache*>
    - absl::Span<void*>
    - FreeList*::clear_lowwatermark
    - IncreaseCacheLimitLocked
    - FreeList*::empty
    - FreeList*::set_max_length
    - ReleaseToTransferCache
    - GetCacheIfPresent
    - std::max<int>
    - length
    - TC_ASSERT
    - TC_ASSERT_EQ
    - threadcache_allocator
    - pthread_setspecific
    - transfer_cache
    - load
    - FreeList*::max_length
    - sizemap
    - TC_ASSERT_NE
    - absl::MakeSpan
    - pthread_self
    - std::min<int>
    - TC_ASSERT_GT
    - ABSL_ARRAYSIZE
    - Scavenge
    - Init
    - ListTooLong
    - FreeList*::set_length_overages
    - FreeList*::PushBatch
    - AssertHeld
    - PopBatch
    - FreeList*::length
    - TC_ASSERT_LT
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:53,1
    - Dst: tcmalloc_internal::ThreadCache::IncreaseCacheLimitLocked
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:57,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:65,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pthread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 75
    functionName: tcmalloc_internal::ThreadCache::ThreadCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - AssertHeld
    - Init
    - tcmalloc_internal::ThreadCache::IncreaseCacheLimitLocked
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void ThreadCache::ThreadCache(pthread_t tid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:80,1
    - Dst: tcmalloc_internal::ThreadCache::ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:81,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::ThreadCache::Cleanup
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - length
    - empty
    - tcmalloc_internal::ThreadCache::ReleaseToTransferCache
    linkageType: ''
    returnType: void
    signature: void ThreadCache::Cleanup()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:92,1
    - Dst: FreeList*::empty
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:93,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:95,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:95,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:97,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:98,1
    - Dst: FreeList*::PushBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:105,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:111,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:112,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:112,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:116,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:116,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:121,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - size_class
    - byte_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::ThreadCache::FetchFromTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - transfer_cache
    - FreeList*::empty
    - FreeList*::max_length
    - FreeList*::set_max_length
    - sizemap
    - absl::MakeSpan
    - FreeList*::PushBatch
    - std::min<int>
    - std::min
    - TC_ASSERT
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void * ThreadCache::FetchFromTransferCache(size_t size_class, size_t
      byte_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:128,1
    - Dst: tcmalloc_internal::ThreadCache::ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:129,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:136,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:138,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:138,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:139,1
    - Dst: FreeList*::set_length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:142,1
    - Dst: FreeList*::length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:142,1
    - Dst: FreeList*::length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:143,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:144,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:144,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:145,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:145,1
    - Dst: FreeList*::set_length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - list
    - size_class
    argTypes:
    - FreeList*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 149
    functionName: tcmalloc_internal::ThreadCache::ListTooLong
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - FreeList*::set_length_overages
    - FreeList*::max_length
    - FreeList*::set_max_length
    - sizemap
    - TC_ASSERT_GT
    - FreeList*::length_overages
    - tcmalloc_internal::ThreadCache::ReleaseToTransferCache
    linkageType: ''
    returnType: void
    signature: void ThreadCache::ListTooLong(FreeList* list, size_t size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:155,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:156,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:156,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:157,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:161,1
    - Dst: FreeList*::PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:163,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:164,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:166,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:167,1
    - Dst: FreeList*::PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:170,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:171,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:173,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src
    - size_class
    - N
    argTypes:
    - FreeList*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 176
    functionName: tcmalloc_internal::ThreadCache::ReleaseToTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 2
    functionsReached:
    - transfer_cache
    - sizemap
    - absl::Span<void*>
    - ABSL_ARRAYSIZE
    - TC_ASSERT_EQ
    - FreeList*::PopBatch
    - FreeList*::length
    linkageType: ''
    returnType: void
    signature: "void ThreadCache::ReleaseToTransferCache(FreeList* src, size_t size_class,\n
      \                                        int N)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FreeList*::lowwatermark
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:188,1
    - Dst: tcmalloc_internal::ThreadCache::ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:191,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:201,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:202,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:203,1
    - Dst: std::max<int>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:204,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:204,1
    - Dst: FreeList*::clear_lowwatermark
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:207,1
    - Dst: tcmalloc_internal::ThreadCache::IncreaseCacheLimit
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 211
    functionName: tcmalloc_internal::ThreadCache::Scavenge
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - FreeList*::max_length
    - FreeList*::set_max_length
    - sizemap
    - FreeList*::lowwatermark
    - tcmalloc_internal::ThreadCache::IncreaseCacheLimit
    - tcmalloc_internal::ThreadCache::ReleaseToTransferCache
    - std::max<int>
    - FreeList*::clear_lowwatermark
    linkageType: ''
    returnType: void
    signature: void ThreadCache::Scavenge()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:214,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:214,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:214,1
    - Dst: tcmalloc_internal::ThreadCache::ListTooLong
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:215,1
    - Dst: tcmalloc_internal::ThreadCache::Scavenge
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - list
    - size_class
    argTypes:
    - void*
    - FreeList*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: tcmalloc_internal::ThreadCache::DeallocateSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - FreeList*::max_length
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::ThreadCache::Scavenge
    - tcmalloc_internal::ThreadCache::ListTooLong
    - FreeList*::length
    linkageType: ''
    returnType: void
    signature: void ThreadCache::DeallocateSlow(void* ptr, FreeList* list, size_t
      size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ThreadCache::IncreaseCacheLimitLocked
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: tcmalloc_internal::ThreadCache::IncreaseCacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::ThreadCache::IncreaseCacheLimitLocked
    linkageType: ''
    returnType: void
    signature: void ThreadCache::IncreaseCacheLimit()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 254
    functionName: tcmalloc_internal::ThreadCache::IncreaseCacheLimitLocked
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 2
    functionsReached:
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void ThreadCache::IncreaseCacheLimitLocked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:257,1
    - Dst: pthread_key_create
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::ThreadCache::InitTSD
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - pthread_key_create
    linkageType: ''
    returnType: void
    signature: void ThreadCache::InitTSD()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:264,1
    - Dst: pthread_self
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:277,1
    - Dst: tcmalloc_internal::ThreadCache::NewHeap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:292,1
    - Dst: pthread_setspecific
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:304,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 308
    functionName: tcmalloc_internal::ThreadCache::CreateCacheIfNecessary
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - pthread_self
    - tcmalloc_internal::ThreadCache::NewHeap
    - InitIfNecessary
    - pthread_setspecific
    linkageType: ''
    returnType: ThreadCache
    signature: ThreadCache * ThreadCache::CreateCacheIfNecessary()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:312,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pthread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: tcmalloc_internal::ThreadCache::NewHeap
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 1
    functionsReached:
    - TC_ASSERT_EQ
    - threadcache_allocator
    linkageType: ''
    returnType: ThreadCache
    signature: ThreadCache * ThreadCache::NewHeap(pthread_t tid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:329,1
    - Dst: pthread_setspecific
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:334,1
    - Dst: GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:338,1
    - Dst: tcmalloc_internal::ThreadCache::DeleteCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 346
    functionName: tcmalloc_internal::ThreadCache::BecomeIdle
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - GetCacheIfPresent
    - tcmalloc_internal::ThreadCache::DeleteCache
    - pthread_setspecific
    linkageType: ''
    returnType: void
    signature: void ThreadCache::BecomeIdle()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ThreadCache::DeleteCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:354,1
    - Dst: reinterpret_cast<ThreadCache*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: tcmalloc_internal::ThreadCache::DestroyThreadCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<ThreadCache*>
    - tcmalloc_internal::ThreadCache::DeleteCache
    linkageType: ''
    returnType: void
    signature: void ThreadCache::DestroyThreadCache(void* ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ThreadCache*::Cleanup
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:360,1
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - heap
    argTypes:
    - ThreadCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 376
    functionName: tcmalloc_internal::ThreadCache::DeleteCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 2
    functionsReached:
    - ThreadCache*::Cleanup
    - threadcache_allocator
    linkageType: ''
    returnType: void
    signature: void ThreadCache::DeleteCache(ThreadCache* heap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:381,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:387,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 400
    functionName: tcmalloc_internal::ThreadCache::RecomputePerThreadCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - std::max<double>
    - load
    linkageType: ''
    returnType: void
    signature: void ThreadCache::RecomputePerThreadCacheSize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:410,1
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - total_bytes
    - class_count
    argTypes:
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 415
    functionName: tcmalloc_internal::ThreadCache::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - length
    - threadcache_allocator
    linkageType: ''
    returnType: AllocatorStats
    signature: "AllocatorStats ThreadCache::GetStats(uint64_t* total_bytes,\n                                     uint64_t*
      class_count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:422,1
    - Dst: tcmalloc_internal::ThreadCache::RecomputePerThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 425
    functionName: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::RecomputePerThreadCacheSize
    - store
    linkageType: ''
    returnType: void
    signature: void ThreadCache::set_overall_thread_cache_size(size_t new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:53,1
    - Dst: tcmalloc_internal::ThreadCache::IncreaseCacheLimitLocked
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:57,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:65,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pthread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 75
    functionName: tcmalloc_internal::ThreadCache::ThreadCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - AssertHeld
    - Init
    - tcmalloc_internal::ThreadCache::IncreaseCacheLimitLocked
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void ThreadCache::ThreadCache(pthread_t tid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:80,1
    - Dst: tcmalloc_internal::ThreadCache::ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:81,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::ThreadCache::Cleanup
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - length
    - empty
    - tcmalloc_internal::ThreadCache::ReleaseToTransferCache
    linkageType: ''
    returnType: void
    signature: void ThreadCache::Cleanup()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:92,1
    - Dst: FreeList*::empty
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:93,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:95,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:95,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:97,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:98,1
    - Dst: FreeList*::PushBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:105,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:111,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:112,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:112,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:116,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:116,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:121,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - size_class
    - byte_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::ThreadCache::FetchFromTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - transfer_cache
    - FreeList*::empty
    - FreeList*::max_length
    - FreeList*::set_max_length
    - sizemap
    - absl::MakeSpan
    - FreeList*::PushBatch
    - std::min<int>
    - std::min
    - TC_ASSERT
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void * ThreadCache::FetchFromTransferCache(size_t size_class, size_t
      byte_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:128,1
    - Dst: tcmalloc_internal::ThreadCache::ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:129,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:136,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:138,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:138,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:139,1
    - Dst: FreeList*::set_length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:142,1
    - Dst: FreeList*::length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:142,1
    - Dst: FreeList*::length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:143,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:144,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:144,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:145,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:145,1
    - Dst: FreeList*::set_length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - list
    - size_class
    argTypes:
    - FreeList*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 149
    functionName: tcmalloc_internal::ThreadCache::ListTooLong
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 1
    functionsReached:
    - FreeList*::set_length_overages
    - FreeList*::max_length
    - FreeList*::set_max_length
    - sizemap
    - TC_ASSERT_GT
    - FreeList*::length_overages
    - tcmalloc_internal::ThreadCache::ReleaseToTransferCache
    linkageType: ''
    returnType: void
    signature: void ThreadCache::ListTooLong(FreeList* list, size_t size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:155,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:156,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:156,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:157,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:161,1
    - Dst: FreeList*::PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:163,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:164,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:166,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:167,1
    - Dst: FreeList*::PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:170,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:171,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:173,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src
    - size_class
    - N
    argTypes:
    - FreeList*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 176
    functionName: tcmalloc_internal::ThreadCache::ReleaseToTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 5
    functionsReached:
    - transfer_cache
    - sizemap
    - absl::Span<void*>
    - ABSL_ARRAYSIZE
    - TC_ASSERT_EQ
    - FreeList*::PopBatch
    - FreeList*::length
    linkageType: ''
    returnType: void
    signature: "void ThreadCache::ReleaseToTransferCache(FreeList* src, size_t size_class,\n
      \                                        int N)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FreeList*::lowwatermark
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:188,1
    - Dst: tcmalloc_internal::ThreadCache::ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:191,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:201,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:202,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:203,1
    - Dst: std::max<int>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:204,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:204,1
    - Dst: FreeList*::clear_lowwatermark
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:207,1
    - Dst: tcmalloc_internal::ThreadCache::IncreaseCacheLimit
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 211
    functionName: tcmalloc_internal::ThreadCache::Scavenge
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 1
    functionsReached:
    - FreeList*::max_length
    - FreeList*::set_max_length
    - sizemap
    - FreeList*::lowwatermark
    - tcmalloc_internal::ThreadCache::IncreaseCacheLimit
    - tcmalloc_internal::ThreadCache::ReleaseToTransferCache
    - std::max<int>
    - FreeList*::clear_lowwatermark
    linkageType: ''
    returnType: void
    signature: void ThreadCache::Scavenge()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:214,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:214,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:214,1
    - Dst: tcmalloc_internal::ThreadCache::ListTooLong
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:215,1
    - Dst: tcmalloc_internal::ThreadCache::Scavenge
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - list
    - size_class
    argTypes:
    - void*
    - FreeList*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: tcmalloc_internal::ThreadCache::DeallocateSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - FreeList*::max_length
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::ThreadCache::Scavenge
    - tcmalloc_internal::ThreadCache::ListTooLong
    - FreeList*::length
    linkageType: ''
    returnType: void
    signature: void ThreadCache::DeallocateSlow(void* ptr, FreeList* list, size_t
      size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ThreadCache::IncreaseCacheLimitLocked
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: tcmalloc_internal::ThreadCache::IncreaseCacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::ThreadCache::IncreaseCacheLimitLocked
    linkageType: ''
    returnType: void
    signature: void ThreadCache::IncreaseCacheLimit()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 254
    functionName: tcmalloc_internal::ThreadCache::IncreaseCacheLimitLocked
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 4
    functionsReached:
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void ThreadCache::IncreaseCacheLimitLocked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:257,1
    - Dst: pthread_key_create
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::ThreadCache::InitTSD
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - pthread_key_create
    linkageType: ''
    returnType: void
    signature: void ThreadCache::InitTSD()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:264,1
    - Dst: pthread_self
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:277,1
    - Dst: tcmalloc_internal::ThreadCache::NewHeap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:292,1
    - Dst: pthread_setspecific
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:304,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 308
    functionName: tcmalloc_internal::ThreadCache::CreateCacheIfNecessary
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - pthread_self
    - tcmalloc_internal::ThreadCache::NewHeap
    - InitIfNecessary
    - pthread_setspecific
    linkageType: ''
    returnType: ThreadCache
    signature: ThreadCache * ThreadCache::CreateCacheIfNecessary()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:312,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pthread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: tcmalloc_internal::ThreadCache::NewHeap
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 2
    functionsReached:
    - TC_ASSERT_EQ
    - threadcache_allocator
    linkageType: ''
    returnType: ThreadCache
    signature: ThreadCache * ThreadCache::NewHeap(pthread_t tid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:329,1
    - Dst: pthread_setspecific
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:334,1
    - Dst: GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:338,1
    - Dst: tcmalloc_internal::ThreadCache::DeleteCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 346
    functionName: tcmalloc_internal::ThreadCache::BecomeIdle
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - GetCacheIfPresent
    - tcmalloc_internal::ThreadCache::DeleteCache
    - pthread_setspecific
    linkageType: ''
    returnType: void
    signature: void ThreadCache::BecomeIdle()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ThreadCache::DeleteCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:354,1
    - Dst: reinterpret_cast<ThreadCache*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: tcmalloc_internal::ThreadCache::DestroyThreadCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<ThreadCache*>
    - tcmalloc_internal::ThreadCache::DeleteCache
    linkageType: ''
    returnType: void
    signature: void ThreadCache::DestroyThreadCache(void* ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ThreadCache*::Cleanup
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:360,1
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - heap
    argTypes:
    - ThreadCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 376
    functionName: tcmalloc_internal::ThreadCache::DeleteCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 4
    functionsReached:
    - ThreadCache*::Cleanup
    - threadcache_allocator
    linkageType: ''
    returnType: void
    signature: void ThreadCache::DeleteCache(ThreadCache* heap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:381,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:387,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 400
    functionName: tcmalloc_internal::ThreadCache::RecomputePerThreadCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 1
    functionsReached:
    - std::max<double>
    - load
    linkageType: ''
    returnType: void
    signature: void ThreadCache::RecomputePerThreadCacheSize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:410,1
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - total_bytes
    - class_count
    argTypes:
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 415
    functionName: tcmalloc_internal::ThreadCache::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - length
    - threadcache_allocator
    linkageType: ''
    returnType: AllocatorStats
    signature: "AllocatorStats ThreadCache::GetStats(uint64_t* total_bytes,\n                                     uint64_t*
      class_count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:422,1
    - Dst: tcmalloc_internal::ThreadCache::RecomputePerThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 425
    functionName: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::RecomputePerThreadCacheSize
    - store
    linkageType: ''
    returnType: void
    signature: void ThreadCache::set_overall_thread_cache_size(size_t new_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:108,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:117,1
    - Dst: CrashWithOOM
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:126,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:150,1
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:167,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:212,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:252,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:255,1
    - Dst: OomPolicy::template handle_oom<SizeReturningPolicy>
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:282,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:298,1
    - Dst: partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:301,1
    - Dst: scaled_partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:305,1
    - Dst: access
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:308,1
    - Dst: is_cold
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:310,1
    - Dst: tcmalloc_internal::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:313,1
    - Dst: tcmalloc_internal::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:317,1
    - Dst: tcmalloc_internal::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:320,1
    - Dst: tcmalloc_internal::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:323,1
    - Dst: "TCMallocPolicy<OomPolicy, AlignAsPolicy, AccessPolicy, HooksPolicy,\n
        \                         SizeReturningPolicy, NumaPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:331,1
    - Dst: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessAsPolicy,\n                          HooksPolicy,
        SizeReturningPolicy, NumaPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:339,1
    - Dst: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessHotPolicy,\n                          HooksPolicy,
        SizeReturningPolicy, NumaPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:348,1
    - Dst: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessColdPolicy,\n                          HooksPolicy,
        SizeReturningPolicy, NumaPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:357,1
    - Dst: "TCMallocPolicy<NullOomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
        \                         SizeReturningPolicy, NumaPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:366,1
    - Dst: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, NoHooksPolicy,\n
        \                         SizeReturningPolicy, NumaPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:375,1
    - Dst: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n                          IsSizeReturningPolicy,
        NumaPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:383,1
    - Dst: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, NoHooksPolicy,\n
        \                         SizeReturningPolicy, FixedNumaPartitionPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:392,1
    - Dst: InNumaPartition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:400,1
    - Dst: NumaPartitionFromPointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 413
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - CrashWithOOM
    - scaled_partition
    - numa_topology
    - tcmalloc_internal::Parameters::min_hot_access_hint
    - OomPolicy::template handle_oom<SizeReturningPolicy>
    - tcmalloc_internal::as_pointer
    - access
    - "TCMallocPolicy<OomPolicy, AlignAsPolicy, AccessPolicy, HooksPolicy,\n                          SizeReturningPolicy,
      NumaPolicy>"
    - tcmalloc_internal::to_pointer
    - is_cold
    - InNumaPartition
    - sizemap
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - tcmalloc_internal::invoke_hooks
    - "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, NoHooksPolicy,\n                          SizeReturningPolicy,
      FixedNumaPartitionPolicy>"
    - tcmalloc_internal::size_returning
    - NumaPartitionFromPointer
    - "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessAsPolicy,\n                          HooksPolicy,
      SizeReturningPolicy, NumaPolicy>"
    - partition
    - "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessHotPolicy,\n                          HooksPolicy,
      SizeReturningPolicy, NumaPolicy>"
    - static_cast<size_t>
    - "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, NoHooksPolicy,\n                          SizeReturningPolicy,
      NumaPolicy>"
    - "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n                          IsSizeReturningPolicy,
      NumaPolicy>"
    - align
    - "TCMallocPolicy<NullOomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n                          SizeReturningPolicy,
      NumaPolicy>"
    - "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessColdPolicy,\n                          HooksPolicy,
      SizeReturningPolicy, NumaPolicy>"
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: tcmalloc_internal::handle_oom
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    linkageType: ''
    returnType: Pointer
    signature: Pointer handle_oom(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: tcmalloc_internal::handle_oom
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    linkageType: ''
    returnType: Pointer
    signature: Pointer handle_oom(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::CrashWithOOM
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::handle_oom
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::CrashWithOOM
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE handle_oom(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: tcmalloc_internal::align
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t align()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: tcmalloc_internal::align
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t align()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: tcmalloc_internal::AlignAsPolicy::AlignAsPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignAsPolicy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: tcmalloc_internal::AlignAsPolicy::AlignAsPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignAsPolicy(size_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: tcmalloc_internal::AlignAsPolicy::AlignAsPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AlignAsPolicy(std::align_val_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: tcmalloc_internal::AlignAsPolicy::align
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t align() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: tcmalloc_internal::AllocationAccessAsPolicy::AllocationAccessAsPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocationAccessAsPolicy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: tcmalloc_internal::AllocationAccessAsPolicy::AllocationAccessAsPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocationAccessAsPolicy(hot_cold_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: tcmalloc_internal::AllocationAccessAsPolicy::access
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hot_cold_t
    signature: hot_cold_t access() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: tcmalloc_internal::AllocationAccessAsPolicy::is_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::min_hot_access_hint
    linkageType: ''
    returnType: bool
    signature: bool is_cold() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: tcmalloc_internal::access
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hot_cold_t
    signature: hot_cold_t access()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: tcmalloc_internal::is_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cold()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::access
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hot_cold_t
    signature: hot_cold_t access()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::is_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cold()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::invoke_hooks
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool invoke_hooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: tcmalloc_internal::invoke_hooks
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool invoke_hooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: tcmalloc_internal::size_returning
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool size_returning()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - capacity
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: tcmalloc_internal::as_pointer
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: pointer_type
    signature: pointer_type as_pointer(void* ptr, size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: tcmalloc_internal::to_pointer
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 1
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: void
    signature: "void to_pointer(\n      void* ptr, size_t size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: tcmalloc_internal::size_returning
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool size_returning()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: tcmalloc_internal::as_pointer
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: pointer_type
    signature: pointer_type as_pointer(void* ptr, size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::to_pointer
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void to_pointer(void* ptr,\n                                                                     size_t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - partition
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: tcmalloc_internal::FixedNumaPartitionPolicy::FixedNumaPartitionPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FixedNumaPartitionPolicy(size_t partition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: tcmalloc_internal::FixedNumaPartitionPolicy::partition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: tcmalloc_internal::FixedNumaPartitionPolicy::scaled_partition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t scaled_partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: tcmalloc_internal::partition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: size_t
    signature: size_t partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: tcmalloc_internal::scaled_partition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: size_t
    signature: size_t scaled_partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TCMallocPolicy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - align
    - numa
    argTypes:
    - AlignPolicy
    - NumaPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TCMallocPolicy(AlignPolicy align, NumaPolicy numa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - align
    - access
    - numa
    argTypes:
    - AlignPolicy
    - AccessPolicy
    - NumaPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TCMallocPolicy(AlignPolicy align, AccessPolicy access,\n                                    NumaPolicy
      numa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OomPolicy::template handle_oom<SizeReturningPolicy>
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: tcmalloc_internal::TCMallocPolicy::handle_oom
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - OomPolicy::template handle_oom<SizeReturningPolicy>
    linkageType: ''
    returnType: pointer_type
    signature: pointer_type handle_oom(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: tcmalloc_internal::TCMallocPolicy::allocation_type
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Profile::Sample::AllocationType
    signature: Profile::Sample::AllocationType allocation_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: tcmalloc_internal::TCMallocPolicy::align
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::align
    linkageType: ''
    returnType: size_t
    signature: size_t align() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: tcmalloc_internal::TCMallocPolicy::numa_partition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - partition
    linkageType: ''
    returnType: size_t
    signature: size_t numa_partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scaled_partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: tcmalloc_internal::TCMallocPolicy::scaled_numa_partition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - scaled_partition
    linkageType: ''
    returnType: size_t
    signature: size_t scaled_numa_partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::access
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: tcmalloc_internal::TCMallocPolicy::access
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::access
    linkageType: ''
    returnType: hot_cold_t
    signature: hot_cold_t access() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::is_cold
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: tcmalloc_internal::TCMallocPolicy::is_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::is_cold
    linkageType: ''
    returnType: bool
    signature: bool is_cold() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: tcmalloc_internal::TCMallocPolicy::invoke_hooks
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::invoke_hooks
    linkageType: ''
    returnType: bool
    signature: bool invoke_hooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: tcmalloc_internal::TCMallocPolicy::size_returning
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::size_returning
    linkageType: ''
    returnType: bool
    signature: bool size_returning()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - capacity
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: tcmalloc_internal::TCMallocPolicy::as_pointer
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::as_pointer
    linkageType: ''
    returnType: pointer_type
    signature: pointer_type as_pointer(void* ptr, size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: tcmalloc_internal::TCMallocPolicy::to_pointer
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::to_pointer
    linkageType: ''
    returnType: pointer_type
    signature: pointer_type to_pointer(void* ptr, size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - align
    argTypes:
    - align_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: tcmalloc_internal::TCMallocPolicy::AlignAs
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignAsPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignAsPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy> AlignAs(align_t
      align) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hot_cold
    argTypes:
    - hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: tcmalloc_internal::TCMallocPolicy::AccessAs
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessAsPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessAsPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy> AccessAs(hot_cold_t
      hot_cold) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: tcmalloc_internal::TCMallocPolicy::AccessAsHot
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessHotPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessHotPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy> AccessAsHot()
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: tcmalloc_internal::TCMallocPolicy::AccessAsCold
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessColdPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessColdPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy> AccessAsCold()
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: tcmalloc_internal::TCMallocPolicy::Nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<NullOomPolicy, AlignPolicy, AccessPolicy,\n                           HooksPolicy,
      SizeReturningPolicy, NumaPolicy>"
    signature: "TCMallocPolicy<NullOomPolicy, AlignPolicy, AccessPolicy,\n                           HooksPolicy,
      SizeReturningPolicy, NumaPolicy> Nothrow() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 378
    functionName: tcmalloc_internal::TCMallocPolicy::WithoutHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, NoHooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, NoHooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy> WithoutHooks() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: tcmalloc_internal::TCMallocPolicy::SizeReturning
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          IsSizeReturningPolicy, NumaPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          IsSizeReturningPolicy, NumaPolicy> SizeReturning()
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - partition
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: tcmalloc_internal::TCMallocPolicy::InNumaPartition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, NoHooksPolicy,\n
      \                          SizeReturningPolicy, FixedNumaPartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, NoHooksPolicy,\n
      \                          SizeReturningPolicy, FixedNumaPartitionPolicy> InNumaPartition(size_t
      partition) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::InNumaPartition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:400,1
    - Dst: NumaPartitionFromPointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: tcmalloc_internal::TCMallocPolicy::InSameNumaPartitionAs
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::InNumaPartition
    - NumaPartitionFromPointer
    linkageType: ''
    returnType: auto
    signature: auto InSameNumaPartitionAs(void* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: tcmalloc_internal::handle_oom
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    linkageType: ''
    returnType: Pointer
    signature: Pointer handle_oom(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: tcmalloc_internal::handle_oom
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    linkageType: ''
    returnType: Pointer
    signature: Pointer handle_oom(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::CrashWithOOM
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::handle_oom
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::CrashWithOOM
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE handle_oom(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: tcmalloc_internal::align
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t align()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: tcmalloc_internal::align
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t align()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: tcmalloc_internal::AlignAsPolicy::AlignAsPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignAsPolicy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: tcmalloc_internal::AlignAsPolicy::AlignAsPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignAsPolicy(size_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: tcmalloc_internal::AlignAsPolicy::AlignAsPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AlignAsPolicy(std::align_val_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: tcmalloc_internal::AlignAsPolicy::align
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t align() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: tcmalloc_internal::AllocationAccessAsPolicy::AllocationAccessAsPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocationAccessAsPolicy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: tcmalloc_internal::AllocationAccessAsPolicy::AllocationAccessAsPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocationAccessAsPolicy(hot_cold_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: tcmalloc_internal::AllocationAccessAsPolicy::access
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hot_cold_t
    signature: hot_cold_t access() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: tcmalloc_internal::AllocationAccessAsPolicy::is_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::min_hot_access_hint
    linkageType: ''
    returnType: bool
    signature: bool is_cold() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: tcmalloc_internal::access
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hot_cold_t
    signature: hot_cold_t access()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: tcmalloc_internal::is_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cold()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::access
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hot_cold_t
    signature: hot_cold_t access()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::is_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cold()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::invoke_hooks
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool invoke_hooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: tcmalloc_internal::invoke_hooks
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool invoke_hooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: tcmalloc_internal::size_returning
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool size_returning()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - capacity
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: tcmalloc_internal::as_pointer
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: pointer_type
    signature: pointer_type as_pointer(void* ptr, size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: tcmalloc_internal::to_pointer
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 2
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: void
    signature: "void to_pointer(\n      void* ptr, size_t size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: tcmalloc_internal::size_returning
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool size_returning()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: tcmalloc_internal::as_pointer
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: pointer_type
    signature: pointer_type as_pointer(void* ptr, size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::to_pointer
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void to_pointer(void* ptr,\n                                                                     size_t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - partition
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: tcmalloc_internal::FixedNumaPartitionPolicy::FixedNumaPartitionPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FixedNumaPartitionPolicy(size_t partition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: tcmalloc_internal::FixedNumaPartitionPolicy::partition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: tcmalloc_internal::FixedNumaPartitionPolicy::scaled_partition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t scaled_partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: tcmalloc_internal::partition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: size_t
    signature: size_t partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: tcmalloc_internal::scaled_partition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: size_t
    signature: size_t scaled_partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TCMallocPolicy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - align
    - numa
    argTypes:
    - AlignPolicy
    - NumaPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TCMallocPolicy(AlignPolicy align, NumaPolicy numa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - align
    - access
    - numa
    argTypes:
    - AlignPolicy
    - AccessPolicy
    - NumaPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TCMallocPolicy(AlignPolicy align, AccessPolicy access,\n                                    NumaPolicy
      numa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OomPolicy::template handle_oom<SizeReturningPolicy>
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: tcmalloc_internal::TCMallocPolicy::handle_oom
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - OomPolicy::template handle_oom<SizeReturningPolicy>
    linkageType: ''
    returnType: pointer_type
    signature: pointer_type handle_oom(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: tcmalloc_internal::TCMallocPolicy::allocation_type
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Profile::Sample::AllocationType
    signature: Profile::Sample::AllocationType allocation_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: tcmalloc_internal::TCMallocPolicy::align
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::align
    linkageType: ''
    returnType: size_t
    signature: size_t align() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: tcmalloc_internal::TCMallocPolicy::numa_partition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - partition
    linkageType: ''
    returnType: size_t
    signature: size_t numa_partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scaled_partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: tcmalloc_internal::TCMallocPolicy::scaled_numa_partition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - scaled_partition
    linkageType: ''
    returnType: size_t
    signature: size_t scaled_numa_partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::access
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: tcmalloc_internal::TCMallocPolicy::access
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::access
    linkageType: ''
    returnType: hot_cold_t
    signature: hot_cold_t access() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::is_cold
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: tcmalloc_internal::TCMallocPolicy::is_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::is_cold
    linkageType: ''
    returnType: bool
    signature: bool is_cold() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: tcmalloc_internal::TCMallocPolicy::invoke_hooks
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::invoke_hooks
    linkageType: ''
    returnType: bool
    signature: bool invoke_hooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: tcmalloc_internal::TCMallocPolicy::size_returning
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::size_returning
    linkageType: ''
    returnType: bool
    signature: bool size_returning()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - capacity
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: tcmalloc_internal::TCMallocPolicy::as_pointer
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::as_pointer
    linkageType: ''
    returnType: pointer_type
    signature: pointer_type as_pointer(void* ptr, size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: tcmalloc_internal::TCMallocPolicy::to_pointer
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::to_pointer
    linkageType: ''
    returnType: pointer_type
    signature: pointer_type to_pointer(void* ptr, size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - align
    argTypes:
    - align_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: tcmalloc_internal::TCMallocPolicy::AlignAs
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignAsPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignAsPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy> AlignAs(align_t
      align) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hot_cold
    argTypes:
    - hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: tcmalloc_internal::TCMallocPolicy::AccessAs
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessAsPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessAsPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy> AccessAs(hot_cold_t
      hot_cold) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: tcmalloc_internal::TCMallocPolicy::AccessAsHot
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessHotPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessHotPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy> AccessAsHot()
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: tcmalloc_internal::TCMallocPolicy::AccessAsCold
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessColdPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessColdPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy> AccessAsCold()
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: tcmalloc_internal::TCMallocPolicy::Nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<NullOomPolicy, AlignPolicy, AccessPolicy,\n                           HooksPolicy,
      SizeReturningPolicy, NumaPolicy>"
    signature: "TCMallocPolicy<NullOomPolicy, AlignPolicy, AccessPolicy,\n                           HooksPolicy,
      SizeReturningPolicy, NumaPolicy> Nothrow() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 378
    functionName: tcmalloc_internal::TCMallocPolicy::WithoutHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, NoHooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, NoHooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy> WithoutHooks() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: tcmalloc_internal::TCMallocPolicy::SizeReturning
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          IsSizeReturningPolicy, NumaPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          IsSizeReturningPolicy, NumaPolicy> SizeReturning()
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - partition
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: tcmalloc_internal::TCMallocPolicy::InNumaPartition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, NoHooksPolicy,\n
      \                          SizeReturningPolicy, FixedNumaPartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, NoHooksPolicy,\n
      \                          SizeReturningPolicy, FixedNumaPartitionPolicy> InNumaPartition(size_t
      partition) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::InNumaPartition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:400,1
    - Dst: NumaPartitionFromPointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: tcmalloc_internal::TCMallocPolicy::InSameNumaPartitionAs
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::InNumaPartition
    - NumaPartitionFromPointer
    linkageType: ''
    returnType: auto
    signature: auto InSameNumaPartitionAs(void* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 57
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_allocations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: SanitizerVirtualMemoryOverhead
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerVirtualMemoryOverhead()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: SanitizerMemoryUsageMultiplier
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerMemoryUsageMultiplier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: SanitizerStackSizeMultiplier
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerStackSizeMultiplier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: SanitizerVirtualMemoryOverhead
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerVirtualMemoryOverhead()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: SanitizerMemoryUsageMultiplier
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerMemoryUsageMultiplier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: SanitizerStackSizeMultiplier
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerStackSizeMultiplier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __msan_get_track_origins
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: SanitizerVirtualMemoryOverhead
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - __msan_get_track_origins
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerVirtualMemoryOverhead()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __msan_get_track_origins
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: SanitizerMemoryUsageMultiplier
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - __msan_get_track_origins
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerMemoryUsageMultiplier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: SanitizerStackSizeMultiplier
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerStackSizeMultiplier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: SanitizerVirtualMemoryOverhead
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerVirtualMemoryOverhead()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: SanitizerMemoryUsageMultiplier
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerMemoryUsageMultiplier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: SanitizerStackSizeMultiplier
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerStackSizeMultiplier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: SanitizerVirtualMemoryOverhead
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerVirtualMemoryOverhead()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dfsan_get_track_origins
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: SanitizerMemoryUsageMultiplier
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - dfsan_get_track_origins
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerMemoryUsageMultiplier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dfsan_get_track_origins
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: SanitizerStackSizeMultiplier
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - dfsan_get_track_origins
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerStackSizeMultiplier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: SanitizerVirtualMemoryOverhead
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerVirtualMemoryOverhead()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: SanitizerMemoryUsageMultiplier
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerMemoryUsageMultiplier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: SanitizerStackSizeMultiplier
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SanitizerStackSizeMultiplier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - impl
    argTypes:
    - std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: "MallocExtension::AllocationProfilingToken::AllocationProfilingToken(\n
      \   std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase> impl)"
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MallocExtension::AllocationProfilingToken::AllocationProfilingToken(\n
      \   std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase> impl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: MallocExtension::AllocationProfilingToken::~AllocationProfilingToken()
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MallocExtension::AllocationProfilingToken::~AllocationProfilingToken()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Profile
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:135,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: MallocExtension::AllocationProfilingToken::Stop() &&
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - Profile
    - std::move
    linkageType: ''
    returnType: Profile
    signature: Profile MallocExtension::AllocationProfilingToken::Stop() &&
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - impl
    argTypes:
    - std::unique_ptr<const tcmalloc_internal::ProfileBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: tcmalloc::Profile::Profile
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Profile::Profile(std::unique_ptr<const tcmalloc_internal::ProfileBase>
      impl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Profile::~Profile()
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Profile::~Profile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - absl::FunctionRef<void(const Sample&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: tcmalloc::Profile::Iterate
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::Profile::Iterate
    linkageType: ''
    returnType: void
    signature: void Profile::Iterate(absl::FunctionRef<void(const Sample&)> f) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::Profile::Type
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: tcmalloc::Profile::Type
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::Profile::Type
    linkageType: ''
    returnType: ProfileType
    signature: ProfileType Profile::Type() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::Profile::StartTime
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: tcmalloc::Profile::StartTime
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::Profile::StartTime
    linkageType: ''
    returnType: std::optional<absl::Time>
    signature: std::optional<absl::Time> Profile::StartTime() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:171,1
    - Dst: tcmalloc::Profile::Duration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: tcmalloc::Profile::Duration
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 1
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::Profile::Duration
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Profile::Duration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: AddressRegion::~AddressRegion()
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddressRegion::~AddressRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: tcmalloc::AddressRegionFactory::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - static_cast<void>
    linkageType: ''
    returnType: size_t
    signature: size_t AddressRegionFactory::GetStats(absl::Span<char> buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: tcmalloc::AddressRegionFactory::GetStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - static_cast<void>
    linkageType: ''
    returnType: size_t
    signature: size_t AddressRegionFactory::GetStatsInPbtxt(absl::Span<char> buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: tcmalloc::AddressRegionFactory::InternalBytesAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t AddressRegionFactory::InternalBytesAllocated()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:201,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:202,1
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:205,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 211
    functionName: tcmalloc::AddressRegionFactory::MallocInternal
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - absl::base_internal::LowLevelCallOnce
    - absl::base_internal::LowLevelAlloc::NewArena
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void * AddressRegionFactory::MallocInternal(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 231
    functionName: tcmalloc::MallocExtension::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetStats
    linkageType: ''
    returnType: std::string
    signature: std::string MallocExtension::GetStats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - num_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: tcmalloc::MallocExtension::ReleaseMemoryToSystem
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_ReleaseMemoryToSystem
    linkageType: ''
    returnType: void
    signature: void MallocExtension::ReleaseMemoryToSystem(size_t num_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: tcmalloc::MallocExtension::GetRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetRegionFactory
    linkageType: ''
    returnType: AddressRegionFactory
    signature: AddressRegionFactory * MallocExtension::GetRegionFactory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - factory
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: tcmalloc::MallocExtension::SetRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetRegionFactory
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetRegionFactory(AddressRegionFactory* factory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Profile
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:267,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:270,1
    - Dst: std::unique_ptr<const tcmalloc_internal::ProfileBase>
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:271,1
    - Dst: MallocExtension_Internal_SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:272,1
    - Dst: Profile
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - tcmalloc::ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: tcmalloc::MallocExtension::SnapshotCurrent
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - Profile
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - std::unique_ptr<const tcmalloc_internal::ProfileBase>
    - MallocExtension_Internal_SnapshotCurrent
    linkageType: ''
    returnType: Profile
    signature: Profile MallocExtension::SnapshotCurrent(tcmalloc::ProfileType type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:285,1
    - Dst: std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase>
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:286,1
    - Dst: MallocExtension_Internal_StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 291
    functionName: tcmalloc::MallocExtension::StartAllocationProfiling
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
    - MallocExtension_Internal_StartAllocationProfiling
    - std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase>
    linkageType: ''
    returnType: MallocExtension::AllocationProfilingToken
    signature: MallocExtension::AllocationProfilingToken MallocExtension::StartAllocationProfiling()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:300,1
    - Dst: std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase>
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:301,1
    - Dst: MallocExtension_Internal_StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 306
    functionName: tcmalloc::MallocExtension::StartLifetimeProfiling
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
    - MallocExtension_Internal_StartLifetimeProfiling
    - std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase>
    linkageType: ''
    returnType: MallocExtension::AllocationProfilingToken
    signature: MallocExtension::AllocationProfilingToken MallocExtension::StartLifetimeProfiling()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: tcmalloc::MallocExtension::MarkThreadIdle
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_MarkThreadIdle
    linkageType: ''
    returnType: void
    signature: void MallocExtension::MarkThreadIdle()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_MarkThreadBusy
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 329
    functionName: tcmalloc::MallocExtension::MarkThreadBusy
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_MarkThreadBusy
    linkageType: ''
    returnType: void
    signature: void MallocExtension::MarkThreadBusy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: tcmalloc::MallocExtension::GetMemoryLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetMemoryLimit
    linkageType: ''
    returnType: size_t
    signature: size_t MallocExtension::GetMemoryLimit(LimitKind limit_kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:345,1
    - Dst: MallocExtension_Internal_SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - limit
    - limit_kind
    argTypes:
    - size_t
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: tcmalloc::MallocExtension::SetMemoryLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetMemoryLimit
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetMemoryLimit(const size_t limit, LimitKind
      limit_kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 358
    functionName: tcmalloc::MallocExtension::GetProfileSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetProfileSamplingInterval
    linkageType: ''
    returnType: int64_t
    signature: int64_t MallocExtension::GetProfileSamplingInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - interval
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 367
    functionName: tcmalloc::MallocExtension::SetProfileSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetProfileSamplingInterval
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetProfileSamplingInterval(int64_t interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: tcmalloc::MallocExtension::GetGuardedSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetGuardedSamplingInterval
    linkageType: ''
    returnType: int64_t
    signature: int64_t MallocExtension::GetGuardedSamplingInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - interval
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 391
    functionName: tcmalloc::MallocExtension::SetGuardedSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetGuardedSamplingInterval(int64_t interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_ActivateGuardedSampling
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 399
    functionName: tcmalloc::MallocExtension::ActivateGuardedSampling
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_ActivateGuardedSampling
    linkageType: ''
    returnType: void
    signature: void MallocExtension::ActivateGuardedSampling()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetPerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 411
    functionName: tcmalloc::MallocExtension::PerCpuCachesActive
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetPerCpuCachesActive
    linkageType: ''
    returnType: bool
    signature: bool MallocExtension::PerCpuCachesActive()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetMaxPerCpuCacheSize
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: tcmalloc::MallocExtension::GetMaxPerCpuCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetMaxPerCpuCacheSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t MallocExtension::GetMaxPerCpuCacheSize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetMaxPerCpuCacheSize
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 435
    functionName: tcmalloc::MallocExtension::SetMaxPerCpuCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetMaxPerCpuCacheSize
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetMaxPerCpuCacheSize(int32_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetMaxTotalThreadCacheBytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 447
    functionName: tcmalloc::MallocExtension::GetMaxTotalThreadCacheBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetMaxTotalThreadCacheBytes
    linkageType: ''
    returnType: int64_t
    signature: int64_t MallocExtension::GetMaxTotalThreadCacheBytes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetMaxTotalThreadCacheBytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 459
    functionName: tcmalloc::MallocExtension::SetMaxTotalThreadCacheBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetMaxTotalThreadCacheBytes
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetMaxTotalThreadCacheBytes(int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 471
    functionName: tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetBackgroundProcessActionsEnabled
    linkageType: ''
    returnType: bool
    signature: bool MallocExtension::GetBackgroundProcessActionsEnabled()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 483
    functionName: tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetBackgroundProcessActionsEnabled
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetBackgroundProcessActionsEnabled(bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:488,1
    - Dst: MallocExtension_Internal_GetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:492,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 497
    functionName: tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - MallocExtension_Internal_GetBackgroundProcessSleepInterval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration MallocExtension::GetBackgroundProcessSleepInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 509
    functionName: tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetBackgroundProcessSleepInterval
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetBackgroundProcessSleepInterval(absl::Duration
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:514,1
    - Dst: MallocExtension_Internal_GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:518,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 523
    functionName: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - MallocExtension_Internal_GetSkipSubreleaseShortInterval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration MallocExtension::GetSkipSubreleaseShortInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 535
    functionName: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetSkipSubreleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetSkipSubreleaseShortInterval(absl::Duration
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:540,1
    - Dst: MallocExtension_Internal_GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:544,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 549
    functionName: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetSkipSubreleaseLongInterval
    - absl::ZeroDuration
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration MallocExtension::GetSkipSubreleaseLongInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 561
    functionName: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetSkipSubreleaseLongInterval
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetSkipSubreleaseLongInterval(absl::Duration
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:566,1
    - Dst: MallocExtension_Internal_GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:570,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 575
    functionName: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - MallocExtension_Internal_GetCacheDemandReleaseShortInterval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration MallocExtension::GetCacheDemandReleaseShortInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 587
    functionName: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetCacheDemandReleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetCacheDemandReleaseShortInterval(absl::Duration
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:592,1
    - Dst: MallocExtension_Internal_GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:596,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 601
    functionName: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - MallocExtension_Internal_GetCacheDemandReleaseLongInterval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration MallocExtension::GetCacheDemandReleaseLongInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 613
    functionName: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetCacheDemandReleaseLongInterval
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetCacheDemandReleaseLongInterval(absl::Duration
      value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:620,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:620,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:621,1
    - Dst: SanitizerVirtualMemoryOverhead
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:632,1
    - Dst: SanitizerMemoryUsageMultiplier
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:635,1
    - Dst: SanitizerStackSizeMultiplier
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:638,1
    - Dst: __sanitizer_get_current_allocated_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:641,1
    - Dst: __sanitizer_get_heap_size
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:644,1
    - Dst: __sanitizer_get_free_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:651,1
    - Dst: __sanitizer_get_unmapped_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:654,1
    - Dst: __sanitizer_get_free_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:658,1
    - Dst: __sanitizer_get_unmapped_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:658,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - property
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 663
    functionName: tcmalloc::MallocExtension::GetNumericProperty
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - SanitizerStackSizeMultiplier
    - absl::string_view::data
    - SanitizerVirtualMemoryOverhead
    - __sanitizer_get_current_allocated_bytes
    - SanitizerMemoryUsageMultiplier
    - MallocExtension_Internal_GetNumericProperty
    - __sanitizer_get_free_bytes
    - __sanitizer_get_heap_size
    - __sanitizer_get_unmapped_bytes
    - absl::string_view::size
    linkageType: ''
    returnType: std::optional<size_t>
    signature: "std::optional<size_t> MallocExtension::GetNumericProperty(\n    absl::string_view
      property)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:669,1
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - size
    - hot_cold
    argTypes:
    - size_t
    - hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 674
    functionName: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - nallocx
    - MallocExtension_Internal_GetEstimatedAllocatedSize
    linkageType: ''
    returnType: size_t
    signature: "size_t MallocExtension::GetEstimatedAllocatedSize(size_t size,\n                                                  hot_cold_t
      hot_cold)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 678
    functionName: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - nallocx
    linkageType: ''
    returnType: size_t
    signature: size_t MallocExtension::GetEstimatedAllocatedSize(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:683,1
    - Dst: __sanitizer_get_allocated_size
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 690
    functionName: tcmalloc::MallocExtension::GetAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - __sanitizer_get_allocated_size
    - MallocExtension_Internal_GetAllocatedSize
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> MallocExtension::GetAllocatedSize(const void*
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetOwnership
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:695,1
    - Dst: __sanitizer_get_ownership
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 704
    functionName: tcmalloc::MallocExtension::GetOwnership
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - __sanitizer_get_ownership
    - MallocExtension_Internal_GetOwnership
    linkageType: ''
    returnType: MallocExtension::Ownership
    signature: MallocExtension::Ownership MallocExtension::GetOwnership(const void*
      p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:725,1
    - Dst: MallocExtension_Internal_GetProperties
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:733,1
    - Dst: MallocExtension_Internal_GetExperiments
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 706
    functionDepth: 2
    functionLinenumber: 706
    functionLinenumberEnd: 740
    functionName: tcmalloc::MallocExtension::GetProperties
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetExperiments
    - MallocExtension_Internal_GetProperties
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: std::map<std::string, MallocExtension::Property>
    signature: std::map<std::string, MallocExtension::Property> MallocExtension::GetProperties()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_ReleaseCpuMemory
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 749
    functionName: tcmalloc::MallocExtension::ReleaseCpuMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_ReleaseCpuMemory
    linkageType: ''
    returnType: size_t
    signature: size_t MallocExtension::ReleaseCpuMemory(int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::NeedsProcessBackgroundActions
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:753,1
    - Dst: MallocExtension_Internal_ProcessBackgroundActions
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 757
    functionName: tcmalloc::MallocExtension::ProcessBackgroundActions
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::NeedsProcessBackgroundActions
    - MallocExtension_Internal_ProcessBackgroundActions
    linkageType: ''
    returnType: void
    signature: void MallocExtension::ProcessBackgroundActions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 765
    functionName: tcmalloc::MallocExtension::NeedsProcessBackgroundActions
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MallocExtension::NeedsProcessBackgroundActions()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:770,1
    - Dst: static_cast<MallocExtension::BytesPerSecond>
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 774
    functionName: tcmalloc::MallocExtension::GetBackgroundReleaseRate
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - static_cast<MallocExtension::BytesPerSecond>
    - MallocExtension_Internal_GetBackgroundReleaseRate
    linkageType: ''
    returnType: MallocExtension::BytesPerSecond
    signature: MallocExtension::BytesPerSecond MallocExtension::GetBackgroundReleaseRate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rate
    argTypes:
    - BytesPerSecond
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 782
    functionName: tcmalloc::MallocExtension::SetBackgroundReleaseRate
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetBackgroundReleaseRate
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetBackgroundReleaseRate(BytesPerSecond rate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - impl
    argTypes:
    - std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: "MallocExtension::AllocationProfilingToken::AllocationProfilingToken(\n
      \   std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase> impl)"
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MallocExtension::AllocationProfilingToken::AllocationProfilingToken(\n
      \   std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase> impl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: MallocExtension::AllocationProfilingToken::~AllocationProfilingToken()
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MallocExtension::AllocationProfilingToken::~AllocationProfilingToken()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Profile
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:135,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: MallocExtension::AllocationProfilingToken::Stop() &&
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - Profile
    - std::move
    linkageType: ''
    returnType: Profile
    signature: Profile MallocExtension::AllocationProfilingToken::Stop() &&
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - impl
    argTypes:
    - std::unique_ptr<const tcmalloc_internal::ProfileBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: tcmalloc::Profile::Profile
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Profile::Profile(std::unique_ptr<const tcmalloc_internal::ProfileBase>
      impl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Profile::~Profile()
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Profile::~Profile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - absl::FunctionRef<void(const Sample&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: tcmalloc::Profile::Iterate
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::Profile::Iterate
    linkageType: ''
    returnType: void
    signature: void Profile::Iterate(absl::FunctionRef<void(const Sample&)> f) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::Profile::Type
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: tcmalloc::Profile::Type
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::Profile::Type
    linkageType: ''
    returnType: ProfileType
    signature: ProfileType Profile::Type() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::Profile::StartTime
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: tcmalloc::Profile::StartTime
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::Profile::StartTime
    linkageType: ''
    returnType: std::optional<absl::Time>
    signature: std::optional<absl::Time> Profile::StartTime() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:171,1
    - Dst: tcmalloc::Profile::Duration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: tcmalloc::Profile::Duration
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 2
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::Profile::Duration
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Profile::Duration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: AddressRegion::~AddressRegion()
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddressRegion::~AddressRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: tcmalloc::AddressRegionFactory::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - static_cast<void>
    linkageType: ''
    returnType: size_t
    signature: size_t AddressRegionFactory::GetStats(absl::Span<char> buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: tcmalloc::AddressRegionFactory::GetStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - static_cast<void>
    linkageType: ''
    returnType: size_t
    signature: size_t AddressRegionFactory::GetStatsInPbtxt(absl::Span<char> buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: tcmalloc::AddressRegionFactory::InternalBytesAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t AddressRegionFactory::InternalBytesAllocated()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:201,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:202,1
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:205,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 211
    functionName: tcmalloc::AddressRegionFactory::MallocInternal
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - absl::base_internal::LowLevelCallOnce
    - absl::base_internal::LowLevelAlloc::NewArena
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void * AddressRegionFactory::MallocInternal(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 231
    functionName: tcmalloc::MallocExtension::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetStats
    linkageType: ''
    returnType: std::string
    signature: std::string MallocExtension::GetStats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - num_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: tcmalloc::MallocExtension::ReleaseMemoryToSystem
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_ReleaseMemoryToSystem
    linkageType: ''
    returnType: void
    signature: void MallocExtension::ReleaseMemoryToSystem(size_t num_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: tcmalloc::MallocExtension::GetRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetRegionFactory
    linkageType: ''
    returnType: AddressRegionFactory
    signature: AddressRegionFactory * MallocExtension::GetRegionFactory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - factory
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: tcmalloc::MallocExtension::SetRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetRegionFactory
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetRegionFactory(AddressRegionFactory* factory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Profile
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:267,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:270,1
    - Dst: std::unique_ptr<const tcmalloc_internal::ProfileBase>
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:271,1
    - Dst: MallocExtension_Internal_SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:272,1
    - Dst: Profile
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - tcmalloc::ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: tcmalloc::MallocExtension::SnapshotCurrent
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - Profile
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - std::unique_ptr<const tcmalloc_internal::ProfileBase>
    - MallocExtension_Internal_SnapshotCurrent
    linkageType: ''
    returnType: Profile
    signature: Profile MallocExtension::SnapshotCurrent(tcmalloc::ProfileType type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:285,1
    - Dst: std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase>
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:286,1
    - Dst: MallocExtension_Internal_StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 291
    functionName: tcmalloc::MallocExtension::StartAllocationProfiling
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
    - MallocExtension_Internal_StartAllocationProfiling
    - std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase>
    linkageType: ''
    returnType: MallocExtension::AllocationProfilingToken
    signature: MallocExtension::AllocationProfilingToken MallocExtension::StartAllocationProfiling()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:300,1
    - Dst: std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase>
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:301,1
    - Dst: MallocExtension_Internal_StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 306
    functionName: tcmalloc::MallocExtension::StartLifetimeProfiling
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
    - MallocExtension_Internal_StartLifetimeProfiling
    - std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase>
    linkageType: ''
    returnType: MallocExtension::AllocationProfilingToken
    signature: MallocExtension::AllocationProfilingToken MallocExtension::StartLifetimeProfiling()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: tcmalloc::MallocExtension::MarkThreadIdle
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_MarkThreadIdle
    linkageType: ''
    returnType: void
    signature: void MallocExtension::MarkThreadIdle()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_MarkThreadBusy
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 329
    functionName: tcmalloc::MallocExtension::MarkThreadBusy
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_MarkThreadBusy
    linkageType: ''
    returnType: void
    signature: void MallocExtension::MarkThreadBusy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: tcmalloc::MallocExtension::GetMemoryLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetMemoryLimit
    linkageType: ''
    returnType: size_t
    signature: size_t MallocExtension::GetMemoryLimit(LimitKind limit_kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:345,1
    - Dst: MallocExtension_Internal_SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - limit
    - limit_kind
    argTypes:
    - size_t
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: tcmalloc::MallocExtension::SetMemoryLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetMemoryLimit
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetMemoryLimit(const size_t limit, LimitKind
      limit_kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 358
    functionName: tcmalloc::MallocExtension::GetProfileSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetProfileSamplingInterval
    linkageType: ''
    returnType: int64_t
    signature: int64_t MallocExtension::GetProfileSamplingInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - interval
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 367
    functionName: tcmalloc::MallocExtension::SetProfileSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetProfileSamplingInterval
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetProfileSamplingInterval(int64_t interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: tcmalloc::MallocExtension::GetGuardedSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetGuardedSamplingInterval
    linkageType: ''
    returnType: int64_t
    signature: int64_t MallocExtension::GetGuardedSamplingInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - interval
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 391
    functionName: tcmalloc::MallocExtension::SetGuardedSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetGuardedSamplingInterval(int64_t interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_ActivateGuardedSampling
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 399
    functionName: tcmalloc::MallocExtension::ActivateGuardedSampling
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_ActivateGuardedSampling
    linkageType: ''
    returnType: void
    signature: void MallocExtension::ActivateGuardedSampling()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetPerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 411
    functionName: tcmalloc::MallocExtension::PerCpuCachesActive
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetPerCpuCachesActive
    linkageType: ''
    returnType: bool
    signature: bool MallocExtension::PerCpuCachesActive()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetMaxPerCpuCacheSize
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: tcmalloc::MallocExtension::GetMaxPerCpuCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetMaxPerCpuCacheSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t MallocExtension::GetMaxPerCpuCacheSize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetMaxPerCpuCacheSize
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 435
    functionName: tcmalloc::MallocExtension::SetMaxPerCpuCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetMaxPerCpuCacheSize
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetMaxPerCpuCacheSize(int32_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetMaxTotalThreadCacheBytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 447
    functionName: tcmalloc::MallocExtension::GetMaxTotalThreadCacheBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetMaxTotalThreadCacheBytes
    linkageType: ''
    returnType: int64_t
    signature: int64_t MallocExtension::GetMaxTotalThreadCacheBytes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetMaxTotalThreadCacheBytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 459
    functionName: tcmalloc::MallocExtension::SetMaxTotalThreadCacheBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetMaxTotalThreadCacheBytes
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetMaxTotalThreadCacheBytes(int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 471
    functionName: tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetBackgroundProcessActionsEnabled
    linkageType: ''
    returnType: bool
    signature: bool MallocExtension::GetBackgroundProcessActionsEnabled()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 483
    functionName: tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetBackgroundProcessActionsEnabled
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetBackgroundProcessActionsEnabled(bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:488,1
    - Dst: MallocExtension_Internal_GetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:492,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 497
    functionName: tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - MallocExtension_Internal_GetBackgroundProcessSleepInterval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration MallocExtension::GetBackgroundProcessSleepInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 509
    functionName: tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetBackgroundProcessSleepInterval
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetBackgroundProcessSleepInterval(absl::Duration
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:514,1
    - Dst: MallocExtension_Internal_GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:518,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 523
    functionName: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - MallocExtension_Internal_GetSkipSubreleaseShortInterval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration MallocExtension::GetSkipSubreleaseShortInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 535
    functionName: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetSkipSubreleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetSkipSubreleaseShortInterval(absl::Duration
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:540,1
    - Dst: MallocExtension_Internal_GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:544,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 549
    functionName: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetSkipSubreleaseLongInterval
    - absl::ZeroDuration
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration MallocExtension::GetSkipSubreleaseLongInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 561
    functionName: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetSkipSubreleaseLongInterval
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetSkipSubreleaseLongInterval(absl::Duration
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:566,1
    - Dst: MallocExtension_Internal_GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:570,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 575
    functionName: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - MallocExtension_Internal_GetCacheDemandReleaseShortInterval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration MallocExtension::GetCacheDemandReleaseShortInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 587
    functionName: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetCacheDemandReleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetCacheDemandReleaseShortInterval(absl::Duration
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:592,1
    - Dst: MallocExtension_Internal_GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:596,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 601
    functionName: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - MallocExtension_Internal_GetCacheDemandReleaseLongInterval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration MallocExtension::GetCacheDemandReleaseLongInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 613
    functionName: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetCacheDemandReleaseLongInterval
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetCacheDemandReleaseLongInterval(absl::Duration
      value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:620,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:620,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:621,1
    - Dst: SanitizerVirtualMemoryOverhead
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:632,1
    - Dst: SanitizerMemoryUsageMultiplier
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:635,1
    - Dst: SanitizerStackSizeMultiplier
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:638,1
    - Dst: __sanitizer_get_current_allocated_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:641,1
    - Dst: __sanitizer_get_heap_size
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:644,1
    - Dst: __sanitizer_get_free_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:651,1
    - Dst: __sanitizer_get_unmapped_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:654,1
    - Dst: __sanitizer_get_free_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:658,1
    - Dst: __sanitizer_get_unmapped_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:658,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - property
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 663
    functionName: tcmalloc::MallocExtension::GetNumericProperty
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 1
    functionsReached:
    - SanitizerStackSizeMultiplier
    - absl::string_view::data
    - SanitizerVirtualMemoryOverhead
    - __sanitizer_get_current_allocated_bytes
    - SanitizerMemoryUsageMultiplier
    - MallocExtension_Internal_GetNumericProperty
    - __sanitizer_get_free_bytes
    - __sanitizer_get_heap_size
    - __sanitizer_get_unmapped_bytes
    - absl::string_view::size
    linkageType: ''
    returnType: std::optional<size_t>
    signature: "std::optional<size_t> MallocExtension::GetNumericProperty(\n    absl::string_view
      property)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:669,1
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - size
    - hot_cold
    argTypes:
    - size_t
    - hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 674
    functionName: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - nallocx
    - MallocExtension_Internal_GetEstimatedAllocatedSize
    linkageType: ''
    returnType: size_t
    signature: "size_t MallocExtension::GetEstimatedAllocatedSize(size_t size,\n                                                  hot_cold_t
      hot_cold)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 678
    functionName: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - nallocx
    linkageType: ''
    returnType: size_t
    signature: size_t MallocExtension::GetEstimatedAllocatedSize(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:683,1
    - Dst: __sanitizer_get_allocated_size
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 690
    functionName: tcmalloc::MallocExtension::GetAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - __sanitizer_get_allocated_size
    - MallocExtension_Internal_GetAllocatedSize
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> MallocExtension::GetAllocatedSize(const void*
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetOwnership
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:695,1
    - Dst: __sanitizer_get_ownership
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 704
    functionName: tcmalloc::MallocExtension::GetOwnership
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - __sanitizer_get_ownership
    - MallocExtension_Internal_GetOwnership
    linkageType: ''
    returnType: MallocExtension::Ownership
    signature: MallocExtension::Ownership MallocExtension::GetOwnership(const void*
      p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:725,1
    - Dst: MallocExtension_Internal_GetProperties
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:733,1
    - Dst: MallocExtension_Internal_GetExperiments
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 706
    functionDepth: 2
    functionLinenumber: 706
    functionLinenumberEnd: 740
    functionName: tcmalloc::MallocExtension::GetProperties
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetExperiments
    - MallocExtension_Internal_GetProperties
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: std::map<std::string, MallocExtension::Property>
    signature: std::map<std::string, MallocExtension::Property> MallocExtension::GetProperties()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_ReleaseCpuMemory
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 749
    functionName: tcmalloc::MallocExtension::ReleaseCpuMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_ReleaseCpuMemory
    linkageType: ''
    returnType: size_t
    signature: size_t MallocExtension::ReleaseCpuMemory(int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::NeedsProcessBackgroundActions
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:753,1
    - Dst: MallocExtension_Internal_ProcessBackgroundActions
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 757
    functionName: tcmalloc::MallocExtension::ProcessBackgroundActions
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::NeedsProcessBackgroundActions
    - MallocExtension_Internal_ProcessBackgroundActions
    linkageType: ''
    returnType: void
    signature: void MallocExtension::ProcessBackgroundActions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 765
    functionName: tcmalloc::MallocExtension::NeedsProcessBackgroundActions
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MallocExtension::NeedsProcessBackgroundActions()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:770,1
    - Dst: static_cast<MallocExtension::BytesPerSecond>
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 774
    functionName: tcmalloc::MallocExtension::GetBackgroundReleaseRate
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - static_cast<MallocExtension::BytesPerSecond>
    - MallocExtension_Internal_GetBackgroundReleaseRate
    linkageType: ''
    returnType: MallocExtension::BytesPerSecond
    signature: MallocExtension::BytesPerSecond MallocExtension::GetBackgroundReleaseRate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rate
    argTypes:
    - BytesPerSecond
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 782
    functionName: tcmalloc::MallocExtension::SetBackgroundReleaseRate
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_SetBackgroundReleaseRate
    linkageType: ''
    returnType: void
    signature: void MallocExtension::SetBackgroundReleaseRate(BytesPerSecond rate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sanitizer_get_estimated_allocated_size
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 795
    functionName: nallocx
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 4
    functionsReached:
    - __sanitizer_get_estimated_allocated_size
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: "ABSL_ATTRIBUTE_WEAK nallocx(size_t size,\n                                                           int)
      noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 803
    functionName: sdallocx
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: "ABSL_ATTRIBUTE_WEAK sdallocx(void* ptr, size_t,\n                                                          int)
      noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 808
    functionName: TCMALLOC_FREE_SIZED_NOEXCEPT
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: ABSL_ATTRIBUTE_WEAK TCMALLOC_FREE_SIZED_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 813
    functionName: TCMALLOC_FREE_SIZED_NOEXCEPT
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: ABSL_ATTRIBUTE_WEAK TCMALLOC_FREE_SIZED_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 818
    functionName: 'ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t

      __size_returning_new(size_t size)'
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: 'ABSL_ATTRIBUTE_WEAK ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t

      __size_returning_new(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: 'ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t

      __size_returning_new_hot_cold(size_t size, __hot_cold_t)'
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: 'ABSL_ATTRIBUTE_WEAK ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t

      __size_returning_new_hot_cold(size_t size, __hot_cold_t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 829
    functionName: 'ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t

      tcmalloc_size_returning_operator_new_nothrow(size_t size) noexcept'
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: 'ABSL_ATTRIBUTE_WEAK ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t

      tcmalloc_size_returning_operator_new_nothrow(size_t size) noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 836
    functionName: "ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t\ntcmalloc_size_returning_operator_new_hot_cold_nothrow(size_t
      size,\n                                                      __hot_cold_t) noexcept"
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: "ABSL_ATTRIBUTE_WEAK ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t\ntcmalloc_size_returning_operator_new_hot_cold_nothrow(size_t
      size,\n                                                      __hot_cold_t) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: 'ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t

      __size_returning_new_aligned(size_t size, std::align_val_t alignment)'
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: 'ABSL_ATTRIBUTE_WEAK ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t

      __size_returning_new_aligned(size_t size, std::align_val_t alignment)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 850
    functionName: "ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t\ntcmalloc_size_returning_operator_new_aligned_nothrow(\n
      \   size_t size, std::align_val_t alignment) noexcept"
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: "ABSL_ATTRIBUTE_WEAK ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t\ntcmalloc_size_returning_operator_new_aligned_nothrow(\n
      \   size_t size, std::align_val_t alignment) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 856
    functionName: "ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t\n__size_returning_new_aligned_hot_cold(size_t
      size, std::align_val_t alignment,\n                                      __hot_cold_t)"
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: "ABSL_ATTRIBUTE_WEAK ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t\n__size_returning_new_aligned_hot_cold(size_t
      size, std::align_val_t alignment,\n                                      __hot_cold_t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 863
    functionName: "ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t\ntcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow(\n
      \   size_t size, std::align_val_t alignment, __hot_cold_t) noexcept"
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: "ABSL_ATTRIBUTE_WEAK ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t\ntcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow(\n
      \   size_t size, std::align_val_t alignment, __hot_cold_t) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 870
    functionName: "* operator new(size_t size,\n                                       tcmalloc::hot_cold_t)
      noexcept(false)"
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: "ABSL_ATTRIBUTE_WEAK * operator new(size_t size,\n                                       tcmalloc::hot_cold_t)
      noexcept(false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 875
    functionName: "* operator new(size_t size, const std::nothrow_t&,\n                                       tcmalloc::hot_cold_t)
      noexcept"
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: "ABSL_ATTRIBUTE_WEAK * operator new(size_t size, const std::nothrow_t&,\n
      \                                      tcmalloc::hot_cold_t) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 880
    functionName: "* operator new[](size_t size,\n                                         tcmalloc::hot_cold_t)
      noexcept(false)"
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - ::operator new[]
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: "ABSL_ATTRIBUTE_WEAK * operator new[](size_t size,\n                                         tcmalloc::hot_cold_t)
      noexcept(false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 885
    functionName: "* operator new[](size_t size, const std::nothrow_t&,\n                                         tcmalloc::hot_cold_t)
      noexcept"
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - ::operator new[]
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: "ABSL_ATTRIBUTE_WEAK * operator new[](size_t size, const std::nothrow_t&,\n
      \                                        tcmalloc::hot_cold_t) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 891
    functionName: "* operator new(size_t size, std::align_val_t alignment,\n                                       tcmalloc::hot_cold_t)
      noexcept(false)"
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: "ABSL_ATTRIBUTE_WEAK * operator new(size_t size, std::align_val_t alignment,\n
      \                                      tcmalloc::hot_cold_t) noexcept(false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 897
    functionName: "* operator new(size_t size, std::align_val_t alignment,\n                                       const
      std::nothrow_t&,\n                                       tcmalloc::hot_cold_t)
      noexcept"
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: "ABSL_ATTRIBUTE_WEAK * operator new(size_t size, std::align_val_t alignment,\n
      \                                      const std::nothrow_t&,\n                                       tcmalloc::hot_cold_t)
      noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 903
    functionName: "* operator new[](size_t size,\n                                         std::align_val_t
      alignment,\n                                         tcmalloc::hot_cold_t) noexcept(false)"
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - ::operator new[]
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: "ABSL_ATTRIBUTE_WEAK * operator new[](size_t size,\n                                         std::align_val_t
      alignment,\n                                         tcmalloc::hot_cold_t) noexcept(false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 910
    functionName: "* operator new[](size_t size,\n                                         std::align_val_t
      alignment,\n                                         const std::nothrow_t&,\n
      \                                        tcmalloc::hot_cold_t) noexcept"
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - ::operator new[]
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: "ABSL_ATTRIBUTE_WEAK * operator new[](size_t size,\n                                         std::align_val_t
      alignment,\n                                         const std::nothrow_t&,\n
      \                                        tcmalloc::hot_cold_t) noexcept"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_LOCKS_EXCLUDED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:61,1
    - Dst: ABSL_LOCKS_EXCLUDED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:66,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:70,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:108,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:111,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: tcmalloc_internal::LinkedList::PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:119,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:120,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:120,1
    - Dst: ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:146,1
    - Dst: ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:208,1
    - Dst: ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:215,1
    - Dst: ABSL_GUARDED_BY
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:218,1
    - Dst: ABSL_GUARDED_BY
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:219,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:224,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:228,1
    - Dst: FreeList*::TryPop
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:228,1
    - Dst: FetchFromTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:233,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:239,1
    - Dst: FreeList*::Push
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:242,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:244,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:244,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:244,1
    - Dst: DeallocateSlow
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:250,1
    - Dst: GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:260,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:261,1
    - Dst: CreateCacheIfNecessary
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 265
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - CreateCacheIfNecessary
    - FreeList*::TryPop
    - FreeList*::Push
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc_internal::LinkedList::PopBatch
    - DeallocateSlow
    - GetCacheIfPresent
    - length
    - ABSL_PREDICT_TRUE
    - static_cast<ssize_t>
    - load
    - FetchFromTransferCache
    - ABSL_GUARDED_BY
    - sizemap
    - FreeList*::max_length
    - ABSL_LOCKS_EXCLUDED
    - ABSL_EXCLUSIVE_LOCKS_REQUIRED
    - FreeList*::length
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ABSL_LOCKS_EXCLUDED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:61,1
    - Dst: tcmalloc_internal::ABSL_LOCKS_EXCLUDED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:66,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:70,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:108,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:111,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: tcmalloc_internal::LinkedList::PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:119,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:120,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:120,1
    - Dst: tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:146,1
    - Dst: tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:208,1
    - Dst: tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:215,1
    - Dst: ABSL_GUARDED_BY
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:218,1
    - Dst: ABSL_GUARDED_BY
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 220
    functionName: tcmalloc_internal::ThreadCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    - load
    - ABSL_GUARDED_BY
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc_internal::LinkedList::PopBatch
    - length
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    linkageType: ''
    returnType: class ABSL_CACHELINE_ALIGNED
    signature: class ABSL_CACHELINE_ALIGNED ThreadCache
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(threadcache_lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: tcmalloc_internal::FreeList::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::FreeList::max_length
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t max_length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_max
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: tcmalloc_internal::FreeList::set_max_length
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_max_length(size_t new_max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::FreeList::length_overages
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t length_overages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: tcmalloc_internal::FreeList::set_length_overages
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_length_overages(size_t new_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: tcmalloc_internal::FreeList::lowwatermark
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lowwatermark() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::FreeList::clear_lowwatermark
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - length
    linkageType: ''
    returnType: void
    signature: void clear_lowwatermark()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:111,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ret
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: tcmalloc_internal::FreeList::TryPop
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - length
    - tcmalloc_internal::LinkedList::TryPop
    - ABSL_PREDICT_TRUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE TryPop(void** ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::LinkedList::PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:119,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:120,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - N
    - batch
    argTypes:
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: tcmalloc_internal::FreeList::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - length
    - tcmalloc_internal::LinkedList::PopBatch
    linkageType: ''
    returnType: void
    signature: void PopBatch(int N, void** batch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:224,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:228,1
    - Dst: FreeList*::TryPop
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:228,1
    - Dst: tcmalloc_internal::ThreadCache::FetchFromTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: tcmalloc_internal::ThreadCache::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - FreeList*::TryPop
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::ThreadCache::FetchFromTransferCache
    - sizemap
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * ThreadCache::Allocate(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:239,1
    - Dst: FreeList*::Push
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:242,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:244,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:244,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:244,1
    - Dst: DeallocateSlow
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 252
    functionName: 'ABSL_ATTRIBUTE_ALWAYS_INLINE

      ThreadCache::Deallocate(void* ptr, size_t size_class)'
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - static_cast<ssize_t>
    - FreeList*::max_length
    - sizemap
    - FreeList*::Push
    - DeallocateSlow
    - FreeList*::length
    linkageType: ''
    returnType: void
    signature: 'void ABSL_ATTRIBUTE_ALWAYS_INLINE

      ThreadCache::Deallocate(void* ptr, size_t size_class)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: '* ABSL_ATTRIBUTE_ALWAYS_INLINE

      ThreadCache::GetCacheIfPresent()'
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadCache
    signature: 'ThreadCache * ABSL_ATTRIBUTE_ALWAYS_INLINE

      ThreadCache::GetCacheIfPresent()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:260,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:261,1
    - Dst: tcmalloc_internal::ThreadCache::CreateCacheIfNecessary
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: tcmalloc_internal::ThreadCache::GetCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::CreateCacheIfNecessary
    - ABSL_PREDICT_TRUE
    - GetCacheIfPresent
    linkageType: ''
    returnType: ThreadCache
    signature: ThreadCache * ThreadCache::GetCache()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ABSL_LOCKS_EXCLUDED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:61,1
    - Dst: tcmalloc_internal::ABSL_LOCKS_EXCLUDED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:66,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:70,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:108,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:111,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: tcmalloc_internal::LinkedList::PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:119,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:120,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:120,1
    - Dst: tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:146,1
    - Dst: tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:208,1
    - Dst: tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:215,1
    - Dst: ABSL_GUARDED_BY
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:218,1
    - Dst: ABSL_GUARDED_BY
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 220
    functionName: tcmalloc_internal::ThreadCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    - load
    - ABSL_GUARDED_BY
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc_internal::LinkedList::PopBatch
    - length
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    linkageType: ''
    returnType: class ABSL_CACHELINE_ALIGNED
    signature: class ABSL_CACHELINE_ALIGNED ThreadCache
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 2
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(threadcache_lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: tcmalloc_internal::FreeList::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::FreeList::max_length
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t max_length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_max
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: tcmalloc_internal::FreeList::set_max_length
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_max_length(size_t new_max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::FreeList::length_overages
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t length_overages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: tcmalloc_internal::FreeList::set_length_overages
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_length_overages(size_t new_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: tcmalloc_internal::FreeList::lowwatermark
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lowwatermark() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::FreeList::clear_lowwatermark
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - length
    linkageType: ''
    returnType: void
    signature: void clear_lowwatermark()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:111,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ret
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: tcmalloc_internal::FreeList::TryPop
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - length
    - tcmalloc_internal::LinkedList::TryPop
    - ABSL_PREDICT_TRUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE TryPop(void** ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::LinkedList::PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:119,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:120,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - N
    - batch
    argTypes:
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: tcmalloc_internal::FreeList::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - length
    - tcmalloc_internal::LinkedList::PopBatch
    linkageType: ''
    returnType: void
    signature: void PopBatch(int N, void** batch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:224,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:228,1
    - Dst: FreeList*::TryPop
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:228,1
    - Dst: tcmalloc_internal::ThreadCache::FetchFromTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: tcmalloc_internal::ThreadCache::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - FreeList*::TryPop
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::ThreadCache::FetchFromTransferCache
    - sizemap
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * ThreadCache::Allocate(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:239,1
    - Dst: FreeList*::Push
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:242,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:244,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:244,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:244,1
    - Dst: DeallocateSlow
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 252
    functionName: 'ABSL_ATTRIBUTE_ALWAYS_INLINE

      ThreadCache::Deallocate(void* ptr, size_t size_class)'
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - static_cast<ssize_t>
    - FreeList*::max_length
    - sizemap
    - FreeList*::Push
    - DeallocateSlow
    - FreeList*::length
    linkageType: ''
    returnType: void
    signature: 'void ABSL_ATTRIBUTE_ALWAYS_INLINE

      ThreadCache::Deallocate(void* ptr, size_t size_class)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: '* ABSL_ATTRIBUTE_ALWAYS_INLINE

      ThreadCache::GetCacheIfPresent()'
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadCache
    signature: 'ThreadCache * ABSL_ATTRIBUTE_ALWAYS_INLINE

      ThreadCache::GetCacheIfPresent()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:260,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:261,1
    - Dst: tcmalloc_internal::ThreadCache::CreateCacheIfNecessary
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: tcmalloc_internal::ThreadCache::GetCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::CreateCacheIfNecessary
    - ABSL_PREDICT_TRUE
    - GetCacheIfPresent
    linkageType: ''
    returnType: ThreadCache
    signature: ThreadCache * ThreadCache::GetCache()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/profile_marshaler.cc:29,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/profile_marshaler.cc:30,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/profile_marshaler.cc:31,1
    - Dst: SerializeToZeroCopyStream
      Src: /src/tcmalloc/tcmalloc/profile_marshaler.cc:37,1
    - Dst: absl::InternalError
      Src: /src/tcmalloc/tcmalloc/profile_marshaler.cc:38,1
    - Dst: google::protobuf::io::GzipOutputStream::Close
      Src: /src/tcmalloc/tcmalloc/profile_marshaler.cc:40,1
    - Dst: absl::InternalError
      Src: /src/tcmalloc/tcmalloc/profile_marshaler.cc:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' profile'
    argTypes:
    - tcmalloc::Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: tcmalloc::Marshal
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_marshaler.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - absl::InternalError
    - google::protobuf::io::GzipOutputStream::Close
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - auto::ok
    - SerializeToZeroCopyStream
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: absl::StatusOr<std::string> Marshal(const tcmalloc::Profile& profile)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/profile_marshaler.cc:29,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/profile_marshaler.cc:30,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/profile_marshaler.cc:31,1
    - Dst: SerializeToZeroCopyStream
      Src: /src/tcmalloc/tcmalloc/profile_marshaler.cc:37,1
    - Dst: absl::InternalError
      Src: /src/tcmalloc/tcmalloc/profile_marshaler.cc:38,1
    - Dst: google::protobuf::io::GzipOutputStream::Close
      Src: /src/tcmalloc/tcmalloc/profile_marshaler.cc:40,1
    - Dst: absl::InternalError
      Src: /src/tcmalloc/tcmalloc/profile_marshaler.cc:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' profile'
    argTypes:
    - tcmalloc::Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: tcmalloc::Marshal
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_marshaler.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - absl::InternalError
    - google::protobuf::io::GzipOutputStream::Close
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - auto::ok
    - SerializeToZeroCopyStream
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: absl::StatusOr<std::string> Marshal(const tcmalloc::Profile& profile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewWithSize
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:64,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:64,1
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:65,1
    - Dst: LockAndAllocMemory
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:71,1
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:72,1
    - Dst: T::T
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:72,1
    - Dst: ~T
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:76,1
    - Dst: LockAndDeleteMemory
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:77,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:89,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:89,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:96,1
    - Dst: reinterpret_cast<T*>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:98,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:98,1
    - Dst: ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:99,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:104,1
    - Dst: reinterpret_cast<T**>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:107,1
    - Dst: ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:108,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:115,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 138
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    functionUses: 0
    functionsReached:
    - static_cast<std::align_val_t>
    - ABSL_PREDICT_FALSE
    - LockAndDeleteMemory
    - NewWithSize
    - ~T
    - reinterpret_cast<T*>
    - Alloc
    - ASAN_UNPOISON_MEMORY_REGION
    - static_cast<size_t>
    - reinterpret_cast<T**>
    - reinterpret_cast<void**>
    - T::T
    - LockAndAllocMemory
    - ASAN_POISON_MEMORY_REGION
    - ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
    - std::forward<Args>
    - TC_ASSERT_GE
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' arena ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - Arena
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: tcmalloc_internal::MetadataObjectAllocator::MetadataObjectAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MetadataObjectAllocator(\n      Arena& arena ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MetadataObjectAllocator::NewWithSize
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:64,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:64,1
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: tcmalloc_internal::MetadataObjectAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - tcmalloc_internal::MetadataObjectAllocator::NewWithSize
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_RETURNS_NONNULL
    signature: ABSL_ATTRIBUTE_RETURNS_NONNULL * New(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MetadataObjectAllocator::LockAndAllocMemory
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:71,1
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:72,1
    - Dst: T::T
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::MetadataObjectAllocator::NewWithSize
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::MetadataObjectAllocator::LockAndAllocMemory
    - std::forward<Args>
    - T::T
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_RETURNS_NONNULL
    signature: "ABSL_ATTRIBUTE_RETURNS_NONNULL * NewWithSize(\n      size_t size,
      std::align_val_t align, Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ~T
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:76,1
    - Dst: LockAndDeleteMemory
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::MetadataObjectAllocator::ABSL_ATTRIBUTE_NONNULL
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    functionUses: 0
    functionsReached:
    - LockAndDeleteMemory
    - ~T
    linkageType: ''
    returnType: void
    signature: void ABSL_ATTRIBUTE_NONNULL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: tcmalloc_internal::MetadataObjectAllocator::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatorStats
    signature: AllocatorStats stats() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:89,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:89,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:96,1
    - Dst: reinterpret_cast<T*>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:98,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:98,1
    - Dst: ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:99,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:104,1
    - Dst: reinterpret_cast<T**>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:107,1
    - Dst: ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: tcmalloc_internal::MetadataObjectAllocator::LockAndAllocMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    functionUses: 1
    functionsReached:
    - Alloc
    - ABSL_PREDICT_FALSE
    - reinterpret_cast<T*>
    - ASAN_UNPOISON_MEMORY_REGION
    - reinterpret_cast<T**>
    - static_cast<size_t>
    - ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
    - TC_ASSERT_GE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_RETURNS_NONNULL
    signature: "ABSL_ATTRIBUTE_RETURNS_NONNULL * LockAndAllocMemory(size_t size,\n
      \                                                      std::align_val_t align)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:115,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: tcmalloc_internal::MetadataObjectAllocator::ABSL_ATTRIBUTE_NONNULL
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    functionUses: 0
    functionsReached:
    - ASAN_POISON_MEMORY_REGION
    - reinterpret_cast<void**>
    linkageType: ''
    returnType: void
    signature: void ABSL_ATTRIBUTE_NONNULL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' arena ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - Arena
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: tcmalloc_internal::MetadataObjectAllocator::MetadataObjectAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MetadataObjectAllocator(\n      Arena& arena ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MetadataObjectAllocator::NewWithSize
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:64,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:64,1
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: tcmalloc_internal::MetadataObjectAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - tcmalloc_internal::MetadataObjectAllocator::NewWithSize
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_RETURNS_NONNULL
    signature: ABSL_ATTRIBUTE_RETURNS_NONNULL * New(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MetadataObjectAllocator::LockAndAllocMemory
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:71,1
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:72,1
    - Dst: T::T
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::MetadataObjectAllocator::NewWithSize
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::MetadataObjectAllocator::LockAndAllocMemory
    - std::forward<Args>
    - T::T
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_RETURNS_NONNULL
    signature: "ABSL_ATTRIBUTE_RETURNS_NONNULL * NewWithSize(\n      size_t size,
      std::align_val_t align, Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ~T
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:76,1
    - Dst: LockAndDeleteMemory
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::MetadataObjectAllocator::ABSL_ATTRIBUTE_NONNULL
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    functionUses: 0
    functionsReached:
    - LockAndDeleteMemory
    - ~T
    linkageType: ''
    returnType: void
    signature: void ABSL_ATTRIBUTE_NONNULL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: tcmalloc_internal::MetadataObjectAllocator::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatorStats
    signature: AllocatorStats stats() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:89,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:89,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:96,1
    - Dst: reinterpret_cast<T*>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:98,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:98,1
    - Dst: ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:99,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:104,1
    - Dst: reinterpret_cast<T**>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:107,1
    - Dst: ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: tcmalloc_internal::MetadataObjectAllocator::LockAndAllocMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    functionUses: 2
    functionsReached:
    - Alloc
    - ABSL_PREDICT_FALSE
    - reinterpret_cast<T*>
    - ASAN_UNPOISON_MEMORY_REGION
    - reinterpret_cast<T**>
    - static_cast<size_t>
    - ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
    - TC_ASSERT_GE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_RETURNS_NONNULL
    signature: "ABSL_ATTRIBUTE_RETURNS_NONNULL * LockAndAllocMemory(size_t size,\n
      \                                                      std::align_val_t align)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:115,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/tcmalloc/tcmalloc/metadata_object_allocator.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: tcmalloc_internal::MetadataObjectAllocator::ABSL_ATTRIBUTE_NONNULL
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    functionUses: 0
    functionsReached:
    - ASAN_POISON_MEMORY_REGION
    - reinterpret_cast<void**>
    linkageType: ''
    returnType: void
    signature: void ABSL_ATTRIBUTE_NONNULL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/want_hpaa.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: tcmalloc_internal::default_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/want_hpaa.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: ABSL_ATTRIBUTE_UNUSED default_subrelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: tcmalloc_internal::default_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/want_hpaa.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: ABSL_ATTRIBUTE_UNUSED default_subrelease()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:41,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:42,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:59,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:71,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:81,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:81,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:82,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:82,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:88,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:91,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:92,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:93,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:93,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:94,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:94,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:105,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:106,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:106,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:106,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:108,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:115,1
    - Dst: CentralFreelistEnv::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:119,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:120,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:120,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:120,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:122,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:123,1
    - Dst: tcmalloc_internal::SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:123,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:125,1
    - Dst: tcmalloc_internal::SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:125,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:132,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:133,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:134,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:135,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:138,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:139,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:146,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:149,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:150,1
    - Dst: FUZZ_TEST
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:155,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 159
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::vector::insert
    - std::min
    - CentralFreelistEnv::central_freelist
    - std::vector::begin
    - size
    - CentralFreelistEnv::objects_per_span
    - CHECK_EQ
    - data
    - CHECK_GT
    - absl::MakeSpan
    - std::vector::resize
    - FUZZ_TEST
    - memcpy
    - std::string::resize
    - std::string::size
    - std::vector::empty
    - std::vector::end
    - std::shuffle
    - std::min<size_t>
    - std::vector::size
    - tcmalloc_internal::SpanStats::num_live_spans
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:41,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:42,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:59,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:71,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:81,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:81,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:82,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:82,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:88,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:91,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:92,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:93,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:93,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:94,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:94,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:105,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:106,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:106,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:106,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:108,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:115,1
    - Dst: CentralFreelistEnv::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:119,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:120,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:120,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:120,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:122,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:123,1
    - Dst: tcmalloc_internal::SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:123,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:125,1
    - Dst: tcmalloc_internal::SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:125,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:132,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:133,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:134,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:135,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:138,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:139,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:146,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:149,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:150,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 153
    functionName: FuzzCFL
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::vector::insert
    - std::min
    - CentralFreelistEnv::central_freelist
    - std::vector::begin
    - size
    - CentralFreelistEnv::objects_per_span
    - CHECK_EQ
    - data
    - CHECK_GT
    - absl::MakeSpan
    - std::vector::resize
    - memcpy
    - std::string::resize
    - std::string::size
    - std::vector::empty
    - std::vector::end
    - std::shuffle
    - std::min<size_t>
    - std::vector::size
    - tcmalloc_internal::SpanStats::num_live_spans
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: void
    signature: void FuzzCFL(const std::string& s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:41,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:42,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:59,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:71,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:81,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:81,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:82,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:82,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:88,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:91,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:92,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:93,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:93,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:94,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:94,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:105,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:106,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:106,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:106,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:108,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:115,1
    - Dst: CentralFreelistEnv::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:119,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:120,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:120,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:120,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:122,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:123,1
    - Dst: tcmalloc_internal::SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:123,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:125,1
    - Dst: tcmalloc_internal::SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:125,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:132,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:133,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:134,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:135,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:138,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:139,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:146,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:149,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:150,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 153
    functionName: FuzzCFL
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::vector::insert
    - std::min
    - CentralFreelistEnv::central_freelist
    - std::vector::begin
    - size
    - CentralFreelistEnv::objects_per_span
    - CHECK_EQ
    - data
    - CHECK_GT
    - absl::MakeSpan
    - std::vector::resize
    - memcpy
    - std::string::resize
    - std::string::size
    - std::vector::empty
    - std::vector::end
    - std::shuffle
    - std::min<size_t>
    - std::vector::size
    - tcmalloc_internal::SpanStats::num_live_spans
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: void
    signature: void FuzzCFL(const std::string& s)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:61,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:62,1
    - Dst: reinterpret_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:66,1
    - Dst: static_cast<CompactSizeClass>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:69,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:110,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:128,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:139,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:157,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:158,1
    - Dst: Number
      Src: /src/tcmalloc/tcmalloc/pagemap.h:163,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:166,1
    - Dst: PackedSpanAndSizeclass::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:166,1
    - Dst: PackedSpanAndSizeclass::sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:167,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:175,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:176,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:177,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:193,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:194,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:199,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:207,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:208,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:212,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:216,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:221,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:228,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:232,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:237,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/pagemap.h:244,1
    - Dst: reinterpret_cast<Leaf*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:253,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:253,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:256,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:314,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:339,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:353,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:374,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:375,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:376,1
    - Dst: Number
      Src: /src/tcmalloc/tcmalloc/pagemap.h:380,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:385,1
    - Dst: PackedSpanAndSizeclass::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:385,1
    - Dst: PackedSpanAndSizeclass::sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:386,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:395,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:396,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:397,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:398,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:408,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:409,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:410,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:423,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:424,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:428,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:433,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:438,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:446,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:451,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:453,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:458,1
    - Dst: reinterpret_cast<Node*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:475,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:475,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:478,1
    - Dst: reinterpret_cast<Leaf*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:484,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:484,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:487,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:514,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:514,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:517,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:517,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap.h:521,1
    - Dst: p::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:521,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/pagemap.h:521,1
    - Dst: reinterpret_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:542,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap.h:542,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:542,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:551,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:551,1
    - Dst: get_existing
      Src: /src/tcmalloc/tcmalloc/pagemap.h:559,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:559,1
    - Dst: bytes_used
      Src: /src/tcmalloc/tcmalloc/pagemap.h:563,1
    - Dst: get_hugepage
      Src: /src/tcmalloc/tcmalloc/pagemap.h:567,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:567,1
    - Dst: set_hugepage
      Src: /src/tcmalloc/tcmalloc/pagemap.h:570,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:570,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/pagemap.h:587,1
    - Dst: get_next_set_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:588,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/pagemap.h:588,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/pagemap.h:589,1
    - Dst: GetDescriptor
      Src: /src/tcmalloc/tcmalloc/pagemap.h:590,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:593,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:597,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:597,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:598,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:599,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:599,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/pagemap.h:604,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/pagemap.h:604,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/pagemap.h:605,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:606,1
    - Dst: Span*::bytes_in_span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:606,1
    - Dst: Static::sizemap
      Src: /src/tcmalloc/tcmalloc/pagemap.h:607,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:610,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 193
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 624
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - capacity
    - PackedSpanAndSizeclass::sizeclass
    - set
    - Allocator
    - get_hugepage
    - set_hugepage
    - PackedSpanAndSizeclass::span
    - memset
    - index
    - bytes_used
    - Span*::last_page
    - Span*::first_page
    - n::raw_num
    - p::index
    - size
    - get
    - push_back
    - Span*::bytes_in_span
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT_EQ
    - std::make_pair
    - GetDescriptor
    - get_existing
    - span
    - TC_ASSERT_NE
    - get_next_set_page
    - static_cast<CompactSizeClass>
    - get_existing_with_sizeclass
    - TC_ASSERT_GT
    - Static::sizemap
    - reinterpret_cast<Span*>
    - std::optional::value
    - static_cast<uintptr_t>
    - reinterpret_cast<Node*>
    - std::optional::has_value
    - reinterpret_cast<Leaf*>
    - Number
    - Ensure
    - sizeclass
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:61,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - span
    - sizeclass
    argTypes:
    - Span*
    - CompactSizeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tcmalloc_internal::PackedSpanAndSizeclass::set
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set(Span* span, CompactSizeClass sizeclass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: tcmalloc_internal::PackedSpanAndSizeclass::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Span*>
    linkageType: ''
    returnType: Span
    signature: Span * span() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CompactSizeClass>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::PackedSpanAndSizeclass::sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - static_cast<CompactSizeClass>
    linkageType: ''
    returnType: CompactSizeClass
    signature: CompactSizeClass sizeclass() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap2::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: tcmalloc_internal::PageMap2::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageMap2::span
    linkageType: ''
    returnType: Span
    signature: Span * span(int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: tcmalloc_internal::PageMap2::PageMap2
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageMap2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap2::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: tcmalloc_internal::PageMap2::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageMap2::span
    linkageType: ''
    returnType: void
    signature: void * get(Number k) const ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap2::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::PageMap2::get_next_set_page
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageMap2::span
    linkageType: ''
    returnType: std::optional<Number>
    signature: std::optional<Number> get_next_set_page(Number k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:157,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:158,1
    - Dst: Number
      Src: /src/tcmalloc/tcmalloc/pagemap.h:163,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:166,1
    - Dst: PackedSpanAndSizeclass::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:166,1
    - Dst: PackedSpanAndSizeclass::sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 168
    functionName: tcmalloc_internal::PageMap2::ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - PackedSpanAndSizeclass::sizeclass
    - PackedSpanAndSizeclass::span
    - Number
    - TC_ASSERT_EQ
    - std::make_pair
    linkageType: ''
    returnType: ABSL_NO_THREAD_SAFETY_ANALYSIS
    signature: ABSL_NO_THREAD_SAFETY_ANALYSIS ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:175,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:176,1
    - Dst: tcmalloc_internal::PageMap2::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: tcmalloc_internal::PageMap2::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - tcmalloc_internal::PageMap2::span
    - TC_ASSERT_NE
    linkageType: ''
    returnType: Span
    signature: Span * get_existing(Number k) const ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:193,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: tcmalloc_internal::PageMap2::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
    signature: ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:199,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:207,1
    - Dst: tcmalloc_internal::PageMap2::set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - k
    - s
    argTypes:
    - Number
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: tcmalloc_internal::PageMap2::set
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_EQ
    - tcmalloc_internal::PageMap2::set
    linkageType: ''
    returnType: void
    signature: void set(Number k, Span* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:212,1
    - Dst: tcmalloc_internal::PageMap2::set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - k
    - s
    - sc
    argTypes:
    - Number
    - Span*
    - CompactSizeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: tcmalloc_internal::PageMap2::set_with_sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - tcmalloc_internal::PageMap2::set
    linkageType: ''
    returnType: void
    signature: void set_with_sizeclass(Number k, Span* s, CompactSizeClass sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: tcmalloc_internal::PageMap2::clear_sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void clear_sizeclass(Number k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:228,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: tcmalloc_internal::PageMap2::get_hugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void * get_hugepage(Number k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - k
    - v
    argTypes:
    - Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: tcmalloc_internal::PageMap2::set_hugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void set_hugepage(Number k, void* v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/pagemap.h:244,1
    - Dst: reinterpret_cast<Leaf*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:253,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:253,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - start
    - n
    argTypes:
    - Number
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 264
    functionName: tcmalloc_internal::PageMap2::Ensure
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Leaf*>
    - memset
    - Allocator
    - TC_ASSERT_GT
    linkageType: ''
    returnType: bool
    signature: bool Ensure(Number start, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: tcmalloc_internal::PageMap2::bytes_used
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bytes_used() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: tcmalloc_internal::PageMap2::RootSize
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RootSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: tcmalloc_internal::PageMap2::RootAddress
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * RootAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap3::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: tcmalloc_internal::PageMap3::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageMap3::span
    linkageType: ''
    returnType: Span
    signature: Span * span(int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: tcmalloc_internal::PageMap3::PageMap3
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageMap3()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap3::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 340
    functionName: tcmalloc_internal::PageMap3::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageMap3::span
    linkageType: ''
    returnType: void
    signature: void * get(Number k) const ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap3::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:353,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 359
    functionName: tcmalloc_internal::PageMap3::get_next_set_page
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageMap3::span
    linkageType: ''
    returnType: std::optional<Number>
    signature: std::optional<Number> get_next_set_page(Number k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:374,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:375,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:376,1
    - Dst: Number
      Src: /src/tcmalloc/tcmalloc/pagemap.h:380,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:385,1
    - Dst: PackedSpanAndSizeclass::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:385,1
    - Dst: PackedSpanAndSizeclass::sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 387
    functionName: tcmalloc_internal::PageMap3::ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - PackedSpanAndSizeclass::sizeclass
    - PackedSpanAndSizeclass::span
    - Number
    - TC_ASSERT_EQ
    - std::make_pair
    linkageType: ''
    returnType: ABSL_NO_THREAD_SAFETY_ANALYSIS
    signature: ABSL_NO_THREAD_SAFETY_ANALYSIS ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:395,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:396,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:397,1
    - Dst: tcmalloc_internal::PageMap3::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: tcmalloc_internal::PageMap3::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - tcmalloc_internal::PageMap3::span
    - TC_ASSERT_NE
    linkageType: ''
    returnType: Span
    signature: Span * get_existing(Number k) const ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:408,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:409,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: tcmalloc_internal::PageMap3::sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void sizeclass(Number k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:423,1
    - Dst: tcmalloc_internal::PageMap3::set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - k
    - s
    argTypes:
    - Number
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 425
    functionName: tcmalloc_internal::PageMap3::set
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageMap3::set
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void set(Number k, Span* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:428,1
    - Dst: tcmalloc_internal::PageMap3::set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - k
    - s
    - sc
    argTypes:
    - Number
    - Span*
    - CompactSizeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: tcmalloc_internal::PageMap3::set_with_sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageMap3::set
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void set_with_sizeclass(Number k, Span* s, CompactSizeClass sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 443
    functionName: tcmalloc_internal::PageMap3::clear_sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void clear_sizeclass(Number k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:446,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:451,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: tcmalloc_internal::PageMap3::get_hugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void * get_hugepage(Number k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - k
    - v
    argTypes:
    - Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 463
    functionName: tcmalloc_internal::PageMap3::set_hugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void set_hugepage(Number k, void* v)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Node*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:475,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:475,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:478,1
    - Dst: reinterpret_cast<Leaf*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:484,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:484,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:487,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - start
    - n
    argTypes:
    - Number
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 495
    functionName: tcmalloc_internal::PageMap3::Ensure
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Leaf*>
    - reinterpret_cast<Node*>
    - Allocator
    - memset
    linkageType: ''
    returnType: bool
    signature: bool Ensure(Number start, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 497
    functionName: tcmalloc_internal::PageMap3::bytes_used
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bytes_used() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 499
    functionName: tcmalloc_internal::PageMap3::RootSize
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RootSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 500
    functionName: tcmalloc_internal::PageMap3::RootAddress
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * RootAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: tcmalloc_internal::PageMap::PageMap
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:514,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: tcmalloc_internal::PageMap::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - index
    - sizeclass
    linkageType: ''
    returnType: CompactSizeClass
    signature: CompactSizeClass ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:517,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - span
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: tcmalloc_internal::PageMap::Set
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - set
    - PageId::index
    linkageType: ''
    returnType: void
    signature: void Set(PageId p, Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap.h:521,1
    - Dst: p::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:521,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/pagemap.h:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 522
    functionName: tcmalloc_internal::PageMap::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - Ensure
    - n::raw_num
    - p::index
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:542,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap.h:542,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: tcmalloc_internal::PageMap::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Span*>
    - index
    - get
    linkageType: ''
    returnType: Span
    signature: "Span * GetDescriptor(PageId p) const\n      ABSL_NO_THREAD_SAFETY_ANALYSIS"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:551,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: tcmalloc_internal::PageMap::GetExistingDescriptorAndSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - get_existing_with_sizeclass
    - PageId::index
    linkageType: ''
    returnType: std::pair<Span* /*absl_nullable*/, CompactSizeClass>
    signature: std::pair<Span* /*absl_nullable*/, CompactSizeClass> GetExistingDescriptorAndSizeClass(PageId
      p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_existing
      Src: /src/tcmalloc/tcmalloc/pagemap.h:559,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: tcmalloc_internal::PageMap::GetExistingDescriptor
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - get_existing
    - PageId::index
    linkageType: ''
    returnType: Span
    signature: Span * /*absl_nullable*/ GetExistingDescriptor(PageId p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bytes_used
      Src: /src/tcmalloc/tcmalloc/pagemap.h:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 564
    functionName: tcmalloc_internal::PageMap::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - bytes_used
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_hugepage
      Src: /src/tcmalloc/tcmalloc/pagemap.h:567,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 568
    functionName: tcmalloc_internal::PageMap::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - PageId::index
    - get_hugepage
    linkageType: ''
    returnType: void
    signature: void * GetHugepage(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_hugepage
      Src: /src/tcmalloc/tcmalloc/pagemap.h:570,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - PageId
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: tcmalloc_internal::PageMap::SetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - PageId::index
    - set_hugepage
    linkageType: ''
    returnType: void
    signature: void SetHugepage(PageId p, void* v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/pagemap.h:587,1
    - Dst: get_next_set_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:588,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/pagemap.h:588,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/pagemap.h:589,1
    - Dst: GetDescriptor
      Src: /src/tcmalloc/tcmalloc/pagemap.h:590,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:593,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:597,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:597,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:598,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:599,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:599,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/pagemap.h:604,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/pagemap.h:604,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/pagemap.h:605,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:606,1
    - Dst: Span*::bytes_in_span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:606,1
    - Dst: Static::sizemap
      Src: /src/tcmalloc/tcmalloc/pagemap.h:607,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:610,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ' allocated_spans'
    argTypes:
    - "std::vector<tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::\n
      \                     SpanDetails>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 613
    functionName: tcmalloc_internal::PageMap::GetAllocatedSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - std::optional::value
    - Span*::first_page
    - Span*::last_page
    - std::optional::has_value
    - get_next_set_page
    - capacity
    - size
    - push_back
    - Span*::bytes_in_span
    - Static::sizemap
    - TC_ASSERT_EQ
    - GetDescriptor
    - sizeclass
    linkageType: ''
    returnType: int
    signature: "int GetAllocatedSpans(\n      std::vector<tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::\n
      \                     SpanDetails>& allocated_spans)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:61,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - span
    - sizeclass
    argTypes:
    - Span*
    - CompactSizeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tcmalloc_internal::PackedSpanAndSizeclass::set
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set(Span* span, CompactSizeClass sizeclass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: tcmalloc_internal::PackedSpanAndSizeclass::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Span*>
    linkageType: ''
    returnType: Span
    signature: Span * span() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CompactSizeClass>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::PackedSpanAndSizeclass::sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - static_cast<CompactSizeClass>
    linkageType: ''
    returnType: CompactSizeClass
    signature: CompactSizeClass sizeclass() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap2::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: tcmalloc_internal::PageMap2::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::PageMap2::span
    linkageType: ''
    returnType: Span
    signature: Span * span(int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: tcmalloc_internal::PageMap2::PageMap2
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageMap2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap2::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: tcmalloc_internal::PageMap2::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageMap2::span
    linkageType: ''
    returnType: void
    signature: void * get(Number k) const ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap2::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::PageMap2::get_next_set_page
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageMap2::span
    linkageType: ''
    returnType: std::optional<Number>
    signature: std::optional<Number> get_next_set_page(Number k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:157,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:158,1
    - Dst: Number
      Src: /src/tcmalloc/tcmalloc/pagemap.h:163,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:166,1
    - Dst: PackedSpanAndSizeclass::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:166,1
    - Dst: PackedSpanAndSizeclass::sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 168
    functionName: tcmalloc_internal::PageMap2::ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - PackedSpanAndSizeclass::sizeclass
    - PackedSpanAndSizeclass::span
    - Number
    - TC_ASSERT_EQ
    - std::make_pair
    linkageType: ''
    returnType: ABSL_NO_THREAD_SAFETY_ANALYSIS
    signature: ABSL_NO_THREAD_SAFETY_ANALYSIS ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:175,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:176,1
    - Dst: tcmalloc_internal::PageMap2::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: tcmalloc_internal::PageMap2::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - tcmalloc_internal::PageMap2::span
    - TC_ASSERT_NE
    linkageType: ''
    returnType: Span
    signature: Span * get_existing(Number k) const ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:193,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: tcmalloc_internal::PageMap2::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
    signature: ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:199,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:207,1
    - Dst: tcmalloc_internal::PageMap2::set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - k
    - s
    argTypes:
    - Number
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: tcmalloc_internal::PageMap2::set
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 3
    functionsReached:
    - TC_ASSERT_EQ
    - tcmalloc_internal::PageMap2::set
    linkageType: ''
    returnType: void
    signature: void set(Number k, Span* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:212,1
    - Dst: tcmalloc_internal::PageMap2::set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - k
    - s
    - sc
    argTypes:
    - Number
    - Span*
    - CompactSizeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: tcmalloc_internal::PageMap2::set_with_sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - tcmalloc_internal::PageMap2::set
    linkageType: ''
    returnType: void
    signature: void set_with_sizeclass(Number k, Span* s, CompactSizeClass sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: tcmalloc_internal::PageMap2::clear_sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void clear_sizeclass(Number k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:228,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: tcmalloc_internal::PageMap2::get_hugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void * get_hugepage(Number k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - k
    - v
    argTypes:
    - Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: tcmalloc_internal::PageMap2::set_hugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void set_hugepage(Number k, void* v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/pagemap.h:244,1
    - Dst: reinterpret_cast<Leaf*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:253,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:253,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - start
    - n
    argTypes:
    - Number
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 264
    functionName: tcmalloc_internal::PageMap2::Ensure
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Leaf*>
    - memset
    - Allocator
    - TC_ASSERT_GT
    linkageType: ''
    returnType: bool
    signature: bool Ensure(Number start, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: tcmalloc_internal::PageMap2::bytes_used
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bytes_used() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: tcmalloc_internal::PageMap2::RootSize
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RootSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: tcmalloc_internal::PageMap2::RootAddress
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * RootAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap3::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: tcmalloc_internal::PageMap3::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::PageMap3::span
    linkageType: ''
    returnType: Span
    signature: Span * span(int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: tcmalloc_internal::PageMap3::PageMap3
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageMap3()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap3::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 340
    functionName: tcmalloc_internal::PageMap3::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageMap3::span
    linkageType: ''
    returnType: void
    signature: void * get(Number k) const ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap3::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:353,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 359
    functionName: tcmalloc_internal::PageMap3::get_next_set_page
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageMap3::span
    linkageType: ''
    returnType: std::optional<Number>
    signature: std::optional<Number> get_next_set_page(Number k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:374,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:375,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:376,1
    - Dst: Number
      Src: /src/tcmalloc/tcmalloc/pagemap.h:380,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:385,1
    - Dst: PackedSpanAndSizeclass::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:385,1
    - Dst: PackedSpanAndSizeclass::sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 387
    functionName: tcmalloc_internal::PageMap3::ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - PackedSpanAndSizeclass::sizeclass
    - PackedSpanAndSizeclass::span
    - Number
    - TC_ASSERT_EQ
    - std::make_pair
    linkageType: ''
    returnType: ABSL_NO_THREAD_SAFETY_ANALYSIS
    signature: ABSL_NO_THREAD_SAFETY_ANALYSIS ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:395,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:396,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:397,1
    - Dst: tcmalloc_internal::PageMap3::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: tcmalloc_internal::PageMap3::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - tcmalloc_internal::PageMap3::span
    - TC_ASSERT_NE
    linkageType: ''
    returnType: Span
    signature: Span * get_existing(Number k) const ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:408,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:409,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: tcmalloc_internal::PageMap3::sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void sizeclass(Number k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:423,1
    - Dst: tcmalloc_internal::PageMap3::set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - k
    - s
    argTypes:
    - Number
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 425
    functionName: tcmalloc_internal::PageMap3::set
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::PageMap3::set
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void set(Number k, Span* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:428,1
    - Dst: tcmalloc_internal::PageMap3::set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - k
    - s
    - sc
    argTypes:
    - Number
    - Span*
    - CompactSizeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: tcmalloc_internal::PageMap3::set_with_sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageMap3::set
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void set_with_sizeclass(Number k, Span* s, CompactSizeClass sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 443
    functionName: tcmalloc_internal::PageMap3::clear_sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void clear_sizeclass(Number k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:446,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:451,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: tcmalloc_internal::PageMap3::get_hugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void * get_hugepage(Number k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - k
    - v
    argTypes:
    - Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 463
    functionName: tcmalloc_internal::PageMap3::set_hugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void set_hugepage(Number k, void* v)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Node*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:475,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:475,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:478,1
    - Dst: reinterpret_cast<Leaf*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:484,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:484,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:487,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - start
    - n
    argTypes:
    - Number
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 495
    functionName: tcmalloc_internal::PageMap3::Ensure
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Leaf*>
    - reinterpret_cast<Node*>
    - Allocator
    - memset
    linkageType: ''
    returnType: bool
    signature: bool Ensure(Number start, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 497
    functionName: tcmalloc_internal::PageMap3::bytes_used
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bytes_used() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 499
    functionName: tcmalloc_internal::PageMap3::RootSize
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RootSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 500
    functionName: tcmalloc_internal::PageMap3::RootAddress
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * RootAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: tcmalloc_internal::PageMap::PageMap
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:514,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: tcmalloc_internal::PageMap::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - index
    - sizeclass
    linkageType: ''
    returnType: CompactSizeClass
    signature: CompactSizeClass ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:517,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - span
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: tcmalloc_internal::PageMap::Set
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - set
    - PageId::index
    linkageType: ''
    returnType: void
    signature: void Set(PageId p, Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap.h:521,1
    - Dst: p::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:521,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/pagemap.h:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 522
    functionName: tcmalloc_internal::PageMap::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - Ensure
    - n::raw_num
    - p::index
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:542,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap.h:542,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: tcmalloc_internal::PageMap::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Span*>
    - index
    - get
    linkageType: ''
    returnType: Span
    signature: "Span * GetDescriptor(PageId p) const\n      ABSL_NO_THREAD_SAFETY_ANALYSIS"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:551,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: tcmalloc_internal::PageMap::GetExistingDescriptorAndSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - get_existing_with_sizeclass
    - PageId::index
    linkageType: ''
    returnType: std::pair<Span* /*absl_nullable*/, CompactSizeClass>
    signature: std::pair<Span* /*absl_nullable*/, CompactSizeClass> GetExistingDescriptorAndSizeClass(PageId
      p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_existing
      Src: /src/tcmalloc/tcmalloc/pagemap.h:559,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: tcmalloc_internal::PageMap::GetExistingDescriptor
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - get_existing
    - PageId::index
    linkageType: ''
    returnType: Span
    signature: Span * /*absl_nullable*/ GetExistingDescriptor(PageId p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bytes_used
      Src: /src/tcmalloc/tcmalloc/pagemap.h:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 564
    functionName: tcmalloc_internal::PageMap::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - bytes_used
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_hugepage
      Src: /src/tcmalloc/tcmalloc/pagemap.h:567,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 568
    functionName: tcmalloc_internal::PageMap::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - PageId::index
    - get_hugepage
    linkageType: ''
    returnType: void
    signature: void * GetHugepage(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_hugepage
      Src: /src/tcmalloc/tcmalloc/pagemap.h:570,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - PageId
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: tcmalloc_internal::PageMap::SetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - PageId::index
    - set_hugepage
    linkageType: ''
    returnType: void
    signature: void SetHugepage(PageId p, void* v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/pagemap.h:587,1
    - Dst: get_next_set_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:588,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/pagemap.h:588,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/pagemap.h:589,1
    - Dst: GetDescriptor
      Src: /src/tcmalloc/tcmalloc/pagemap.h:590,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:593,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:597,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:597,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:598,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:599,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:599,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/pagemap.h:604,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/pagemap.h:604,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/pagemap.h:605,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:606,1
    - Dst: Span*::bytes_in_span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:606,1
    - Dst: Static::sizemap
      Src: /src/tcmalloc/tcmalloc/pagemap.h:607,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:610,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ' allocated_spans'
    argTypes:
    - "std::vector<tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::\n
      \                     SpanDetails>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 613
    functionName: tcmalloc_internal::PageMap::GetAllocatedSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - std::optional::value
    - Span*::first_page
    - Span*::last_page
    - std::optional::has_value
    - get_next_set_page
    - capacity
    - size
    - push_back
    - Span*::bytes_in_span
    - Static::sizemap
    - TC_ASSERT_EQ
    - GetDescriptor
    - sizeclass
    linkageType: ''
    returnType: int
    signature: "int GetAllocatedSpans(\n      std::vector<tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::\n
      \                     SpanDetails>& allocated_spans)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 47
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/error_reporting.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:75,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:80,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - text
    - hotness
    argTypes:
    - absl::string_view
    - tcmalloc::hot_cold_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: AbslParseFlag
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - static_cast<tcmalloc::hot_cold_t>
    - absl::SimpleAtoi
    - tcmalloc_internal::max
    linkageType: ''
    returnType: bool
    signature: "bool AbslParseFlag(absl::string_view text, tcmalloc::hot_cold_t* hotness,\n
      \                         std::string* /* error */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hotness
    argTypes:
    - tcmalloc::hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: AbslUnparseFlag
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: std::string AbslUnparseFlag(tcmalloc::hot_cold_t hotness)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: tcmalloc::Profile::Profile
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Profile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: tcmalloc::Profile::Profile
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Profile(Profile&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: tcmalloc::Profile::Profile
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Profile(const Profile&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& operator=(Profile&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Profile
    signature: Profile & operator=(Profile&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '& operator=(const Profile&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Profile
    signature: Profile & operator=(const Profile&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: tcmalloc::AddressRegion::AddressRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddressRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 307
    functionName: tcmalloc::AddressRegionFactory::AddressRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddressRegionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: ~AddressRegionFactory()
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AddressRegionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 494
    functionName: tcmalloc::MallocExtension::GetProfileSamplingRate
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetProfileSamplingRate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rate
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 498
    functionName: tcmalloc::MallocExtension::SetProfileSamplingRate
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    linkageType: ''
    returnType: void
    signature: void SetProfileSamplingRate(int64_t rate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 502
    functionName: tcmalloc::MallocExtension::GetGuardedSamplingRate
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetGuardedSamplingRate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rate
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 506
    functionName: tcmalloc::MallocExtension::SetGuardedSamplingRate
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void SetGuardedSamplingRate(int64_t rate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 541
    functionName: tcmalloc::MallocExtension::GetSkipSubreleaseInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetSkipSubreleaseInterval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 543
    functionName: tcmalloc::MallocExtension::SetSkipSubreleaseInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSkipSubreleaseInterval(absl::Duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 630
    functionName: tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocationProfilingToken()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 631
    functionName: tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocationProfilingToken(AllocationProfilingToken&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 632
    functionName: tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocationProfilingToken(const AllocationProfilingToken&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 635
    functionName: '& operator=(AllocationProfilingToken&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocationProfilingToken
    signature: AllocationProfilingToken & operator=(AllocationProfilingToken&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 637
    functionName: '& operator=(const AllocationProfilingToken&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocationProfilingToken
    signature: AllocationProfilingToken & operator=(const AllocationProfilingToken&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: tcmalloc::Profile::Profile
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Profile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: tcmalloc::Profile::Profile
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Profile(Profile&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: tcmalloc::Profile::Profile
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Profile(const Profile&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& operator=(Profile&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Profile
    signature: Profile & operator=(Profile&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '& operator=(const Profile&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Profile
    signature: Profile & operator=(const Profile&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: tcmalloc::AddressRegion::AddressRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddressRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 307
    functionName: tcmalloc::AddressRegionFactory::AddressRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddressRegionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: ~AddressRegionFactory()
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AddressRegionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 494
    functionName: tcmalloc::MallocExtension::GetProfileSamplingRate
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetProfileSamplingRate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rate
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 498
    functionName: tcmalloc::MallocExtension::SetProfileSamplingRate
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    linkageType: ''
    returnType: void
    signature: void SetProfileSamplingRate(int64_t rate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 502
    functionName: tcmalloc::MallocExtension::GetGuardedSamplingRate
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetGuardedSamplingRate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rate
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 506
    functionName: tcmalloc::MallocExtension::SetGuardedSamplingRate
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void SetGuardedSamplingRate(int64_t rate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 541
    functionName: tcmalloc::MallocExtension::GetSkipSubreleaseInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetSkipSubreleaseInterval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 543
    functionName: tcmalloc::MallocExtension::SetSkipSubreleaseInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSkipSubreleaseInterval(absl::Duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 630
    functionName: tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocationProfilingToken()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 631
    functionName: tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocationProfilingToken(AllocationProfilingToken&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 632
    functionName: tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocationProfilingToken(const AllocationProfilingToken&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 635
    functionName: '& operator=(AllocationProfilingToken&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocationProfilingToken
    signature: AllocationProfilingToken & operator=(AllocationProfilingToken&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 637
    functionName: '& operator=(const AllocationProfilingToken&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocationProfilingToken
    signature: AllocationProfilingToken & operator=(const AllocationProfilingToken&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 783
    functionName: tcmalloc_size_returning_operator_new
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - __size_returning_new
    linkageType: ''
    returnType: __sized_ptr_t
    signature: __sized_ptr_t tcmalloc_size_returning_operator_new(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - hot_cold
    argTypes:
    - size_t
    - tcmalloc::hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 790
    functionName: tcmalloc_size_returning_operator_new_hot_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - __size_returning_new_hot_cold
    linkageType: ''
    returnType: __sized_ptr_t
    signature: "__sized_ptr_t tcmalloc_size_returning_operator_new_hot_cold(\n    size_t
      size, tcmalloc::hot_cold_t hot_cold)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new_aligned
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 802
    functionName: tcmalloc_size_returning_operator_new_aligned
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - __size_returning_new_aligned
    linkageType: ''
    returnType: __sized_ptr_t
    signature: "__sized_ptr_t tcmalloc_size_returning_operator_new_aligned(\n    size_t
      size, std::align_val_t alignment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new_aligned_hot_cold
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - size
    - alignment
    - hot_cold
    argTypes:
    - size_t
    - std::align_val_t
    - tcmalloc::hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 809
    functionName: tcmalloc_size_returning_operator_new_aligned_hot_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - __size_returning_new_aligned_hot_cold
    linkageType: ''
    returnType: __sized_ptr_t
    signature: "__sized_ptr_t tcmalloc_size_returning_operator_new_aligned_hot_cold(\n
      \   size_t size, std::align_val_t alignment, tcmalloc::hot_cold_t hot_cold)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - la
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 850
    functionName: MALLOCX_LG_ALIGN
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MALLOCX_LG_ALIGN(la)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 864
    functionName: tcmalloc::tcmalloc_internal::AllocationProfilingTokenBase::AllocationProfilingTokenBase
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocationProfilingTokenBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 866
    functionName: ~AllocationProfilingTokenBase()
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AllocationProfilingTokenBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 881
    functionName: ~ProfileBase()
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProfileBase()
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - text
    - preference
    argTypes:
    - absl::string_view
    - MadvisePreference*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 922
    functionName: tcmalloc::tcmalloc_internal::AbslParseFlag
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool AbslParseFlag(absl::string_view text, MadvisePreference* preference,\n
      \                         std::string* /* error */)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:936,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - preference
    argTypes:
    - MadvisePreference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 938
    functionName: tcmalloc::tcmalloc_internal::AbslUnparseFlag
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string AbslUnparseFlag(MadvisePreference preference)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 864
    functionName: tcmalloc::tcmalloc_internal::AllocationProfilingTokenBase::AllocationProfilingTokenBase
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocationProfilingTokenBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 866
    functionName: ~AllocationProfilingTokenBase()
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AllocationProfilingTokenBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 881
    functionName: ~ProfileBase()
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProfileBase()
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - text
    - preference
    argTypes:
    - absl::string_view
    - MadvisePreference*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 922
    functionName: tcmalloc::tcmalloc_internal::AbslParseFlag
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool AbslParseFlag(absl::string_view text, MadvisePreference* preference,\n
      \                         std::string* /* error */)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:936,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - preference
    argTypes:
    - MadvisePreference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 938
    functionName: tcmalloc::tcmalloc_internal::AbslUnparseFlag
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string AbslUnparseFlag(MadvisePreference preference)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 864
    functionName: tcmalloc::tcmalloc_internal::AllocationProfilingTokenBase::AllocationProfilingTokenBase
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocationProfilingTokenBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 866
    functionName: ~AllocationProfilingTokenBase()
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AllocationProfilingTokenBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 881
    functionName: ~ProfileBase()
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProfileBase()
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - text
    - preference
    argTypes:
    - absl::string_view
    - MadvisePreference*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 922
    functionName: tcmalloc::tcmalloc_internal::AbslParseFlag
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool AbslParseFlag(absl::string_view text, MadvisePreference* preference,\n
      \                         std::string* /* error */)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:936,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - preference
    argTypes:
    - MadvisePreference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 938
    functionName: tcmalloc::tcmalloc_internal::AbslUnparseFlag
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string AbslUnparseFlag(MadvisePreference preference)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 864
    functionName: tcmalloc::tcmalloc_internal::AllocationProfilingTokenBase::AllocationProfilingTokenBase
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocationProfilingTokenBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 866
    functionName: ~AllocationProfilingTokenBase()
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AllocationProfilingTokenBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 881
    functionName: ~ProfileBase()
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProfileBase()
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - text
    - preference
    argTypes:
    - absl::string_view
    - MadvisePreference*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 922
    functionName: tcmalloc::tcmalloc_internal::AbslParseFlag
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool AbslParseFlag(absl::string_view text, MadvisePreference* preference,\n
      \                         std::string* /* error */)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:936,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - preference
    argTypes:
    - MadvisePreference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 938
    functionName: tcmalloc::tcmalloc_internal::AbslUnparseFlag
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string AbslUnparseFlag(MadvisePreference preference)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:69,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:81,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:81,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:110,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:111,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:116,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:117,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - num_pages
    - num_hugepages
    - num_free_pages
    argTypes:
    - Length
    - HugeLength
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateInterestingPoints
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    - Length
    linkageType: ''
    returnType: void
    signature: "void StatsTrackerTest::GenerateInterestingPoints(Length num_pages,\n
      \                                                HugeLength num_hugepages,\n
      \                                                Length num_free_pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:130,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - num_pages
    - num_free_pages
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateDemandPoint
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    - Length
    linkageType: ''
    returnType: void
    signature: "void StatsTrackerTest::GenerateDemandPoint(Length num_pages,\n                                           Length
      num_free_pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:145,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:145,1
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:149,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:149,1
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:153,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:153,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:158,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:158,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:160,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:161,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:164,1
    - Dst: StrEq
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - std::string::begin
    - absl::Minutes
    - Length
    - Printer::SpaceRequired
    - Advance
    - EXPECT_THAT
    - Print
    - std::string::erase
    - std::string::size
    - StrEq
    - NHugePages
    - GenerateInterestingPoints
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:180,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:180,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:181,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:182,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:182,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:183,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - min_free_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::InfiniteDuration
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, InvalidDurations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:188,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:188,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:190,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:190,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:192,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:192,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:195,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:196,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:196,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:197,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:198,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:198,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:200,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:200,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:203,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:204,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:204,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:206,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:206,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:209,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:210,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 211
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - GetRecentPeak
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentPeaks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:218,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:218,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:221,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:221,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:224,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:224,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:230,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:230,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:233,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:233,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:235,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:235,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:241,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:241,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:243,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:243,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:249,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - absl::Minutes
    - Length
    - GetRecentDemand
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentDemand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:262,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:262,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:264,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:264,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:271,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:271,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:275,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 276
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - GetRecentDemand
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentDemandAndCappedToPeak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:281,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:281,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:283,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:283,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:285,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:285,1
    - Dst: RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:287,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:287,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:289,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:289,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:291,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:291,1
    - Dst: RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:293,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - RealizedFragmentation
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRealizedFragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:301,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:301,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:306,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:306,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:310,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:312,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:314,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:314,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:317,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:317,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:325,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:327,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:329,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:329,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:332,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:332,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:335,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:335,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:339,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:341,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:343,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - pending_skipped
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - total_skipped
    - correctly_skipped
    - ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, TrackCorrectSubreleaseDecisions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:350,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:350,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:354,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:355,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:355,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:359,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:361,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:363,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:363,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:365,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:365,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:369,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:371,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:373,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 374
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - pending_skipped
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - total_skipped
    - correctly_skipped
    - ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, SubreleaseCorrectnessWithChangingIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:69,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:81,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:81,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:110,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:111,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:116,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:117,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - num_pages
    - num_hugepages
    - num_free_pages
    argTypes:
    - Length
    - HugeLength
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateInterestingPoints
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    - Length
    linkageType: ''
    returnType: void
    signature: "void StatsTrackerTest::GenerateInterestingPoints(Length num_pages,\n
      \                                                HugeLength num_hugepages,\n
      \                                                Length num_free_pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:130,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - num_pages
    - num_free_pages
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateDemandPoint
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    - Length
    linkageType: ''
    returnType: void
    signature: "void StatsTrackerTest::GenerateDemandPoint(Length num_pages,\n                                           Length
      num_free_pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:145,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:145,1
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:149,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:149,1
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:153,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:153,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:158,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:158,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:160,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:161,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:164,1
    - Dst: StrEq
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - std::string::begin
    - absl::Minutes
    - Length
    - Printer::SpaceRequired
    - Advance
    - EXPECT_THAT
    - Print
    - std::string::erase
    - std::string::size
    - StrEq
    - NHugePages
    - GenerateInterestingPoints
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:180,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:180,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:181,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:182,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:182,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:183,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - min_free_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::InfiniteDuration
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, InvalidDurations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:188,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:188,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:190,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:190,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:192,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:192,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:195,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:196,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:196,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:197,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:198,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:198,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:200,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:200,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:203,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:204,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:204,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:206,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:206,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:209,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:210,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 211
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - GetRecentPeak
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentPeaks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:218,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:218,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:221,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:221,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:224,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:224,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:230,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:230,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:233,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:233,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:235,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:235,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:241,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:241,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:243,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:243,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:249,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - absl::Minutes
    - Length
    - GetRecentDemand
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentDemand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:262,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:262,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:264,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:264,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:271,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:271,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:275,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 276
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - GetRecentDemand
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentDemandAndCappedToPeak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:281,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:281,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:283,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:283,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:285,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:285,1
    - Dst: RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:287,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:287,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:289,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:289,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:291,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:291,1
    - Dst: RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:293,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - RealizedFragmentation
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRealizedFragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:301,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:301,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:306,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:306,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:310,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:312,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:314,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:314,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:317,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:317,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:325,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:327,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:329,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:329,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:332,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:332,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:335,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:335,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:339,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:341,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:343,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - pending_skipped
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - total_skipped
    - correctly_skipped
    - ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, TrackCorrectSubreleaseDecisions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:350,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:350,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:354,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:355,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:355,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:359,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:361,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:363,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:363,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:365,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:365,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:369,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:371,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:373,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 374
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - pending_skipped
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - total_skipped
    - correctly_skipped
    - ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, SubreleaseCorrectnessWithChangingIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:69,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:81,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:81,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:110,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:111,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:116,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:117,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - num_pages
    - num_hugepages
    - num_free_pages
    argTypes:
    - Length
    - HugeLength
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateInterestingPoints
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    - Length
    linkageType: ''
    returnType: void
    signature: "void StatsTrackerTest::GenerateInterestingPoints(Length num_pages,\n
      \                                                HugeLength num_hugepages,\n
      \                                                Length num_free_pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:130,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - num_pages
    - num_free_pages
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateDemandPoint
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    - Length
    linkageType: ''
    returnType: void
    signature: "void StatsTrackerTest::GenerateDemandPoint(Length num_pages,\n                                           Length
      num_free_pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:145,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:145,1
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:149,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:149,1
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:153,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:153,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:158,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:158,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:160,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:161,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:164,1
    - Dst: StrEq
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - std::string::begin
    - absl::Minutes
    - Length
    - Printer::SpaceRequired
    - Advance
    - EXPECT_THAT
    - Print
    - std::string::erase
    - std::string::size
    - StrEq
    - NHugePages
    - GenerateInterestingPoints
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:180,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:180,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:181,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:182,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:182,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:183,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - min_free_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::InfiniteDuration
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, InvalidDurations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:188,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:188,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:190,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:190,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:192,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:192,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:195,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:196,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:196,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:197,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:198,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:198,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:200,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:200,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:203,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:204,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:204,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:206,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:206,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:209,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:210,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 211
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - GetRecentPeak
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentPeaks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:218,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:218,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:221,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:221,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:224,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:224,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:230,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:230,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:233,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:233,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:235,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:235,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:241,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:241,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:243,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:243,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:249,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - absl::Minutes
    - Length
    - GetRecentDemand
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentDemand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:262,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:262,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:264,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:264,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:271,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:271,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:275,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 276
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - GetRecentDemand
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentDemandAndCappedToPeak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:281,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:281,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:283,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:283,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:285,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:285,1
    - Dst: RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:287,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:287,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:289,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:289,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:291,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:291,1
    - Dst: RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:293,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - RealizedFragmentation
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRealizedFragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:301,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:301,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:306,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:306,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:310,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:312,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:314,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:314,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:317,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:317,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:325,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:327,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:329,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:329,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:332,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:332,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:335,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:335,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:339,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:341,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:343,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - pending_skipped
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - total_skipped
    - correctly_skipped
    - ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, TrackCorrectSubreleaseDecisions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:350,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:350,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:354,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:355,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:355,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:359,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:361,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:363,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:363,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:365,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:365,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:369,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:371,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:373,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 374
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - pending_skipped
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - total_skipped
    - correctly_skipped
    - ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, SubreleaseCorrectnessWithChangingIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:69,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:81,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:81,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:110,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:111,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:116,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:117,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - num_pages
    - num_hugepages
    - num_free_pages
    argTypes:
    - Length
    - HugeLength
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateInterestingPoints
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    - Length
    linkageType: ''
    returnType: void
    signature: "void StatsTrackerTest::GenerateInterestingPoints(Length num_pages,\n
      \                                                HugeLength num_hugepages,\n
      \                                                Length num_free_pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:130,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - num_pages
    - num_free_pages
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateDemandPoint
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    - Length
    linkageType: ''
    returnType: void
    signature: "void StatsTrackerTest::GenerateDemandPoint(Length num_pages,\n                                           Length
      num_free_pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:145,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:145,1
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:149,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:149,1
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:153,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:153,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:158,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:158,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:160,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:161,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:164,1
    - Dst: StrEq
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - std::string::begin
    - absl::Minutes
    - Length
    - Printer::SpaceRequired
    - Advance
    - EXPECT_THAT
    - Print
    - std::string::erase
    - std::string::size
    - StrEq
    - NHugePages
    - GenerateInterestingPoints
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:180,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:180,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:181,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:182,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:182,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:183,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - min_free_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::InfiniteDuration
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, InvalidDurations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:188,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:188,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:190,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:190,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:192,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:192,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:195,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:196,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:196,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:197,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:198,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:198,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:200,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:200,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:203,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:204,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:204,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:206,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:206,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:209,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:210,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 211
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - GetRecentPeak
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentPeaks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:218,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:218,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:221,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:221,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:224,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:224,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:230,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:230,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:233,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:233,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:235,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:235,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:241,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:241,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:243,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:243,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:249,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - absl::Minutes
    - Length
    - GetRecentDemand
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentDemand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:262,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:262,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:264,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:264,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:271,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:271,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:275,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 276
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - GetRecentDemand
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentDemandAndCappedToPeak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:281,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:281,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:283,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:283,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:285,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:285,1
    - Dst: RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:287,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:287,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:289,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:289,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:291,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:291,1
    - Dst: RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:293,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - RealizedFragmentation
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRealizedFragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:301,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:301,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:306,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:306,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:310,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:312,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:314,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:314,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:317,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:317,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:325,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:327,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:329,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:329,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:332,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:332,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:335,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:335,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:339,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:341,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:343,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - pending_skipped
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - total_skipped
    - correctly_skipped
    - ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, TrackCorrectSubreleaseDecisions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:350,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:350,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:354,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:355,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:355,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:359,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:361,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:363,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:363,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:365,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:365,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:369,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:371,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:373,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 374
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - pending_skipped
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - total_skipped
    - correctly_skipped
    - ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, SubreleaseCorrectnessWithChangingIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:69,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:81,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:81,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:110,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:111,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:116,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:117,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - num_pages
    - num_hugepages
    - num_free_pages
    argTypes:
    - Length
    - HugeLength
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateInterestingPoints
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    - Length
    linkageType: ''
    returnType: void
    signature: "void StatsTrackerTest::GenerateInterestingPoints(Length num_pages,\n
      \                                                HugeLength num_hugepages,\n
      \                                                Length num_free_pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:130,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - num_pages
    - num_free_pages
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateDemandPoint
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    - Length
    linkageType: ''
    returnType: void
    signature: "void StatsTrackerTest::GenerateDemandPoint(Length num_pages,\n                                           Length
      num_free_pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:145,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:145,1
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:149,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:149,1
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:153,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:153,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:158,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:158,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:160,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:161,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:164,1
    - Dst: StrEq
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - std::string::begin
    - absl::Minutes
    - Length
    - Printer::SpaceRequired
    - Advance
    - EXPECT_THAT
    - Print
    - std::string::erase
    - std::string::size
    - StrEq
    - NHugePages
    - GenerateInterestingPoints
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:180,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:180,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:181,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:182,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:182,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:183,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - min_free_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::InfiniteDuration
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, InvalidDurations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:188,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:188,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:190,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:190,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:192,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:192,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:195,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:196,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:196,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:197,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:198,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:198,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:200,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:200,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:203,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:204,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:204,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:206,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:206,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:209,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:210,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 211
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - GetRecentPeak
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentPeaks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:218,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:218,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:221,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:221,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:224,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:224,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:230,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:230,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:233,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:233,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:235,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:235,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:241,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:241,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:243,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:243,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:249,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - absl::Minutes
    - Length
    - GetRecentDemand
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentDemand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:262,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:262,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:264,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:264,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:271,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:271,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:275,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 276
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - GetRecentDemand
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentDemandAndCappedToPeak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:281,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:281,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:283,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:283,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:285,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:285,1
    - Dst: RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:287,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:287,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:289,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:289,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:291,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:291,1
    - Dst: RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:293,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - RealizedFragmentation
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRealizedFragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:301,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:301,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:306,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:306,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:310,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:312,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:314,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:314,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:317,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:317,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:325,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:327,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:329,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:329,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:332,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:332,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:335,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:335,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:339,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:341,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:343,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - pending_skipped
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - total_skipped
    - correctly_skipped
    - ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, TrackCorrectSubreleaseDecisions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:350,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:350,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:354,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:355,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:355,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:359,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:361,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:363,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:363,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:365,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:365,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:369,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:371,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:373,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 374
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - pending_skipped
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - total_skipped
    - correctly_skipped
    - ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, SubreleaseCorrectnessWithChangingIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:69,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:81,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:81,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:110,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:111,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:116,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:117,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - num_pages
    - num_hugepages
    - num_free_pages
    argTypes:
    - Length
    - HugeLength
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateInterestingPoints
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    - Length
    linkageType: ''
    returnType: void
    signature: "void StatsTrackerTest::GenerateInterestingPoints(Length num_pages,\n
      \                                                HugeLength num_hugepages,\n
      \                                                Length num_free_pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:130,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - num_pages
    - num_free_pages
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateDemandPoint
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    - Length
    linkageType: ''
    returnType: void
    signature: "void StatsTrackerTest::GenerateDemandPoint(Length num_pages,\n                                           Length
      num_free_pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:145,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:145,1
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:149,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:149,1
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:153,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:153,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:158,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:158,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:160,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:161,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:164,1
    - Dst: StrEq
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - std::string::begin
    - absl::Minutes
    - Length
    - Printer::SpaceRequired
    - Advance
    - EXPECT_THAT
    - Print
    - std::string::erase
    - std::string::size
    - StrEq
    - NHugePages
    - GenerateInterestingPoints
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:180,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:180,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:181,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:182,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:182,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:183,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - min_free_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::InfiniteDuration
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, InvalidDurations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:188,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:188,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:190,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:190,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:192,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:192,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:195,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:196,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:196,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:197,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:198,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:198,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:200,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:200,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:203,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:204,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:204,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:206,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:206,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:209,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:210,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 211
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - GetRecentPeak
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentPeaks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:218,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:218,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:221,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:221,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:224,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:224,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:230,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:230,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:233,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:233,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:235,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:235,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:241,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:241,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:243,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:243,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:249,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - absl::Minutes
    - Length
    - GetRecentDemand
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentDemand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:262,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:262,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:264,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:264,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:271,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:271,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:275,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 276
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - GetRecentDemand
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentDemandAndCappedToPeak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:281,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:281,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:283,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:283,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:285,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:285,1
    - Dst: RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:287,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:287,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:289,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:289,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:291,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:291,1
    - Dst: RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:293,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - RealizedFragmentation
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRealizedFragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:301,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:301,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:306,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:306,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:310,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:312,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:314,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:314,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:317,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:317,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:325,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:327,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:329,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:329,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:332,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:332,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:335,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:335,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:339,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:341,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:343,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - pending_skipped
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - total_skipped
    - correctly_skipped
    - ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, TrackCorrectSubreleaseDecisions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:350,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:350,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:354,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:355,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:355,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:359,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:361,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:363,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:363,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:365,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:365,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:369,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:371,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:373,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 374
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - pending_skipped
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - total_skipped
    - correctly_skipped
    - ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, SubreleaseCorrectnessWithChangingIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:69,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:81,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:81,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:110,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:111,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:116,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:117,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - num_pages
    - num_hugepages
    - num_free_pages
    argTypes:
    - Length
    - HugeLength
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateInterestingPoints
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    - Length
    linkageType: ''
    returnType: void
    signature: "void StatsTrackerTest::GenerateInterestingPoints(Length num_pages,\n
      \                                                HugeLength num_hugepages,\n
      \                                                Length num_free_pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:130,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - num_pages
    - num_free_pages
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateDemandPoint
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    - Length
    linkageType: ''
    returnType: void
    signature: "void StatsTrackerTest::GenerateDemandPoint(Length num_pages,\n                                           Length
      num_free_pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:145,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:145,1
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:149,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:149,1
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:153,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:153,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:158,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:158,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:160,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:161,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:164,1
    - Dst: StrEq
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - std::string::begin
    - absl::Minutes
    - Length
    - Printer::SpaceRequired
    - Advance
    - EXPECT_THAT
    - Print
    - std::string::erase
    - std::string::size
    - StrEq
    - NHugePages
    - GenerateInterestingPoints
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:180,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:180,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:181,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:182,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:182,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:183,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - min_free_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::InfiniteDuration
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, InvalidDurations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:188,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:188,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:190,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:190,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:192,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:192,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:195,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:196,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:196,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:197,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:198,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:198,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:200,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:200,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:203,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:204,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:204,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:206,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:206,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:209,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:210,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 211
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - GetRecentPeak
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentPeaks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:218,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:218,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:221,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:221,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:224,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:224,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:230,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:230,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:233,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:233,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:235,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:235,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:241,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:241,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:243,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:243,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:249,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - absl::Minutes
    - Length
    - GetRecentDemand
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentDemand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:262,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:262,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:264,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:264,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:271,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:271,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:275,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 276
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - GetRecentDemand
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentDemandAndCappedToPeak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:281,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:281,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:283,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:283,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:285,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:285,1
    - Dst: RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:287,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:287,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:289,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:289,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:291,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:291,1
    - Dst: RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:293,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - RealizedFragmentation
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRealizedFragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:301,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:301,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:306,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:306,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:310,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:312,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:314,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:314,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:317,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:317,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:325,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:327,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:329,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:329,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:332,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:332,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:335,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:335,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:339,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:341,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:343,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - pending_skipped
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - total_skipped
    - correctly_skipped
    - ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, TrackCorrectSubreleaseDecisions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:350,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:350,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:354,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:355,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:355,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:359,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:361,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:363,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:363,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:365,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:365,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:369,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:371,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:373,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 374
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - pending_skipped
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - total_skipped
    - correctly_skipped
    - ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, SubreleaseCorrectnessWithChangingIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:69,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:81,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:81,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:110,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:111,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:116,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:117,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - num_pages
    - num_hugepages
    - num_free_pages
    argTypes:
    - Length
    - HugeLength
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateInterestingPoints
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    - Length
    linkageType: ''
    returnType: void
    signature: "void StatsTrackerTest::GenerateInterestingPoints(Length num_pages,\n
      \                                                HugeLength num_hugepages,\n
      \                                                Length num_free_pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:130,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - num_pages
    - num_free_pages
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateDemandPoint
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    - Length
    linkageType: ''
    returnType: void
    signature: "void StatsTrackerTest::GenerateDemandPoint(Length num_pages,\n                                           Length
      num_free_pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:144,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:145,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:145,1
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:147,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:149,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:149,1
    - Dst: GenerateInterestingPoints
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:151,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:153,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:153,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:158,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:158,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:160,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:161,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:164,1
    - Dst: StrEq
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - std::string::begin
    - absl::Minutes
    - Length
    - Printer::SpaceRequired
    - Advance
    - EXPECT_THAT
    - Print
    - std::string::erase
    - std::string::size
    - StrEq
    - NHugePages
    - GenerateInterestingPoints
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:180,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:180,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:181,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:182,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:182,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:183,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - min_free_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::InfiniteDuration
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, InvalidDurations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:187,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:188,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:188,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:189,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:190,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:190,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:191,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:192,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:192,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:193,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:195,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:196,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:196,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:197,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:198,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:198,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:200,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:200,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:201,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:203,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:204,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:204,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:206,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:206,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:207,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:209,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:210,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 211
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - GetRecentPeak
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentPeaks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:216,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:217,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:218,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:218,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:219,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:220,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:221,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:221,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:222,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:223,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:224,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:224,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:225,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:226,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:230,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:230,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:233,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:233,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:235,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:235,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:236,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:237,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:241,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:241,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:243,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:243,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:244,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:245,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:249,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:253,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - absl::Minutes
    - Length
    - GetRecentDemand
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentDemand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:260,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:261,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:262,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:262,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:263,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:264,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:264,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:265,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:266,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:271,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:271,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:273,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:275,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 276
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - GetRecentDemand
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRecentDemandAndCappedToPeak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:280,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:281,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:281,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:282,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:283,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:283,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:284,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:285,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:285,1
    - Dst: RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:287,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:287,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:289,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:289,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:290,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:291,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:291,1
    - Dst: RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:293,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - RealizedFragmentation
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, ComputeRealizedFragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:298,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:301,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:301,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:302,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:303,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:306,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:306,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:307,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:310,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:312,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:314,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:314,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:317,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:317,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:318,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:319,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:320,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:321,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:325,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:327,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:329,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:329,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:332,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:332,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:333,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:335,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:335,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:339,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:341,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:343,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - pending_skipped
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - total_skipped
    - correctly_skipped
    - ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, TrackCorrectSubreleaseDecisions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:348,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:350,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:350,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:351,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:353,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:354,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:355,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:355,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:358,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:359,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:360,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:361,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:363,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:363,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:364,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:365,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:365,1
    - Dst: GenerateDemandPoint
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:369,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:371,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:373,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 374
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - pending_skipped
    - Length
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - total_skipped
    - correctly_skipped
    - ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatsTrackerTest, SubreleaseCorrectnessWithChangingIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: operator!=(const AllocationEntry& x, const AllocationEntry& y)
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const AllocationEntry& x, const AllocationEntry& y)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:72,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 101
    functionName: operator==(const AllocationEntry& x, const AllocationEntry& y)
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const AllocationEntry& x, const AllocationEntry& y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:107,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:112,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:112,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:113,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:119,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' table'
    - expected
    argTypes:
    - StackTraceTable
    - std::initializer_list<AllocationEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::CheckTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_LE
    - testing::UnorderedElementsAreArray
    - std::vector::push_back
    - EXPECT_THAT
    - std::copy
    - ABSL_ARRAYSIZE
    - static_cast<uint8_t>
    - Iterate
    linkageType: ''
    returnType: void
    signature: "void CheckTraces(const StackTraceTable& table,\n                 std::initializer_list<AllocationEntry>
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StackTraceTable*::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - count
    - ' t'
    argTypes:
    - StackTraceTable*
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: tcmalloc::tcmalloc_internal::AddTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - StackTraceTable*::AddTrace
    linkageType: ''
    returnType: void
    signature: void AddTrace(StackTraceTable* table, double count, const StackTrace&
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:135,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:144,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:148,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:149,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:150,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:154,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:155,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:156,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:169,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:169,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:173,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:174,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:175,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:179,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:180,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:181,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:194,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:194,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:199,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:203,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:205,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:219,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:230,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:230,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:235,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:239,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:239,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:241,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:246,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:251,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:251,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:253,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:261,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:263,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:263,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:264,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:270,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:273,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:275,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:275,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:277,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:282,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:284,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:288,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:289,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:290,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:303,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:303,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:308,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:311,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:315,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:320,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:321,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:322,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:326,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:327,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:328,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:341,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:341,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:346,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:349,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:351,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:351,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:358,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:359,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:360,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:364,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:365,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:366,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:379,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:379,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:384,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:387,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:389,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:389,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 393
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - InitIfNecessary
    - StackTraceTable::depth_total
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::AddTrace
    - SCOPED_TRACE
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckTraces
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST(StackTraceTableTest, StackTraceTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: operator!=(const AllocationEntry& x, const AllocationEntry& y)
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const AllocationEntry& x, const AllocationEntry& y)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:72,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 101
    functionName: operator==(const AllocationEntry& x, const AllocationEntry& y)
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const AllocationEntry& x, const AllocationEntry& y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:107,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:112,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:112,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:113,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:119,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' table'
    - expected
    argTypes:
    - StackTraceTable
    - std::initializer_list<AllocationEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::CheckTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 1
    functionsReached:
    - ASSERT_LE
    - testing::UnorderedElementsAreArray
    - std::vector::push_back
    - EXPECT_THAT
    - std::copy
    - ABSL_ARRAYSIZE
    - static_cast<uint8_t>
    - Iterate
    linkageType: ''
    returnType: void
    signature: "void CheckTraces(const StackTraceTable& table,\n                 std::initializer_list<AllocationEntry>
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StackTraceTable*::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - count
    - ' t'
    argTypes:
    - StackTraceTable*
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: tcmalloc::tcmalloc_internal::AddTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 1
    functionsReached:
    - StackTraceTable*::AddTrace
    linkageType: ''
    returnType: void
    signature: void AddTrace(StackTraceTable* table, double count, const StackTrace&
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:135,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:144,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:148,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:149,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:150,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:154,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:155,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:156,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:169,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:169,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:173,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:174,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:175,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:179,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:180,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:181,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:194,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:194,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:199,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:203,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:205,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:219,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:230,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:230,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:235,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:239,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:239,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:241,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:246,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:251,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:251,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:253,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:261,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:263,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:263,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:264,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:270,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:273,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:275,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:275,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:277,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:282,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:284,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:288,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:289,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:290,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:303,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:303,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:308,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:311,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:315,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:320,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:321,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:322,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:326,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:327,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:328,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:341,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:341,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:346,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:349,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:351,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:351,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:358,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:359,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:360,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:364,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:365,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:366,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:379,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:379,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:384,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:387,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:389,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:389,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 393
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - InitIfNecessary
    - StackTraceTable::depth_total
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::AddTrace
    - SCOPED_TRACE
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckTraces
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST(StackTraceTableTest, StackTraceTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: operator!=(const AllocationEntry& x, const AllocationEntry& y)
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const AllocationEntry& x, const AllocationEntry& y)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:72,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 101
    functionName: operator==(const AllocationEntry& x, const AllocationEntry& y)
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const AllocationEntry& x, const AllocationEntry& y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:107,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:112,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:112,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:113,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:119,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' table'
    - expected
    argTypes:
    - StackTraceTable
    - std::initializer_list<AllocationEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::CheckTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 2
    functionsReached:
    - ASSERT_LE
    - testing::UnorderedElementsAreArray
    - std::vector::push_back
    - EXPECT_THAT
    - std::copy
    - ABSL_ARRAYSIZE
    - static_cast<uint8_t>
    - Iterate
    linkageType: ''
    returnType: void
    signature: "void CheckTraces(const StackTraceTable& table,\n                 std::initializer_list<AllocationEntry>
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StackTraceTable*::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - count
    - ' t'
    argTypes:
    - StackTraceTable*
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: tcmalloc::tcmalloc_internal::AddTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 2
    functionsReached:
    - StackTraceTable*::AddTrace
    linkageType: ''
    returnType: void
    signature: void AddTrace(StackTraceTable* table, double count, const StackTrace&
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:135,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:144,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:148,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:149,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:150,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:154,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:155,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:156,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:169,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:169,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:173,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:174,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:175,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:179,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:180,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:181,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:194,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:194,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:199,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:203,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:205,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:219,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:230,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:230,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:235,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:239,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:239,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:241,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:246,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:251,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:251,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:253,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:261,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:263,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:263,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:264,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:270,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:273,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:275,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:275,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:277,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:282,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:284,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:288,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:289,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:290,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:303,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:303,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:308,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:311,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:315,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:320,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:321,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:322,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:326,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:327,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:328,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:341,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:341,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:346,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:349,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:351,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:351,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:358,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:359,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:360,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:364,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:365,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:366,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:379,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:379,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:384,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:387,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:389,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:389,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 393
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - InitIfNecessary
    - StackTraceTable::depth_total
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::AddTrace
    - SCOPED_TRACE
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckTraces
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST(StackTraceTableTest, StackTraceTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: operator!=(const AllocationEntry& x, const AllocationEntry& y)
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const AllocationEntry& x, const AllocationEntry& y)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:72,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 101
    functionName: operator==(const AllocationEntry& x, const AllocationEntry& y)
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const AllocationEntry& x, const AllocationEntry& y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:107,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:112,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:112,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:113,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:119,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' table'
    - expected
    argTypes:
    - StackTraceTable
    - std::initializer_list<AllocationEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::CheckTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 3
    functionsReached:
    - ASSERT_LE
    - testing::UnorderedElementsAreArray
    - std::vector::push_back
    - EXPECT_THAT
    - std::copy
    - ABSL_ARRAYSIZE
    - static_cast<uint8_t>
    - Iterate
    linkageType: ''
    returnType: void
    signature: "void CheckTraces(const StackTraceTable& table,\n                 std::initializer_list<AllocationEntry>
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StackTraceTable*::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - count
    - ' t'
    argTypes:
    - StackTraceTable*
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: tcmalloc::tcmalloc_internal::AddTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 3
    functionsReached:
    - StackTraceTable*::AddTrace
    linkageType: ''
    returnType: void
    signature: void AddTrace(StackTraceTable* table, double count, const StackTrace&
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:135,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:144,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:148,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:149,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:150,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:154,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:155,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:156,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:169,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:169,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:173,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:174,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:175,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:179,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:180,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:181,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:194,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:194,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:199,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:203,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:205,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:219,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:230,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:230,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:235,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:239,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:239,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:241,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:246,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:251,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:251,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:253,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:261,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:263,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:263,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:264,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:270,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:273,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:275,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:275,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:277,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:282,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:284,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:288,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:289,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:290,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:303,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:303,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:308,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:311,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:315,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:320,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:321,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:322,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:326,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:327,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:328,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:341,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:341,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:346,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:349,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:351,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:351,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:358,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:359,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:360,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:364,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:365,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:366,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:379,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:379,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:384,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:387,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:389,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:389,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 393
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - InitIfNecessary
    - StackTraceTable::depth_total
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::AddTrace
    - SCOPED_TRACE
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckTraces
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST(StackTraceTableTest, StackTraceTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: operator!=(const AllocationEntry& x, const AllocationEntry& y)
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const AllocationEntry& x, const AllocationEntry& y)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:72,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 101
    functionName: operator==(const AllocationEntry& x, const AllocationEntry& y)
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const AllocationEntry& x, const AllocationEntry& y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:107,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:112,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:112,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:113,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:119,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' table'
    - expected
    argTypes:
    - StackTraceTable
    - std::initializer_list<AllocationEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::CheckTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 4
    functionsReached:
    - ASSERT_LE
    - testing::UnorderedElementsAreArray
    - std::vector::push_back
    - EXPECT_THAT
    - std::copy
    - ABSL_ARRAYSIZE
    - static_cast<uint8_t>
    - Iterate
    linkageType: ''
    returnType: void
    signature: "void CheckTraces(const StackTraceTable& table,\n                 std::initializer_list<AllocationEntry>
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StackTraceTable*::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - count
    - ' t'
    argTypes:
    - StackTraceTable*
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: tcmalloc::tcmalloc_internal::AddTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 4
    functionsReached:
    - StackTraceTable*::AddTrace
    linkageType: ''
    returnType: void
    signature: void AddTrace(StackTraceTable* table, double count, const StackTrace&
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:135,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:144,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:148,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:149,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:150,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:154,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:155,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:156,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:169,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:169,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:173,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:174,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:175,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:179,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:180,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:181,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:194,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:194,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:199,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:203,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:205,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:219,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:230,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:230,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:235,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:239,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:239,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:241,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:246,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:251,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:251,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:253,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:261,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:263,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:263,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:264,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:270,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:273,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:275,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:275,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:277,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:282,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:284,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:288,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:289,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:290,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:303,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:303,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:308,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:311,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:315,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:320,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:321,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:322,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:326,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:327,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:328,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:341,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:341,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:346,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:349,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:351,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:351,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:358,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:359,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:360,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:364,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:365,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:366,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:379,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:379,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:384,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:387,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:389,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:389,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 393
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - InitIfNecessary
    - StackTraceTable::depth_total
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::AddTrace
    - SCOPED_TRACE
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckTraces
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST(StackTraceTableTest, StackTraceTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: operator!=(const AllocationEntry& x, const AllocationEntry& y)
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const AllocationEntry& x, const AllocationEntry& y)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:72,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 101
    functionName: operator==(const AllocationEntry& x, const AllocationEntry& y)
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const AllocationEntry& x, const AllocationEntry& y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:107,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:112,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:112,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:113,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:119,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' table'
    - expected
    argTypes:
    - StackTraceTable
    - std::initializer_list<AllocationEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::CheckTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 5
    functionsReached:
    - ASSERT_LE
    - testing::UnorderedElementsAreArray
    - std::vector::push_back
    - EXPECT_THAT
    - std::copy
    - ABSL_ARRAYSIZE
    - static_cast<uint8_t>
    - Iterate
    linkageType: ''
    returnType: void
    signature: "void CheckTraces(const StackTraceTable& table,\n                 std::initializer_list<AllocationEntry>
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StackTraceTable*::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - count
    - ' t'
    argTypes:
    - StackTraceTable*
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: tcmalloc::tcmalloc_internal::AddTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 5
    functionsReached:
    - StackTraceTable*::AddTrace
    linkageType: ''
    returnType: void
    signature: void AddTrace(StackTraceTable* table, double count, const StackTrace&
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:135,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:144,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:148,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:149,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:150,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:154,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:155,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:156,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:169,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:169,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:173,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:174,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:175,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:179,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:180,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:181,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:194,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:194,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:199,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:203,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:205,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:219,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:230,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:230,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:235,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:239,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:239,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:241,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:246,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:251,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:251,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:253,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:261,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:263,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:263,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:264,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:270,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:273,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:275,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:275,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:277,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:282,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:284,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:288,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:289,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:290,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:303,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:303,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:308,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:311,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:315,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:320,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:321,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:322,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:326,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:327,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:328,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:341,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:341,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:346,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:349,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:351,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:351,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:358,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:359,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:360,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:364,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:365,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:366,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:379,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:379,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:384,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:387,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:389,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:389,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 393
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - InitIfNecessary
    - StackTraceTable::depth_total
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::AddTrace
    - SCOPED_TRACE
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckTraces
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST(StackTraceTableTest, StackTraceTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: operator!=(const AllocationEntry& x, const AllocationEntry& y)
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const AllocationEntry& x, const AllocationEntry& y)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:72,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 101
    functionName: operator==(const AllocationEntry& x, const AllocationEntry& y)
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const AllocationEntry& x, const AllocationEntry& y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:107,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:112,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:112,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:113,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:119,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' table'
    - expected
    argTypes:
    - StackTraceTable
    - std::initializer_list<AllocationEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::CheckTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 6
    functionsReached:
    - ASSERT_LE
    - testing::UnorderedElementsAreArray
    - std::vector::push_back
    - EXPECT_THAT
    - std::copy
    - ABSL_ARRAYSIZE
    - static_cast<uint8_t>
    - Iterate
    linkageType: ''
    returnType: void
    signature: "void CheckTraces(const StackTraceTable& table,\n                 std::initializer_list<AllocationEntry>
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StackTraceTable*::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - count
    - ' t'
    argTypes:
    - StackTraceTable*
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: tcmalloc::tcmalloc_internal::AddTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 6
    functionsReached:
    - StackTraceTable*::AddTrace
    linkageType: ''
    returnType: void
    signature: void AddTrace(StackTraceTable* table, double count, const StackTrace&
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:135,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:144,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:148,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:149,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:150,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:154,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:155,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:156,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:169,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:169,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:173,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:174,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:175,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:179,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:180,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:181,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:194,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:194,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:199,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:203,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:205,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:219,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:230,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:230,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:235,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:239,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:239,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:241,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:246,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:251,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:251,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:253,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:261,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:263,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:263,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:264,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:270,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:273,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:275,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:275,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:277,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:282,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:284,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:288,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:289,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:290,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:303,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:303,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:308,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:311,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:315,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:320,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:321,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:322,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:326,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:327,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:328,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:341,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:341,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:346,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:349,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:351,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:351,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:358,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:359,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:360,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:364,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:365,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:366,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:379,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:379,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:384,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:387,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:389,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:389,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 393
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - InitIfNecessary
    - StackTraceTable::depth_total
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::AddTrace
    - SCOPED_TRACE
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckTraces
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST(StackTraceTableTest, StackTraceTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: operator!=(const AllocationEntry& x, const AllocationEntry& y)
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const AllocationEntry& x, const AllocationEntry& y)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:72,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 101
    functionName: operator==(const AllocationEntry& x, const AllocationEntry& y)
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const AllocationEntry& x, const AllocationEntry& y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:107,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:112,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:112,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:113,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:119,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' table'
    - expected
    argTypes:
    - StackTraceTable
    - std::initializer_list<AllocationEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::CheckTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 7
    functionsReached:
    - ASSERT_LE
    - testing::UnorderedElementsAreArray
    - std::vector::push_back
    - EXPECT_THAT
    - std::copy
    - ABSL_ARRAYSIZE
    - static_cast<uint8_t>
    - Iterate
    linkageType: ''
    returnType: void
    signature: "void CheckTraces(const StackTraceTable& table,\n                 std::initializer_list<AllocationEntry>
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StackTraceTable*::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - count
    - ' t'
    argTypes:
    - StackTraceTable*
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: tcmalloc::tcmalloc_internal::AddTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 7
    functionsReached:
    - StackTraceTable*::AddTrace
    linkageType: ''
    returnType: void
    signature: void AddTrace(StackTraceTable* table, double count, const StackTrace&
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:135,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:144,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:148,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:149,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:150,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:154,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:155,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:156,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:169,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:169,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:173,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:174,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:175,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:179,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:180,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:181,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:194,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:194,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:199,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:203,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:205,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:219,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:230,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:230,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:235,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:239,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:239,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:241,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:246,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:251,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:251,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:253,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:261,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:263,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:263,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:264,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:270,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:273,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:275,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:275,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:277,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:282,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:284,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:288,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:289,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:290,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:303,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:303,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:308,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:311,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:315,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:320,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:321,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:322,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:326,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:327,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:328,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:341,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:341,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:346,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:349,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:351,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:351,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:358,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:359,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:360,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:364,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:365,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:366,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:379,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:379,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:384,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:387,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:389,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:389,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 393
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - InitIfNecessary
    - StackTraceTable::depth_total
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::AddTrace
    - SCOPED_TRACE
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckTraces
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST(StackTraceTableTest, StackTraceTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_callback_
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:41,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 0
    functionsReached:
    - release_callback_
    - insert
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:61,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:62,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:76,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:76,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:78,1
    - Dst: MockUnback::released_::reserve
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:80,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:80,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:81,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:81,1
    - Dst: MockUnback::released_::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:83,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:90,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:96,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:103,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:103,1
    - Dst: HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:106,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:110,1
    - Dst: MockUnback::released_::find
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:116,1
    - Dst: MockUnback::released_::end
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:117,1
    - Dst: MockUnback::released_::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:118,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:123,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:133,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:139,1
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:143,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:143,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:144,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:144,1
    - Dst: HugeRegion::Put
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:146,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:152,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:154,1
    - Dst: HugeRegion::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:154,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:154,1
    - Dst: HugeRegion::Release
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:158,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:158,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:159,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:159,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:161,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:163,1
    - Dst: HugeRegion::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:169,1
    - Dst: HugeRegion::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:172,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:183,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:187,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:195,1
    - Dst: HugeRegion::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:198,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:200,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:200,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:200,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:207,1
    - Dst: HugeRegion::Print
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:208,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:220,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:229,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:230,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:233,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:237,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:241,1
    - Dst: HugeRegion::Put
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:244,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 100
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 246
    functionName: tcmalloc::tcmalloc_internal::FuzzRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 0
    functionsReached:
    - MockUnback::released_::find
    - std::vector::back
    - Length
    - Printer::SpaceRequired
    - HugeRegion::stats
    - HLFromPages
    - std::min
    - reinterpret_cast<void*>
    - TC_CHECK_LE
    - NHugePages
    - CHECK_LE
    - CHECK
    - TC_CHECK_GT
    - HugeRegion::PrintInPbtxt
    - size
    - MockUnback::released_::end
    - HugeRegion::Release
    - std::max<size_t>
    - std::vector::pop_back
    - data
    - HugeRegion::AddSpanStats
    - HugeRegion::MaybeGet
    - std::vector::resize
    - HugeRegion::free_backed
    - HugePage::first_page
    - MockUnback::released_::insert
    - memcpy
    - TC_CHECK_EQ
    - std::string::resize
    - MockUnback::released_::reserve
    - std::string::size
    - run_dsl
    - std::vector::empty
    - HugeRegion::Put
    - HugePageContaining
    - swap
    - std::vector::size
    - std::vector::emplace_back
    - HugeRegion::size
    - MockUnback::released_::erase
    - HugeRegion::Print
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void FuzzRegion(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:252,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::string
    - tcmalloc::tcmalloc_internal::FuzzRegion
    linkageType: ''
    returnType: void
    signature: void TEST(HugeRegionTest, b339521569)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_callback_
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:41,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 0
    functionsReached:
    - release_callback_
    - insert
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:61,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:62,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:76,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:76,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:78,1
    - Dst: MockUnback::released_::reserve
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:80,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:80,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:81,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:81,1
    - Dst: MockUnback::released_::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:83,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:90,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:96,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:103,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:103,1
    - Dst: HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:106,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:110,1
    - Dst: MockUnback::released_::find
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:116,1
    - Dst: MockUnback::released_::end
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:117,1
    - Dst: MockUnback::released_::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:118,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:123,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:133,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:139,1
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:143,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:143,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:144,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:144,1
    - Dst: HugeRegion::Put
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:146,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:152,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:154,1
    - Dst: HugeRegion::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:154,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:154,1
    - Dst: HugeRegion::Release
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:158,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:158,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:159,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:159,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:161,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:163,1
    - Dst: HugeRegion::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:169,1
    - Dst: HugeRegion::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:172,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:183,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:187,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:195,1
    - Dst: HugeRegion::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:198,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:200,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:200,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:200,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:207,1
    - Dst: HugeRegion::Print
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:208,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:220,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:229,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:230,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:233,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:237,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:241,1
    - Dst: HugeRegion::Put
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:244,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 100
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 246
    functionName: tcmalloc::tcmalloc_internal::FuzzRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 1
    functionsReached:
    - MockUnback::released_::find
    - std::vector::back
    - Length
    - Printer::SpaceRequired
    - HugeRegion::stats
    - HLFromPages
    - std::min
    - reinterpret_cast<void*>
    - TC_CHECK_LE
    - NHugePages
    - CHECK_LE
    - CHECK
    - TC_CHECK_GT
    - HugeRegion::PrintInPbtxt
    - size
    - MockUnback::released_::end
    - HugeRegion::Release
    - std::max<size_t>
    - std::vector::pop_back
    - data
    - HugeRegion::AddSpanStats
    - HugeRegion::MaybeGet
    - std::vector::resize
    - HugeRegion::free_backed
    - HugePage::first_page
    - MockUnback::released_::insert
    - memcpy
    - TC_CHECK_EQ
    - std::string::resize
    - MockUnback::released_::reserve
    - std::string::size
    - run_dsl
    - std::vector::empty
    - HugeRegion::Put
    - HugePageContaining
    - swap
    - std::vector::size
    - std::vector::emplace_back
    - HugeRegion::size
    - MockUnback::released_::erase
    - HugeRegion::Print
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void FuzzRegion(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:252,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::string
    - tcmalloc::tcmalloc_internal::FuzzRegion
    linkageType: ''
    returnType: void
    signature: void TEST(HugeRegionTest, b339521569)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_callback_
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:41,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 0
    functionsReached:
    - release_callback_
    - insert
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:61,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:62,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:76,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:76,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:78,1
    - Dst: MockUnback::released_::reserve
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:80,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:80,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:81,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:81,1
    - Dst: MockUnback::released_::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:83,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:90,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:96,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:103,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:103,1
    - Dst: HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:106,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:110,1
    - Dst: MockUnback::released_::find
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:116,1
    - Dst: MockUnback::released_::end
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:117,1
    - Dst: MockUnback::released_::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:118,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:123,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:133,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:139,1
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:143,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:143,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:144,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:144,1
    - Dst: HugeRegion::Put
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:146,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:152,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:154,1
    - Dst: HugeRegion::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:154,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:154,1
    - Dst: HugeRegion::Release
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:158,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:158,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:159,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:159,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:161,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:163,1
    - Dst: HugeRegion::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:169,1
    - Dst: HugeRegion::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:172,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:183,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:187,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:195,1
    - Dst: HugeRegion::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:198,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:200,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:200,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:200,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:207,1
    - Dst: HugeRegion::Print
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:208,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:220,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:229,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:230,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:233,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:237,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:241,1
    - Dst: HugeRegion::Put
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:244,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 100
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 246
    functionName: tcmalloc::tcmalloc_internal::FuzzRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 2
    functionsReached:
    - MockUnback::released_::find
    - std::vector::back
    - Length
    - Printer::SpaceRequired
    - HugeRegion::stats
    - HLFromPages
    - std::min
    - reinterpret_cast<void*>
    - TC_CHECK_LE
    - NHugePages
    - CHECK_LE
    - CHECK
    - TC_CHECK_GT
    - HugeRegion::PrintInPbtxt
    - size
    - MockUnback::released_::end
    - HugeRegion::Release
    - std::max<size_t>
    - std::vector::pop_back
    - data
    - HugeRegion::AddSpanStats
    - HugeRegion::MaybeGet
    - std::vector::resize
    - HugeRegion::free_backed
    - HugePage::first_page
    - MockUnback::released_::insert
    - memcpy
    - TC_CHECK_EQ
    - std::string::resize
    - MockUnback::released_::reserve
    - std::string::size
    - run_dsl
    - std::vector::empty
    - HugeRegion::Put
    - HugePageContaining
    - swap
    - std::vector::size
    - std::vector::emplace_back
    - HugeRegion::size
    - MockUnback::released_::erase
    - HugeRegion::Print
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void FuzzRegion(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:252,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::string
    - tcmalloc::tcmalloc_internal::FuzzRegion
    linkageType: ''
    returnType: void
    signature: void TEST(HugeRegionTest, b339521569)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_callback_
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:41,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 0
    functionsReached:
    - release_callback_
    - insert
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:61,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:62,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:76,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:76,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:78,1
    - Dst: MockUnback::released_::reserve
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:80,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:80,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:81,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:81,1
    - Dst: MockUnback::released_::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:83,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:90,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:96,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:103,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:103,1
    - Dst: HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:106,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:110,1
    - Dst: MockUnback::released_::find
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:116,1
    - Dst: MockUnback::released_::end
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:117,1
    - Dst: MockUnback::released_::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:118,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:123,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:133,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:139,1
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:143,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:143,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:144,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:144,1
    - Dst: HugeRegion::Put
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:146,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:152,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:154,1
    - Dst: HugeRegion::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:154,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:154,1
    - Dst: HugeRegion::Release
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:158,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:158,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:159,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:159,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:161,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:163,1
    - Dst: HugeRegion::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:169,1
    - Dst: HugeRegion::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:172,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:183,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:187,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:195,1
    - Dst: HugeRegion::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:198,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:200,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:200,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:200,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:207,1
    - Dst: HugeRegion::Print
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:208,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:220,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:229,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:230,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:233,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:237,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:241,1
    - Dst: HugeRegion::Put
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:244,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 100
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 246
    functionName: tcmalloc::tcmalloc_internal::FuzzRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 3
    functionsReached:
    - MockUnback::released_::find
    - std::vector::back
    - Length
    - Printer::SpaceRequired
    - HugeRegion::stats
    - HLFromPages
    - std::min
    - reinterpret_cast<void*>
    - TC_CHECK_LE
    - NHugePages
    - CHECK_LE
    - CHECK
    - TC_CHECK_GT
    - HugeRegion::PrintInPbtxt
    - size
    - MockUnback::released_::end
    - HugeRegion::Release
    - std::max<size_t>
    - std::vector::pop_back
    - data
    - HugeRegion::AddSpanStats
    - HugeRegion::MaybeGet
    - std::vector::resize
    - HugeRegion::free_backed
    - HugePage::first_page
    - MockUnback::released_::insert
    - memcpy
    - TC_CHECK_EQ
    - std::string::resize
    - MockUnback::released_::reserve
    - std::string::size
    - run_dsl
    - std::vector::empty
    - HugeRegion::Put
    - HugePageContaining
    - swap
    - std::vector::size
    - std::vector::emplace_back
    - HugeRegion::size
    - MockUnback::released_::erase
    - HugeRegion::Print
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void FuzzRegion(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:252,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::string
    - tcmalloc::tcmalloc_internal::FuzzRegion
    linkageType: ''
    returnType: void
    signature: void TEST(HugeRegionTest, b339521569)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: p::index
      Src: /src/tcmalloc/tcmalloc/span.h:90,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:95,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/span.h:96,1
    - Dst: p::index
      Src: /src/tcmalloc/tcmalloc/span.h:96,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/span.h:96,1
    - Dst: set_num_pages
      Src: /src/tcmalloc/tcmalloc/span.h:97,1
    - Dst: ABSL_LOCKS_EXCLUDED
      Src: /src/tcmalloc/tcmalloc/span.h:107,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.h:175,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:228,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:352,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:358,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:359,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:359,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.h:360,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:361,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:362,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:363,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:363,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:369,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:372,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:373,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span.h:373,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:373,1
    - Dst: static_cast<ObjIdx>
      Src: /src/tcmalloc/tcmalloc/span.h:375,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.h:376,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:377,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:378,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:378,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:379,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:384,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:384,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/span.h:385,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:386,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:387,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/span.h:390,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:393,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:393,1
    - Dst: BitmapPush
      Src: /src/tcmalloc/tcmalloc/span.h:394,1
    - Dst: ListPush
      Src: /src/tcmalloc/tcmalloc/span.h:396,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:400,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:405,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:407,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:410,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:411,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:416,1
    - Dst: static_cast<ObjIdx>
      Src: /src/tcmalloc/tcmalloc/span.h:425,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:432,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/span.h:433,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:433,1
    - Dst: OffsetToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:434,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:435,1
    - Dst: BitmapIdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:435,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:440,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:442,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:444,1
    - Dst: bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/span.h:444,1
    - Dst: bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/span.h:446,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:447,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:447,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:452,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:453,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:453,1
    - Dst: PageId
      Src: /src/tcmalloc/tcmalloc/span.h:459,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:462,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:463,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:463,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:463,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:465,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:469,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/span.h:470,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/span.h:470,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/span.h:470,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/span.h:471,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:475,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:475,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:476,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:480,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:481,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:483,1
    - Dst: sampled
      Src: /src/tcmalloc/tcmalloc/span.h:487,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:488,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.h:492,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:492,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:493,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:498,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:499,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:501,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:505,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:505,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:506,1
    - Dst: bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/span.h:507,1
    - Dst: PrefetchT0
      Src: /src/tcmalloc/tcmalloc/span.h:513,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:516,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:517,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:518,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:536,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 133
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 538
    functionName: tcmalloc_internal::SpanList::Elem
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - bitmap::CountBits
    - Length
    - ABSL_PREDICT_FALSE
    - static_cast<uint64_t>
    - TC_CHECK_LT
    - bitmap::SetBit
    - index
    - PageIdContaining
    - static_cast<uint32_t>
    - raw_num
    - static_cast<ObjIdx>
    - PrefetchT0
    - p::index
    - bitmap::GetBit
    - is_large_or_sampled
    - bitmap::IsZero
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    - TC_ASSERT_EQ
    - ABSL_PREDICT_TRUE
    - first_page
    - PtrToIdx
    - BitmapPush
    - load
    - TC_ASSERT_NE
    - std::atomic::store
    - TC_ASSERT_GT
    - set_num_pages
    - ListPush
    - ABSL_LOCKS_EXCLUDED
    - BitmapPtrToIdx
    - PageId
    - static_cast<uintptr_t>
    - std::atomic::load
    - UseBitmapForSize
    - IdxToPtr
    - BitmapIdxToPtr
    - tcmalloc_internal::Span::UseBitmapForSize
    - OffsetToIdx
    - reinterpret_cast<ObjIdx*>
    - sampled
    - TC_ASSERT_LT
    linkageType: ''
    returnType: class ABSL_CACHELINE_ALIGNED
    signature: class ABSL_CACHELINE_ALIGNED SpanList::Elem
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: tcmalloc_internal::Span
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Span(const Span&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: tcmalloc_internal::donated
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool donated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::set_donated
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_donated(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: tcmalloc_internal::Allocated
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Allocated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: tcmalloc_internal::nonempty_index
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t nonempty_index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: tcmalloc_internal::set_nonempty_index
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_nonempty_index(uint8_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: tcmalloc_internal::Span::AllocTime
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - is_large_or_sampled
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Span::AllocTime(size_t size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:358,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:359,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:359,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.h:360,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:361,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:362,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:363,1
    - Dst: tcmalloc_internal::Span::PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - idx
    - size
    - start
    argTypes:
    - ObjIdx
    - size_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: tcmalloc_internal::Span::IdxToPtr
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - TC_ASSERT_NE
    - tcmalloc_internal::Span::PtrToIdx
    - reinterpret_cast<ObjIdx*>
    - tcmalloc_internal::Span::first_page
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: Span::ObjIdx
    signature: "Span::ObjIdx * Span::IdxToPtr(ObjIdx idx, size_t size,\n                                    uintptr_t
      start) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:369,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:372,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:373,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span.h:373,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:373,1
    - Dst: static_cast<ObjIdx>
      Src: /src/tcmalloc/tcmalloc/span.h:375,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.h:376,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:377,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:378,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:378,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 381
    functionName: tcmalloc_internal::Span::PtrToIdx
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 1
    functionsReached:
    - static_cast<ObjIdx>
    - static_cast<uintptr_t>
    - PageIdContaining
    - TC_ASSERT_NE
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::Span::first_page
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: Span::ObjIdx
    signature: Span::ObjIdx Span::PtrToIdx(void* ptr, size_t size) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:384,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:384,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.h:385,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:386,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:387,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.h:390,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:393,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:393,1
    - Dst: tcmalloc_internal::Span::BitmapPush
      Src: /src/tcmalloc/tcmalloc/span.h:394,1
    - Dst: tcmalloc_internal::Span::ListPush
      Src: /src/tcmalloc/tcmalloc/span.h:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ptr
    - size
    - reciprocal
    argTypes:
    - void*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 397
    functionName: tcmalloc_internal::Span::FreelistPush
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::BitmapPush
    - load
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::Span::UseBitmapForSize
    - is_large_or_sampled
    - TC_ASSERT_GT
    - store
    - tcmalloc_internal::Span::ListPush
    - TC_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool Span::FreelistPush(void* ptr, size_t size, uint32_t reciprocal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:400,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:405,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:407,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:410,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:411,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 421
    functionName: tcmalloc_internal::Span::ListPush
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::Span::PtrToIdx
    - reinterpret_cast<ObjIdx*>
    - reinterpret_cast<uintptr_t>
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::Span::IdxToPtr
    linkageType: ''
    returnType: bool
    signature: bool Span::ListPush(void* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ObjIdx>
      Src: /src/tcmalloc/tcmalloc/span.h:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - reciprocal
    argTypes:
    - uintptr_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: tcmalloc_internal::Span::OffsetToIdx
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - static_cast<ObjIdx>
    linkageType: ''
    returnType: Span::ObjIdx
    signature: Span::ObjIdx Span::OffsetToIdx(uintptr_t offset, uint32_t reciprocal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:432,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/span.h:433,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:433,1
    - Dst: tcmalloc_internal::Span::OffsetToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:434,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:435,1
    - Dst: tcmalloc_internal::Span::BitmapIdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - size
    - reciprocal
    argTypes:
    - void*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 437
    functionName: tcmalloc_internal::Span::BitmapPtrToIdx
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::OffsetToIdx
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::Span::first_page
    - TC_ASSERT_EQ
    - tcmalloc_internal::Span::BitmapIdxToPtr
    - static_cast<uint32_t>
    linkageType: ''
    returnType: Span::ObjIdx
    signature: "Span::ObjIdx Span::BitmapPtrToIdx(void* ptr, size_t size,\n                                         uint32_t
      reciprocal) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:440,1
    - Dst: tcmalloc_internal::Span::BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:442,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:444,1
    - Dst: bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/span.h:444,1
    - Dst: bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/span.h:446,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:447,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - size
    - reciprocal
    argTypes:
    - void*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 449
    functionName: tcmalloc_internal::Span::BitmapPush
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 1
    functionsReached:
    - bitmap::CountBits
    - bitmap::GetBit
    - bitmap::SetBit
    - TC_ASSERT_EQ
    - tcmalloc_internal::Span::BitmapPtrToIdx
    linkageType: ''
    returnType: bool
    signature: bool Span::BitmapPush(void* ptr, size_t size, uint32_t reciprocal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:452,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:453,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 455
    functionName: '& Span::sampled_allocation() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - is_large_or_sampled
    linkageType: ''
    returnType: SampledAllocation
    signature: SampledAllocation & Span::sampled_allocation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 457
    functionName: tcmalloc_internal::Span::sampled
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Span::sampled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageId
      Src: /src/tcmalloc/tcmalloc/span.h:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: tcmalloc_internal::Span::first_page
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 3
    functionsReached:
    - PageId
    linkageType: ''
    returnType: PageId
    signature: PageId Span::first_page() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:462,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:463,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:463,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:463,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: tcmalloc_internal::Span::last_page
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::first_page
    - is_large_or_sampled
    - Length
    linkageType: ''
    returnType: PageId
    signature: PageId Span::last_page() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:469,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/span.h:470,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/span.h:470,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/span.h:470,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/span.h:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: tcmalloc_internal::Span::set_first_page
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - PageId::index
    - TC_CHECK_LT
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void Span::set_first_page(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:475,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:475,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: tcmalloc_internal::Span::start_address
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::first_page
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void * Span::start_address() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:480,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:481,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 484
    functionName: tcmalloc_internal::Span::num_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - is_large_or_sampled
    - Length
    linkageType: ''
    returnType: Length
    signature: Length Span::num_pages() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::sampled
      Src: /src/tcmalloc/tcmalloc/span.h:487,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:488,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.h:492,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:492,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - len
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 495
    functionName: tcmalloc_internal::Span::set_num_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::sampled
    - TC_ASSERT_LT
    - Length::raw_num
    linkageType: ''
    returnType: void
    signature: void Span::set_num_pages(Length len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:498,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:499,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 502
    functionName: tcmalloc_internal::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - is_large_or_sampled
    - Length
    linkageType: ''
    returnType: size_t
    signature: size_t ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:505,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:505,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:506,1
    - Dst: bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/span.h:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 511
    functionName: tcmalloc_internal::Span::FreelistEmpty
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::UseBitmapForSize
    - bitmap::IsZero
    - TC_ASSERT
    - is_large_or_sampled
    linkageType: ''
    returnType: bool
    signature: bool Span::FreelistEmpty(size_t size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT0
      Src: /src/tcmalloc/tcmalloc/span.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 513
    functionName: tcmalloc_internal::Span::Prefetch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - PrefetchT0
    linkageType: ''
    returnType: void
    signature: void Span::Prefetch()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:516,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:517,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - size
    - pages
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: tcmalloc_internal::Span::IsValidSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::UseBitmapForSize
    - Length
    linkageType: ''
    returnType: bool
    signature: bool Span::IsValidSizeClass(size_t size, size_t pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 532
    functionName: tcmalloc_internal::Span::UseBitmapForSize
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Span::UseBitmapForSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 536
    functionName: tcmalloc_internal::Span::IsNonIntrusive
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::UseBitmapForSize
    linkageType: ''
    returnType: bool
    signature: bool Span::IsNonIntrusive(size_t size)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: p::index
      Src: /src/tcmalloc/tcmalloc/span.h:90,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:95,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/span.h:96,1
    - Dst: p::index
      Src: /src/tcmalloc/tcmalloc/span.h:96,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/span.h:96,1
    - Dst: set_num_pages
      Src: /src/tcmalloc/tcmalloc/span.h:97,1
    - Dst: ABSL_LOCKS_EXCLUDED
      Src: /src/tcmalloc/tcmalloc/span.h:107,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.h:175,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:228,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:352,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:358,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:359,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:359,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.h:360,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:361,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:362,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:363,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:363,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:369,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:372,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:373,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span.h:373,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:373,1
    - Dst: static_cast<ObjIdx>
      Src: /src/tcmalloc/tcmalloc/span.h:375,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.h:376,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:377,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:378,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:378,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:379,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:384,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:384,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/span.h:385,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:386,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:387,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/span.h:390,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:393,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:393,1
    - Dst: BitmapPush
      Src: /src/tcmalloc/tcmalloc/span.h:394,1
    - Dst: ListPush
      Src: /src/tcmalloc/tcmalloc/span.h:396,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:400,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:405,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:407,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:410,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:411,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:416,1
    - Dst: static_cast<ObjIdx>
      Src: /src/tcmalloc/tcmalloc/span.h:425,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:432,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/span.h:433,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:433,1
    - Dst: OffsetToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:434,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:435,1
    - Dst: BitmapIdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:435,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:440,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:442,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:444,1
    - Dst: bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/span.h:444,1
    - Dst: bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/span.h:446,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:447,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:447,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:452,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:453,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:453,1
    - Dst: PageId
      Src: /src/tcmalloc/tcmalloc/span.h:459,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:462,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:463,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:463,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:463,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:465,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:469,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/span.h:470,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/span.h:470,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/span.h:470,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/span.h:471,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:475,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:475,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:476,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:480,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:481,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:483,1
    - Dst: sampled
      Src: /src/tcmalloc/tcmalloc/span.h:487,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:488,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.h:492,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:492,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:493,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:498,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:499,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:501,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:505,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:505,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:506,1
    - Dst: bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/span.h:507,1
    - Dst: PrefetchT0
      Src: /src/tcmalloc/tcmalloc/span.h:513,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:516,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:517,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:518,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:536,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 133
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 538
    functionName: tcmalloc_internal::SpanList::Elem
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - bitmap::CountBits
    - Length
    - ABSL_PREDICT_FALSE
    - static_cast<uint64_t>
    - TC_CHECK_LT
    - bitmap::SetBit
    - index
    - PageIdContaining
    - static_cast<uint32_t>
    - raw_num
    - static_cast<ObjIdx>
    - PrefetchT0
    - p::index
    - bitmap::GetBit
    - is_large_or_sampled
    - bitmap::IsZero
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    - TC_ASSERT_EQ
    - ABSL_PREDICT_TRUE
    - first_page
    - PtrToIdx
    - BitmapPush
    - load
    - TC_ASSERT_NE
    - std::atomic::store
    - TC_ASSERT_GT
    - set_num_pages
    - ListPush
    - ABSL_LOCKS_EXCLUDED
    - BitmapPtrToIdx
    - PageId
    - static_cast<uintptr_t>
    - std::atomic::load
    - UseBitmapForSize
    - IdxToPtr
    - BitmapIdxToPtr
    - tcmalloc_internal::Span::UseBitmapForSize
    - OffsetToIdx
    - reinterpret_cast<ObjIdx*>
    - sampled
    - TC_ASSERT_LT
    linkageType: ''
    returnType: class ABSL_CACHELINE_ALIGNED
    signature: class ABSL_CACHELINE_ALIGNED SpanList::Elem
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: tcmalloc_internal::Span
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Span(const Span&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: tcmalloc_internal::donated
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool donated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::set_donated
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_donated(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: tcmalloc_internal::Allocated
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Allocated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: tcmalloc_internal::nonempty_index
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t nonempty_index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: tcmalloc_internal::set_nonempty_index
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_nonempty_index(uint8_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: tcmalloc_internal::Span::AllocTime
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - is_large_or_sampled
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Span::AllocTime(size_t size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:358,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:359,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:359,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.h:360,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:361,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:362,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:363,1
    - Dst: tcmalloc_internal::Span::PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - idx
    - size
    - start
    argTypes:
    - ObjIdx
    - size_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: tcmalloc_internal::Span::IdxToPtr
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 1
    functionsReached:
    - static_cast<uintptr_t>
    - TC_ASSERT_NE
    - tcmalloc_internal::Span::PtrToIdx
    - reinterpret_cast<ObjIdx*>
    - tcmalloc_internal::Span::first_page
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: Span::ObjIdx
    signature: "Span::ObjIdx * Span::IdxToPtr(ObjIdx idx, size_t size,\n                                    uintptr_t
      start) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:369,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:372,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:373,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span.h:373,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:373,1
    - Dst: static_cast<ObjIdx>
      Src: /src/tcmalloc/tcmalloc/span.h:375,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.h:376,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:377,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:378,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:378,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 381
    functionName: tcmalloc_internal::Span::PtrToIdx
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 3
    functionsReached:
    - static_cast<ObjIdx>
    - static_cast<uintptr_t>
    - PageIdContaining
    - TC_ASSERT_NE
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::Span::first_page
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: Span::ObjIdx
    signature: Span::ObjIdx Span::PtrToIdx(void* ptr, size_t size) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:384,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:384,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.h:385,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:386,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:387,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.h:390,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:393,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:393,1
    - Dst: tcmalloc_internal::Span::BitmapPush
      Src: /src/tcmalloc/tcmalloc/span.h:394,1
    - Dst: tcmalloc_internal::Span::ListPush
      Src: /src/tcmalloc/tcmalloc/span.h:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ptr
    - size
    - reciprocal
    argTypes:
    - void*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 397
    functionName: tcmalloc_internal::Span::FreelistPush
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::BitmapPush
    - load
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::Span::UseBitmapForSize
    - is_large_or_sampled
    - TC_ASSERT_GT
    - store
    - tcmalloc_internal::Span::ListPush
    - TC_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool Span::FreelistPush(void* ptr, size_t size, uint32_t reciprocal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:400,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:405,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:407,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:410,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:411,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 421
    functionName: tcmalloc_internal::Span::ListPush
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Span::PtrToIdx
    - reinterpret_cast<ObjIdx*>
    - reinterpret_cast<uintptr_t>
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::Span::IdxToPtr
    linkageType: ''
    returnType: bool
    signature: bool Span::ListPush(void* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ObjIdx>
      Src: /src/tcmalloc/tcmalloc/span.h:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - reciprocal
    argTypes:
    - uintptr_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: tcmalloc_internal::Span::OffsetToIdx
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 1
    functionsReached:
    - static_cast<ObjIdx>
    linkageType: ''
    returnType: Span::ObjIdx
    signature: Span::ObjIdx Span::OffsetToIdx(uintptr_t offset, uint32_t reciprocal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:432,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/span.h:433,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:433,1
    - Dst: tcmalloc_internal::Span::OffsetToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:434,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:435,1
    - Dst: tcmalloc_internal::Span::BitmapIdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - size
    - reciprocal
    argTypes:
    - void*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 437
    functionName: tcmalloc_internal::Span::BitmapPtrToIdx
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::Span::OffsetToIdx
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::Span::first_page
    - TC_ASSERT_EQ
    - tcmalloc_internal::Span::BitmapIdxToPtr
    - static_cast<uint32_t>
    linkageType: ''
    returnType: Span::ObjIdx
    signature: "Span::ObjIdx Span::BitmapPtrToIdx(void* ptr, size_t size,\n                                         uint32_t
      reciprocal) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:440,1
    - Dst: tcmalloc_internal::Span::BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:442,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:444,1
    - Dst: bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/span.h:444,1
    - Dst: bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/span.h:446,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:447,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - size
    - reciprocal
    argTypes:
    - void*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 449
    functionName: tcmalloc_internal::Span::BitmapPush
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 2
    functionsReached:
    - bitmap::CountBits
    - bitmap::GetBit
    - bitmap::SetBit
    - TC_ASSERT_EQ
    - tcmalloc_internal::Span::BitmapPtrToIdx
    linkageType: ''
    returnType: bool
    signature: bool Span::BitmapPush(void* ptr, size_t size, uint32_t reciprocal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:452,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:453,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 455
    functionName: '& Span::sampled_allocation() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - is_large_or_sampled
    linkageType: ''
    returnType: SampledAllocation
    signature: SampledAllocation & Span::sampled_allocation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 457
    functionName: tcmalloc_internal::Span::sampled
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Span::sampled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageId
      Src: /src/tcmalloc/tcmalloc/span.h:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: tcmalloc_internal::Span::first_page
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 8
    functionsReached:
    - PageId
    linkageType: ''
    returnType: PageId
    signature: PageId Span::first_page() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:462,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:463,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:463,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:463,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: tcmalloc_internal::Span::last_page
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::first_page
    - is_large_or_sampled
    - Length
    linkageType: ''
    returnType: PageId
    signature: PageId Span::last_page() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:469,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/span.h:470,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/span.h:470,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/span.h:470,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/span.h:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: tcmalloc_internal::Span::set_first_page
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - PageId::index
    - TC_CHECK_LT
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void Span::set_first_page(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:475,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:475,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: tcmalloc_internal::Span::start_address
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::first_page
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void * Span::start_address() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:480,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:481,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 484
    functionName: tcmalloc_internal::Span::num_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - is_large_or_sampled
    - Length
    linkageType: ''
    returnType: Length
    signature: Length Span::num_pages() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::sampled
      Src: /src/tcmalloc/tcmalloc/span.h:487,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:488,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.h:492,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:492,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - len
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 495
    functionName: tcmalloc_internal::Span::set_num_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::sampled
    - TC_ASSERT_LT
    - Length::raw_num
    linkageType: ''
    returnType: void
    signature: void Span::set_num_pages(Length len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:498,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:499,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 502
    functionName: tcmalloc_internal::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - is_large_or_sampled
    - Length
    linkageType: ''
    returnType: size_t
    signature: size_t ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:505,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:505,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:506,1
    - Dst: bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/span.h:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 511
    functionName: tcmalloc_internal::Span::FreelistEmpty
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::UseBitmapForSize
    - bitmap::IsZero
    - TC_ASSERT
    - is_large_or_sampled
    linkageType: ''
    returnType: bool
    signature: bool Span::FreelistEmpty(size_t size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT0
      Src: /src/tcmalloc/tcmalloc/span.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 513
    functionName: tcmalloc_internal::Span::Prefetch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - PrefetchT0
    linkageType: ''
    returnType: void
    signature: void Span::Prefetch()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:516,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:517,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - size
    - pages
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: tcmalloc_internal::Span::IsValidSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::UseBitmapForSize
    - Length
    linkageType: ''
    returnType: bool
    signature: bool Span::IsValidSizeClass(size_t size, size_t pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 532
    functionName: tcmalloc_internal::Span::UseBitmapForSize
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Span::UseBitmapForSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 536
    functionName: tcmalloc_internal::Span::IsNonIntrusive
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::UseBitmapForSize
    linkageType: ''
    returnType: bool
    signature: bool Span::IsNonIntrusive(size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:39,1
    - Dst: AllocationSampleList::AllocationSampleList
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:43,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::empty"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:62,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:65,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::size"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:65,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:66,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::back"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:66,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:67,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::back"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:67,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::pop_back"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:68,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:70,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:70,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:74,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:76,1
    - Dst: std::make_unique<AllocationSample>
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:81,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:81,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::size"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:87,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::push_back"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:89,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:89,1
    - Dst: PopSample
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:95,1
    - Dst: std::unique_ptr::reset
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:98,1
    - Dst: PopSample
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:101,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:104,1
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:113,1
    - Dst: AllocationSampleList::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:122,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:126,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:126,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sample_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - InitIfNecessary
    - absl::Now
    - std::swap
    - ThreadManager::Stop
    - std::unique_ptr::get
    - std::make_unique<AllocationSample>
    - absl::Milliseconds
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::back"
    - linked_sample_allocator
    - absl::Uniform
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::push_back"
    - std::move
    - std::unique_ptr::reset
    - TC_CHECK_NE
    - absl::SleepFor
    - PopSample
    - absl::Uniform<size_t>
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::pop_back"
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::empty"
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::size"
    - AllocationSampleList::ReportMalloc
    - AllocationSampleList::AllocationSampleList
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSample, Threaded)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:39,1
    - Dst: AllocationSampleList::AllocationSampleList
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:43,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::empty"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:62,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:65,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::size"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:65,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:66,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::back"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:66,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:67,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::back"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:67,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::pop_back"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:68,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:70,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:70,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:74,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:76,1
    - Dst: std::make_unique<AllocationSample>
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:81,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:81,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::size"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:87,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::push_back"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:89,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:89,1
    - Dst: PopSample
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:95,1
    - Dst: std::unique_ptr::reset
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:98,1
    - Dst: PopSample
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:101,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:104,1
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:113,1
    - Dst: AllocationSampleList::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:122,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:126,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:126,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sample_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - InitIfNecessary
    - absl::Now
    - std::swap
    - ThreadManager::Stop
    - std::unique_ptr::get
    - std::make_unique<AllocationSample>
    - absl::Milliseconds
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::back"
    - linked_sample_allocator
    - absl::Uniform
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::push_back"
    - std::move
    - std::unique_ptr::reset
    - TC_CHECK_NE
    - absl::SleepFor
    - PopSample
    - absl::Uniform<size_t>
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::pop_back"
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::empty"
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::size"
    - AllocationSampleList::ReportMalloc
    - AllocationSampleList::AllocationSampleList
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSample, Threaded)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:39,1
    - Dst: AllocationSampleList::AllocationSampleList
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:43,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::empty"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:62,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:65,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::size"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:65,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:66,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::back"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:66,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:67,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::back"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:67,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::pop_back"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:68,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:70,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:70,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:74,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:76,1
    - Dst: std::make_unique<AllocationSample>
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:81,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:81,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::size"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:87,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::push_back"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:89,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:89,1
    - Dst: PopSample
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:95,1
    - Dst: std::unique_ptr::reset
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:98,1
    - Dst: PopSample
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:101,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:104,1
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:113,1
    - Dst: AllocationSampleList::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:122,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:126,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:126,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sample_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - InitIfNecessary
    - absl::Now
    - std::swap
    - ThreadManager::Stop
    - std::unique_ptr::get
    - std::make_unique<AllocationSample>
    - absl::Milliseconds
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::back"
    - linked_sample_allocator
    - absl::Uniform
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::push_back"
    - std::move
    - std::unique_ptr::reset
    - TC_CHECK_NE
    - absl::SleepFor
    - PopSample
    - absl::Uniform<size_t>
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::pop_back"
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::empty"
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::size"
    - AllocationSampleList::ReportMalloc
    - AllocationSampleList::AllocationSampleList
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSample, Threaded)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:39,1
    - Dst: AllocationSampleList::AllocationSampleList
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:43,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::empty"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:62,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:65,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::size"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:65,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:66,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::back"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:66,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:67,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::back"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:67,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::pop_back"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:68,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:70,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:70,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:74,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:76,1
    - Dst: std::make_unique<AllocationSample>
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:81,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:81,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::size"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:87,1
    - Dst: "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
        samplers ABSL_GUARDED_BY(mu);\n  }::samplers::push_back"
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:89,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:89,1
    - Dst: PopSample
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:95,1
    - Dst: std::unique_ptr::reset
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:98,1
    - Dst: PopSample
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:101,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:104,1
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:113,1
    - Dst: AllocationSampleList::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:122,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:126,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:126,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/allocation_sample_test.cc:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sample_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - InitIfNecessary
    - absl::Now
    - std::swap
    - ThreadManager::Stop
    - std::unique_ptr::get
    - std::make_unique<AllocationSample>
    - absl::Milliseconds
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::back"
    - linked_sample_allocator
    - absl::Uniform
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::push_back"
    - std::move
    - std::unique_ptr::reset
    - TC_CHECK_NE
    - absl::SleepFor
    - PopSample
    - absl::Uniform<size_t>
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::pop_back"
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::empty"
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::size"
    - AllocationSampleList::ReportMalloc
    - AllocationSampleList::AllocationSampleList
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSample, Threaded)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:70,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:71,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_region.h:94,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:97,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/huge_region.h:97,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:99,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:99,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:99,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:101,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:101,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:119,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:119,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_region.h:122,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:124,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:127,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:131,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:131,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:147,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:161,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:161,1
    - Dst: Rise
      Src: /src/tcmalloc/tcmalloc/huge_region.h:214,1
    - Dst: Fall
      Src: /src/tcmalloc/tcmalloc/huge_region.h:215,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/huge_region.h:220,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:222,1
    - Dst: BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:223,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_region.h:224,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:225,1
    - Dst: BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:226,1
    - Dst: auto::append_it
      Src: /src/tcmalloc/tcmalloc/huge_region.h:227,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_region.h:231,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/huge_region.h:236,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:238,1
    - Dst: auto::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:239,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_region.h:240,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:241,1
    - Dst: auto::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:242,1
    - Dst: auto::prepend_it
      Src: /src/tcmalloc/tcmalloc/huge_region.h:243,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:247,1
    - Dst: BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:253,1
    - Dst: prepend_it
      Src: /src/tcmalloc/tcmalloc/huge_region.h:254,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:260,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:267,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:268,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:269,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:270,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:279,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:287,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:295,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:324,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:328,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:334,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:335,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:335,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:336,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/huge_region.h:336,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:336,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:338,1
    - Dst: Inc
      Src: /src/tcmalloc/tcmalloc/huge_region.h:342,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:348,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/huge_region.h:349,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:349,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:349,1
    - Dst: Dec
      Src: /src/tcmalloc/tcmalloc/huge_region.h:351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:360,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:360,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:362,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:363,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:365,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:368,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:373,1
    - Dst: UnbackHugepages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:375,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_region.h:383,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:388,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:388,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:389,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:390,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:390,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:394,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:394,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:394,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:395,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:395,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:397,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:400,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:402,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:405,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:407,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:409,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:421,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:423,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region.h:430,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:430,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region.h:431,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:431,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:435,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:437,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:456,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:457,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:458,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:459,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:459,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_region.h:460,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:461,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:466,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:470,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:470,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:471,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:471,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:472,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:472,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:473,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:473,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:474,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:474,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:475,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:475,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:476,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:476,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_region.h:481,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:482,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:483,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:489,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:490,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:491,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:491,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:492,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:492,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:493,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:494,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:500,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:509,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:510,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:511,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:511,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:512,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:512,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:513,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:514,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:514,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:515,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:516,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:518,1
    - Dst: UnbackHugepages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:543,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:544,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:544,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:545,1
    - Dst: unback_
      Src: /src/tcmalloc/tcmalloc/huge_region.h:545,1
    - Dst: HugeRange
      Src: /src/tcmalloc/tcmalloc/huge_region.h:545,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:550,1
    - Dst: SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_region.h:565,1
    - Dst: UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_region.h:568,1
    - Dst: IsPeakIntervalSet
      Src: /src/tcmalloc/tcmalloc/huge_region.h:573,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_region.h:575,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_region.h:577,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:581,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:581,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:583,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:594,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:608,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:609,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:617,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:620,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:621,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_region.h:630,1
    - Dst: GetSubreleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_region.h:630,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_region.h:631,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region.h:641,1
    - Dst: Fix
      Src: /src/tcmalloc/tcmalloc/huge_region.h:642,1
    - Dst: UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_region.h:643,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region.h:656,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_region.h:658,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region.h:659,1
    - Dst: Fix
      Src: /src/tcmalloc/tcmalloc/huge_region.h:660,1
    - Dst: UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_region.h:661,1
    - Dst: AddToList
      Src: /src/tcmalloc/tcmalloc/huge_region.h:673,1
    - Dst: UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_region.h:674,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:684,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:686,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:687,1
    - Dst: SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_region.h:694,1
    - Dst: GetDesiredReleasablePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:695,1
    - Dst: set_limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_region.h:698,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:701,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region.h:703,1
    - Dst: limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_region.h:712,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:721,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:723,1
    - Dst: std::clamp<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:723,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:724,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region.h:728,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:736,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:737,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:738,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:740,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:741,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region.h:744,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:745,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:746,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:747,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:750,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:753,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:753,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:754,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:756,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:757,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:758,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:759,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:759,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:759,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:760,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:760,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:764,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:767,1
    - Dst: total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:768,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:769,1
    - Dst: total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:770,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region.h:772,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:777,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:778,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:778,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_region.h:780,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region.h:781,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:784,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:785,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:786,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:788,1
    - Dst: PrintSubreleaseStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region.h:790,1
    - Dst: PrintTimeseriesStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region.h:792,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region.h:800,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region.h:813,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:823,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 329
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 830
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - Dec
    - AddSpanStats
    - in_bytes
    - GetRecentPeak
    - HugeLength::in_pages
    - AddToList
    - UnbackHugepages
    - total_hugepages_broken::raw_num
    - auto::BetterToAllocThan
    - BetterToAllocThan
    - CreateSubRegion
    - append
    - auto::prepend_it
    - Put
    - PrintI64
    - unback_
    - prepend_it
    - Report
    - HugeLength::in_bytes
    - UpdateStatsTracker
    - Fall
    - total_pages_subreleased_due_to_limit::raw_num
    - prepend
    - len
    - Print
    - SkipSubreleaseEnabled
    - static_cast<double>
    - longest_free
    - used
    - contains
    - UseHugeRegionMoreOften
    - NextFreeRange
    - printf
    - MaybeGet
    - NHugePages
    - ReportSkippedSubreleasePages
    - raw_num
    - Unmark
    - size
    - HLFromBytes
    - absl::Minutes
    - GetRecentDemand
    - stats
    - TC_ASSERT_GT
    - limit_hit
    - FindAndMark
    - free_pages
    - unmapped_pages
    - Length::raw_num
    - in_pages
    - n::raw_num
    - HugeLength::raw_num
    - GetDesiredReleasablePages
    - start
    - TC_ASSERT
    - Inc
    - used_pages
    - remove
    - set_limit_hit
    - TC_CHECK_EQ
    - PrintInPbtxt
    - tcmalloc_internal::HugeRegion::size
    - at
    - TC_ASSERT_GE
    - HugePageContaining
    - Rise
    - Length
    - PrintTimeseriesStatsInPbtxt
    - free_backed
    - end
    - std::min
    - IsPeakIntervalSet
    - Fix
    - reset
    - total_pages_subreleased::raw_num
    - GetSubreleaseStats
    - backed
    - first_page
    - ABSL_PREDICT_TRUE
    - Release
    - HugeLength::in_mib
    - std::clamp<double>
    - auto::append_it
    - TC_ASSERT_LE
    - PrintSubreleaseStatsInPbtxt
    - HugeRange
    - total_hugepages_broken_due_to_limit::raw_num
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::HugeRegion::size
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::HugeRegion::HugeRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::contains
      Src: /src/tcmalloc/tcmalloc/huge_region.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: tcmalloc_internal::HugeRegion::contains
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugeRegion::contains
    linkageType: ''
    returnType: bool
    signature: bool contains(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:97,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/huge_region.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::HugeRegion::used_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - used
    - Length
    linkageType: ''
    returnType: Length
    signature: Length used_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:99,1
    - Dst: tcmalloc_internal::HugeRegion::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:99,1
    - Dst: tcmalloc_internal::HugeRegion::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: tcmalloc_internal::HugeRegion::free_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::unmapped_pages
    - tcmalloc_internal::HugeRegion::size
    - tcmalloc_internal::HugeRegion::used_pages
    linkageType: ''
    returnType: Length
    signature: Length free_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:101,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::HugeRegion::unmapped_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugeRegion::size
    - in_pages
    linkageType: ''
    returnType: Length
    signature: Length unmapped_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:119,1
    - Dst: HugeRegion*::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - HugeRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::HugeRegion::BetterToAllocThan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::longest_free
    - HugeRegion*::longest_free
    linkageType: ''
    returnType: bool
    signature: bool BetterToAllocThan(const HugeRegion* rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::prepend
      Src: /src/tcmalloc/tcmalloc/huge_region.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - HugeRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: tcmalloc_internal::HugeRegion::prepend_it
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::prepend
    linkageType: ''
    returnType: void
    signature: void prepend_it(HugeRegion* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - HugeRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: tcmalloc_internal::HugeRegion::append_it
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::append
    linkageType: ''
    returnType: void
    signature: void append_it(HugeRegion* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:131,1
    - Dst: tcmalloc_internal::HugeRegion::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: tcmalloc_internal::HugeRegion::longest_free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugeRegion::longest_free
    - Length
    linkageType: ''
    returnType: Length
    signature: Length longest_free() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:161,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - use_huge_region_more_often
    - clock
    argTypes:
    - HugeRegionUsageOption
    - Clock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: tcmalloc_internal::HugeRegionSet::HugeRegionSet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - absl::Minutes
    linkageType: ''
    returnType: void
    signature: void HugeRegionSet(HugeRegionUsageOption use_huge_region_more_often,
      Clock clock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - use_huge_region_more_often
    argTypes:
    - HugeRegionUsageOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: tcmalloc_internal::HugeRegionSet::HugeRegionSet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeRegionSet(HugeRegionUsageOption use_huge_region_more_often)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: tcmalloc_internal::HugeRegionSet::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet::Rise
      Src: /src/tcmalloc/tcmalloc/huge_region.h:214,1
    - Dst: tcmalloc_internal::HugeRegionSet::Fall
      Src: /src/tcmalloc/tcmalloc/huge_region.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: tcmalloc_internal::HugeRegionSet::Fix
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegionSet::Rise
    - tcmalloc_internal::HugeRegionSet::Fall
    linkageType: ''
    returnType: void
    signature: void Fix(Region* r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/huge_region.h:220,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:222,1
    - Dst: Region*::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:223,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_region.h:224,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:225,1
    - Dst: Region*::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:226,1
    - Dst: auto::append_it
      Src: /src/tcmalloc/tcmalloc/huge_region.h:227,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_region.h:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 232
    functionName: tcmalloc_internal::HugeRegionSet::Rise
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - remove
    - at
    - prepend
    - auto::append_it
    - Region*::BetterToAllocThan
    - end
    linkageType: ''
    returnType: void
    signature: void Rise(Region* r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/huge_region.h:236,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:238,1
    - Dst: auto::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:239,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_region.h:240,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:241,1
    - Dst: auto::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:242,1
    - Dst: auto::prepend_it
      Src: /src/tcmalloc/tcmalloc/huge_region.h:243,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 248
    functionName: tcmalloc_internal::HugeRegionSet::Fall
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - append
    - auto::prepend_it
    - remove
    - auto::BetterToAllocThan
    - end
    - at
    linkageType: ''
    returnType: void
    signature: void Fall(Region* r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Region*::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:253,1
    - Dst: prepend_it
      Src: /src/tcmalloc/tcmalloc/huge_region.h:254,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: tcmalloc_internal::HugeRegionSet::AddToList
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - prepend_it
    - append
    - Region*::BetterToAllocThan
    linkageType: ''
    returnType: void
    signature: void AddToList(Region* r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:267,1
    - Dst: tcmalloc_internal::HugeRegionSet::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:268,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:269,1
    - Dst: tcmalloc_internal::HugeRegionSet::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: tcmalloc_internal::HugeRegionSet::GetSubreleaseStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegionSet::used_pages
    - unmapped_pages
    - tcmalloc_internal::HugeRegionSet::size
    - tcmalloc_internal::HugeRegionSet::free_pages
    linkageType: ''
    returnType: StatsTrackerType::SubreleaseStats
    signature: StatsTrackerType::SubreleaseStats GetSubreleaseStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: tcmalloc_internal::HugeRegionSet::used_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugeRegionSet::used_pages
    linkageType: ''
    returnType: Length
    signature: Length used_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::HugeRegionSet::free_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugeRegionSet::free_pages
    linkageType: ''
    returnType: Length
    signature: Length free_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: tcmalloc_internal::HugeRegionSet::size
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugeRegionSet::size
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:324,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - ' unback'
    argTypes:
    - HugeRange
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 331
    functionName: tcmalloc_internal::HugeRegion::HugeRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - NHugePages
    - Length
    linkageType: ''
    returnType: void
    signature: void HugeRegion::HugeRegion(HugeRange r, MemoryModifyFunction& unback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:334,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:335,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:335,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:336,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/huge_region.h:336,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:336,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:338,1
    - Dst: tcmalloc_internal::HugeRegion::Inc
      Src: /src/tcmalloc/tcmalloc/huge_region.h:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - n
    - p
    - from_released
    argTypes:
    - Length
    - PageId*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::HugeRegion::MaybeGet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - Length
    - Length::raw_num
    - tcmalloc_internal::HugeRegion::longest_free
    - TC_ASSERT_GT
    - FindAndMark
    - start
    - tcmalloc_internal::HugeRegion::Inc
    linkageType: ''
    returnType: bool
    signature: bool HugeRegion::MaybeGet(Length n, PageId* p, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:348,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/huge_region.h:349,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:349,1
    - Dst: Range::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:349,1
    - Dst: tcmalloc_internal::HugeRegion::Dec
      Src: /src/tcmalloc/tcmalloc/huge_region.h:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - release
    argTypes:
    - Range
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: tcmalloc_internal::HugeRegion::Put
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::Dec
    - Unmark
    - Length::raw_num
    - start
    - Range::n::raw_num
    linkageType: ''
    returnType: void
    signature: void HugeRegion::Put(Range r, bool release)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:360,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:360,1
    - Dst: tcmalloc_internal::HugeRegion::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:362,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:363,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:365,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:368,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:373,1
    - Dst: tcmalloc_internal::HugeRegion::UnbackHugepages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:375,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 376
    functionName: tcmalloc_internal::HugeRegion::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::free_backed
    - HugeLength::in_pages
    - Length
    - tcmalloc_internal::HugeRegion::UnbackHugepages
    - std::min
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeRegion::Release(Length desired)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_region.h:383,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:388,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:388,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:389,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:390,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:390,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:394,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:394,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:394,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:395,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:395,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:397,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:400,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:402,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:405,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:407,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:409,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:421,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:423,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region.h:430,1
    - Dst: tcmalloc_internal::HugeRegion::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:430,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region.h:431,1
    - Dst: tcmalloc_internal::HugeRegion::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:431,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 432
    functionName: tcmalloc_internal::HugeRegion::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - HugePageContaining
    - Length
    - tcmalloc_internal::HugeRegion::unmapped_pages
    - tcmalloc_internal::HugeRegion::free_pages
    - Length::raw_num
    - NextFreeRange
    - TC_CHECK_EQ
    - start
    - std::min
    - NHugePages
    - TC_ASSERT
    - first_page
    linkageType: ''
    returnType: void
    signature: "void HugeRegion::AddSpanStats(SmallSpanStats* small,\n                                     LargeSpanStats*
      large) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:435,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 442
    functionName: tcmalloc_internal::HugeRegion::free_backed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - NHugePages
    - Length
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeRegion::free_backed() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: tcmalloc_internal::HugeRegion::backed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeRegion::backed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:456,1
    - Dst: tcmalloc_internal::HugeRegion::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:457,1
    - Dst: tcmalloc_internal::HugeRegion::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:458,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:459,1
    - Dst: tcmalloc_internal::HugeRegion::backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:459,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_region.h:460,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:461,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: tcmalloc_internal::HugeRegion::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::used_pages
    - tcmalloc_internal::HugeRegion::free_pages
    - HugeLength::in_mib
    - tcmalloc_internal::HugeRegion::longest_free
    - tcmalloc_internal::HugeRegion::size
    - printf
    - in_bytes
    - tcmalloc_internal::HugeRegion::backed
    linkageType: ''
    returnType: void
    signature: void HugeRegion::Print(Printer& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:470,1
    - Dst: tcmalloc_internal::HugeRegion::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:470,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:471,1
    - Dst: tcmalloc_internal::HugeRegion::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:471,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:472,1
    - Dst: tcmalloc_internal::HugeRegion::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:472,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:473,1
    - Dst: tcmalloc_internal::HugeRegion::backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:473,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:474,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:474,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:475,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:475,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:476,1
    - Dst: tcmalloc_internal::HugeRegion::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' detail'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 477
    functionName: tcmalloc_internal::HugeRegion::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::free_backed
    - tcmalloc_internal::HugeRegion::used_pages
    - tcmalloc_internal::HugeRegion::free_pages
    - PrintI64
    - tcmalloc_internal::HugeRegion::longest_free
    - tcmalloc_internal::HugeRegion::size
    - in_bytes
    - tcmalloc_internal::HugeRegion::backed
    - HugeLength::in_bytes
    linkageType: ''
    returnType: void
    signature: void HugeRegion::PrintInPbtxt(PbtxtRegion& detail) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_region.h:481,1
    - Dst: tcmalloc_internal::HugeRegion::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:482,1
    - Dst: tcmalloc_internal::HugeRegion::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: tcmalloc_internal::HugeRegion::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - len
    - tcmalloc_internal::HugeRegion::unmapped_pages
    - tcmalloc_internal::HugeRegion::free_pages
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats HugeRegion::stats() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:489,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:490,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:491,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:491,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:492,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:492,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:493,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:494,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - r
    - from_released
    argTypes:
    - Range
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 505
    functionName: tcmalloc_internal::HugeRegion::Inc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - HugePageContaining
    - Length
    - start
    - TC_ASSERT_LE
    - std::min
    - NHugePages
    - first_page
    linkageType: ''
    returnType: void
    signature: void HugeRegion::Inc(Range r, bool* from_released)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:509,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:510,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:511,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:511,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:512,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:512,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:513,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:514,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:514,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:515,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:516,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:518,1
    - Dst: tcmalloc_internal::HugeRegion::UnbackHugepages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - r
    - release
    argTypes:
    - Range
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 527
    functionName: tcmalloc_internal::HugeRegion::Dec
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - HugePageContaining
    - Length
    - tcmalloc_internal::HugeRegion::UnbackHugepages
    - TC_ASSERT_GT
    - start
    - std::min
    - NHugePages
    - TC_ASSERT
    - first_page
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void HugeRegion::Dec(Range r, bool release)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:543,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:544,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:544,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:545,1
    - Dst: unback_
      Src: /src/tcmalloc/tcmalloc/huge_region.h:545,1
    - Dst: HugeRange
      Src: /src/tcmalloc/tcmalloc/huge_region.h:545,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:550,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - should_unback
    argTypes:
    - bool[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 560
    functionName: tcmalloc_internal::HugeRegion::UnbackHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT
    - unback_
    - start
    - NHugePages
    - HugeRange
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: HugeLength
    signature: "HugeLength HugeRegion::UnbackHugepages(\n    bool should_unback[kNumHugePages])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_region.h:565,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_region.h:568,1
    - Dst: SkipSubreleaseIntervals::IsPeakIntervalSet
      Src: /src/tcmalloc/tcmalloc/huge_region.h:573,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_region.h:575,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_region.h:577,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:581,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:581,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:583,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:594,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:608,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:609,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:617,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:620,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:621,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - desired
    - intervals
    argTypes:
    - Length
    - SkipSubreleaseIntervals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 626
    functionName: tcmalloc_internal::HugeRegionSet<Region>::GetDesiredReleasablePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - used_pages
    - Length
    - GetRecentDemand
    - tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
    - tcmalloc_internal::HugeRegionSet<Region>::free_backed
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - SkipSubreleaseIntervals::IsPeakIntervalSet
    - std::min
    - ReportSkippedSubreleasePages
    - free_pages
    - GetRecentPeak
    linkageType: ''
    returnType: Length
    signature: "Length HugeRegionSet<Region>::GetDesiredReleasablePages(\n    Length
      desired, SkipSubreleaseIntervals intervals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_region.h:630,1
    - Dst: GetSubreleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_region.h:630,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_region.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - GetSubreleaseStats
    - reset
    - Report
    linkageType: ''
    returnType: void
    signature: void HugeRegionSet<Region>::UpdateStatsTracker()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region.h:641,1
    - Dst: Fix
      Src: /src/tcmalloc/tcmalloc/huge_region.h:642,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_region.h:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - n
    - page
    - from_released
    argTypes:
    - Length
    - PageId*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 648
    functionName: tcmalloc_internal::HugeRegionSet<Region>::MaybeGet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugeRegionSet<Region>::MaybeGet
    - tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
    - Fix
    linkageType: ''
    returnType: bool
    signature: "bool HugeRegionSet<Region>::MaybeGet(Length n, PageId* page,\n                                            bool*
      from_released)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region.h:656,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_region.h:658,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region.h:659,1
    - Dst: Fix
      Src: /src/tcmalloc/tcmalloc/huge_region.h:660,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_region.h:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 667
    functionName: tcmalloc_internal::HugeRegionSet<Region>::MaybePut
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - contains
    - tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
    - Put
    - Fix
    - UseHugeRegionMoreOften
    linkageType: ''
    returnType: bool
    signature: bool HugeRegionSet<Region>::MaybePut(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToList
      Src: /src/tcmalloc/tcmalloc/huge_region.h:673,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_region.h:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - region
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 675
    functionName: tcmalloc_internal::HugeRegionSet<Region>::Contribute
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
    - AddToList
    linkageType: ''
    returnType: void
    signature: void HugeRegionSet<Region>::Contribute(Region* region)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:684,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:686,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:687,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_region.h:694,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::GetDesiredReleasablePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:695,1
    - Dst: set_limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_region.h:698,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:701,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region.h:703,1
    - Dst: limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_region.h:712,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - desired
    - intervals
    - hit_limit
    argTypes:
    - Length
    - SkipSubreleaseIntervals
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 717
    functionName: tcmalloc_internal::HugeRegionSet<Region>::ReleasePagesByPeakDemand
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - limit_hit
    - tcmalloc_internal::HugeRegionSet<Region>::GetDesiredReleasablePages
    - Length
    - set_limit_hit
    - tcmalloc_internal::HugeRegionSet<Region>::free_backed
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - Release
    linkageType: ''
    returnType: Length
    signature: "Length HugeRegionSet<Region>::ReleasePagesByPeakDemand(\n    Length
      desired, SkipSubreleaseIntervals intervals, bool hit_limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:721,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:723,1
    - Dst: std::clamp<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:723,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:724,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region.h:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - release_fraction
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 732
    functionName: tcmalloc_internal::HugeRegionSet<Region>::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - Length
    - Length::raw_num
    - tcmalloc_internal::HugeRegionSet<Region>::free_backed
    - std::clamp<double>
    - Release
    linkageType: ''
    returnType: Length
    signature: Length HugeRegionSet<Region>::ReleasePages(double release_fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:736,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:737,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:738,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:740,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:741,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::Print
      Src: /src/tcmalloc/tcmalloc/huge_region.h:744,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:745,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:746,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:747,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:750,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:753,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:753,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:754,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:756,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:757,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:758,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:759,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:759,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:759,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:760,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:760,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:764,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:767,1
    - Dst: total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:768,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:769,1
    - Dst: total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:770,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::Print
      Src: /src/tcmalloc/tcmalloc/huge_region.h:772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 773
    functionName: tcmalloc_internal::HugeRegionSet<Region>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - HugeLength::in_pages
    - Length
    - total_hugepages_broken::raw_num
    - backed
    - HugeLength::raw_num
    - tcmalloc_internal::HugeRegionSet<Region>::Print
    - Length::raw_num
    - total_pages_subreleased_due_to_limit::raw_num
    - tcmalloc_internal::HugeRegionSet<Region>::free_backed
    - tcmalloc_internal::HugeRegion::size
    - printf
    - total_pages_subreleased::raw_num
    - NHugePages
    - free_pages
    - static_cast<double>
    - total_hugepages_broken_due_to_limit::raw_num
    linkageType: ''
    returnType: void
    signature: void HugeRegionSet<Region>::Print(Printer& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:777,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:778,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:778,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_region.h:780,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region.h:781,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:784,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:785,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:786,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:788,1
    - Dst: PrintSubreleaseStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region.h:790,1
    - Dst: PrintTimeseriesStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region.h:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 794
    functionName: tcmalloc_internal::HugeRegionSet<Region>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - PrintTimeseriesStatsInPbtxt
    - tcmalloc_internal::HugeRegionSet<Region>::PrintInPbtxt
    - PrintI64
    - total_pages_subreleased_due_to_limit::raw_num
    - tcmalloc_internal::HugeRegion::size
    - total_pages_subreleased::raw_num
    - PrintSubreleaseStatsInPbtxt
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: void HugeRegionSet<Region>::PrintInPbtxt(PbtxtRegion& hpaa) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region.h:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 802
    functionName: tcmalloc_internal::HugeRegionSet<Region>::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugeRegionSet<Region>::AddSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugeRegionSet<Region>::AddSpanStats(SmallSpanStats* small,\n
      \                                               LargeSpanStats* large) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 807
    functionName: tcmalloc_internal::HugeRegionSet<Region>::ActiveRegions
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t HugeRegionSet<Region>::ActiveRegions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::stats
      Src: /src/tcmalloc/tcmalloc/huge_region.h:813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 817
    functionName: tcmalloc_internal::HugeRegionSet<Region>::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugeRegionSet<Region>::stats
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats HugeRegionSet<Region>::stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 827
    functionName: tcmalloc_internal::HugeRegionSet<Region>::free_backed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::HugeRegionSet<Region>::free_backed
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeRegionSet<Region>::free_backed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::HugeRegion::size
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::HugeRegion::HugeRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::contains
      Src: /src/tcmalloc/tcmalloc/huge_region.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: tcmalloc_internal::HugeRegion::contains
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugeRegion::contains
    linkageType: ''
    returnType: bool
    signature: bool contains(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:97,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/huge_region.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::HugeRegion::used_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 3
    functionsReached:
    - used
    - Length
    linkageType: ''
    returnType: Length
    signature: Length used_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:99,1
    - Dst: tcmalloc_internal::HugeRegion::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:99,1
    - Dst: tcmalloc_internal::HugeRegion::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: tcmalloc_internal::HugeRegion::free_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::HugeRegion::unmapped_pages
    - tcmalloc_internal::HugeRegion::size
    - tcmalloc_internal::HugeRegion::used_pages
    linkageType: ''
    returnType: Length
    signature: Length free_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:101,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::HugeRegion::unmapped_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::HugeRegion::size
    - in_pages
    linkageType: ''
    returnType: Length
    signature: Length unmapped_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:119,1
    - Dst: HugeRegion*::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - HugeRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::HugeRegion::BetterToAllocThan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::longest_free
    - HugeRegion*::longest_free
    linkageType: ''
    returnType: bool
    signature: bool BetterToAllocThan(const HugeRegion* rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::prepend
      Src: /src/tcmalloc/tcmalloc/huge_region.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - HugeRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: tcmalloc_internal::HugeRegion::prepend_it
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::prepend
    linkageType: ''
    returnType: void
    signature: void prepend_it(HugeRegion* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - HugeRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: tcmalloc_internal::HugeRegion::append_it
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::append
    linkageType: ''
    returnType: void
    signature: void append_it(HugeRegion* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:131,1
    - Dst: tcmalloc_internal::HugeRegion::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: tcmalloc_internal::HugeRegion::longest_free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 7
    functionsReached:
    - tcmalloc_internal::HugeRegion::longest_free
    - Length
    linkageType: ''
    returnType: Length
    signature: Length longest_free() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:161,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - use_huge_region_more_often
    - clock
    argTypes:
    - HugeRegionUsageOption
    - Clock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: tcmalloc_internal::HugeRegionSet::HugeRegionSet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - absl::Minutes
    linkageType: ''
    returnType: void
    signature: void HugeRegionSet(HugeRegionUsageOption use_huge_region_more_often,
      Clock clock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - use_huge_region_more_often
    argTypes:
    - HugeRegionUsageOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: tcmalloc_internal::HugeRegionSet::HugeRegionSet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeRegionSet(HugeRegionUsageOption use_huge_region_more_often)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: tcmalloc_internal::HugeRegionSet::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet::Rise
      Src: /src/tcmalloc/tcmalloc/huge_region.h:214,1
    - Dst: tcmalloc_internal::HugeRegionSet::Fall
      Src: /src/tcmalloc/tcmalloc/huge_region.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: tcmalloc_internal::HugeRegionSet::Fix
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegionSet::Rise
    - tcmalloc_internal::HugeRegionSet::Fall
    linkageType: ''
    returnType: void
    signature: void Fix(Region* r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/huge_region.h:220,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:222,1
    - Dst: Region*::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:223,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_region.h:224,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:225,1
    - Dst: Region*::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:226,1
    - Dst: auto::append_it
      Src: /src/tcmalloc/tcmalloc/huge_region.h:227,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_region.h:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 232
    functionName: tcmalloc_internal::HugeRegionSet::Rise
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - remove
    - at
    - prepend
    - auto::append_it
    - Region*::BetterToAllocThan
    - end
    linkageType: ''
    returnType: void
    signature: void Rise(Region* r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/huge_region.h:236,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:238,1
    - Dst: auto::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:239,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_region.h:240,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:241,1
    - Dst: auto::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:242,1
    - Dst: auto::prepend_it
      Src: /src/tcmalloc/tcmalloc/huge_region.h:243,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 248
    functionName: tcmalloc_internal::HugeRegionSet::Fall
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - append
    - auto::prepend_it
    - remove
    - auto::BetterToAllocThan
    - end
    - at
    linkageType: ''
    returnType: void
    signature: void Fall(Region* r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Region*::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:253,1
    - Dst: prepend_it
      Src: /src/tcmalloc/tcmalloc/huge_region.h:254,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: tcmalloc_internal::HugeRegionSet::AddToList
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - prepend_it
    - append
    - Region*::BetterToAllocThan
    linkageType: ''
    returnType: void
    signature: void AddToList(Region* r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:267,1
    - Dst: tcmalloc_internal::HugeRegionSet::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:268,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:269,1
    - Dst: tcmalloc_internal::HugeRegionSet::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: tcmalloc_internal::HugeRegionSet::GetSubreleaseStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegionSet::used_pages
    - unmapped_pages
    - tcmalloc_internal::HugeRegionSet::size
    - tcmalloc_internal::HugeRegionSet::free_pages
    linkageType: ''
    returnType: StatsTrackerType::SubreleaseStats
    signature: StatsTrackerType::SubreleaseStats GetSubreleaseStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: tcmalloc_internal::HugeRegionSet::used_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::HugeRegionSet::used_pages
    linkageType: ''
    returnType: Length
    signature: Length used_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::HugeRegionSet::free_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::HugeRegionSet::free_pages
    linkageType: ''
    returnType: Length
    signature: Length free_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: tcmalloc_internal::HugeRegionSet::size
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::HugeRegionSet::size
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:324,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - ' unback'
    argTypes:
    - HugeRange
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 331
    functionName: tcmalloc_internal::HugeRegion::HugeRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - NHugePages
    - Length
    linkageType: ''
    returnType: void
    signature: void HugeRegion::HugeRegion(HugeRange r, MemoryModifyFunction& unback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:334,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:335,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:335,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:336,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/huge_region.h:336,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:336,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:338,1
    - Dst: tcmalloc_internal::HugeRegion::Inc
      Src: /src/tcmalloc/tcmalloc/huge_region.h:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - n
    - p
    - from_released
    argTypes:
    - Length
    - PageId*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::HugeRegion::MaybeGet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - Length
    - Length::raw_num
    - tcmalloc_internal::HugeRegion::longest_free
    - TC_ASSERT_GT
    - FindAndMark
    - start
    - tcmalloc_internal::HugeRegion::Inc
    linkageType: ''
    returnType: bool
    signature: bool HugeRegion::MaybeGet(Length n, PageId* p, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:348,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/huge_region.h:349,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:349,1
    - Dst: Range::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:349,1
    - Dst: tcmalloc_internal::HugeRegion::Dec
      Src: /src/tcmalloc/tcmalloc/huge_region.h:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - release
    argTypes:
    - Range
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: tcmalloc_internal::HugeRegion::Put
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::Dec
    - Unmark
    - Length::raw_num
    - start
    - Range::n::raw_num
    linkageType: ''
    returnType: void
    signature: void HugeRegion::Put(Range r, bool release)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:360,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:360,1
    - Dst: tcmalloc_internal::HugeRegion::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:362,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:363,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:365,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:368,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:373,1
    - Dst: tcmalloc_internal::HugeRegion::UnbackHugepages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:375,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 376
    functionName: tcmalloc_internal::HugeRegion::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::free_backed
    - HugeLength::in_pages
    - Length
    - tcmalloc_internal::HugeRegion::UnbackHugepages
    - std::min
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeRegion::Release(Length desired)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_region.h:383,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:388,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:388,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:389,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:390,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:390,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:394,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:394,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:394,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:395,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:395,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:397,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:400,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:402,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:405,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:407,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:409,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:421,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:423,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region.h:430,1
    - Dst: tcmalloc_internal::HugeRegion::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:430,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region.h:431,1
    - Dst: tcmalloc_internal::HugeRegion::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:431,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 432
    functionName: tcmalloc_internal::HugeRegion::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - HugePageContaining
    - Length
    - tcmalloc_internal::HugeRegion::unmapped_pages
    - tcmalloc_internal::HugeRegion::free_pages
    - Length::raw_num
    - NextFreeRange
    - TC_CHECK_EQ
    - start
    - std::min
    - NHugePages
    - TC_ASSERT
    - first_page
    linkageType: ''
    returnType: void
    signature: "void HugeRegion::AddSpanStats(SmallSpanStats* small,\n                                     LargeSpanStats*
      large) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:435,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 442
    functionName: tcmalloc_internal::HugeRegion::free_backed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 3
    functionsReached:
    - NHugePages
    - Length
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeRegion::free_backed() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: tcmalloc_internal::HugeRegion::backed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeRegion::backed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:456,1
    - Dst: tcmalloc_internal::HugeRegion::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:457,1
    - Dst: tcmalloc_internal::HugeRegion::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:458,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:459,1
    - Dst: tcmalloc_internal::HugeRegion::backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:459,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_region.h:460,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:461,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: tcmalloc_internal::HugeRegion::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::used_pages
    - tcmalloc_internal::HugeRegion::free_pages
    - HugeLength::in_mib
    - tcmalloc_internal::HugeRegion::longest_free
    - tcmalloc_internal::HugeRegion::size
    - printf
    - in_bytes
    - tcmalloc_internal::HugeRegion::backed
    linkageType: ''
    returnType: void
    signature: void HugeRegion::Print(Printer& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:470,1
    - Dst: tcmalloc_internal::HugeRegion::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:470,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:471,1
    - Dst: tcmalloc_internal::HugeRegion::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:471,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:472,1
    - Dst: tcmalloc_internal::HugeRegion::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:472,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:473,1
    - Dst: tcmalloc_internal::HugeRegion::backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:473,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:474,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:474,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:475,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:475,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:476,1
    - Dst: tcmalloc_internal::HugeRegion::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' detail'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 477
    functionName: tcmalloc_internal::HugeRegion::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::free_backed
    - tcmalloc_internal::HugeRegion::used_pages
    - tcmalloc_internal::HugeRegion::free_pages
    - PrintI64
    - tcmalloc_internal::HugeRegion::longest_free
    - tcmalloc_internal::HugeRegion::size
    - in_bytes
    - tcmalloc_internal::HugeRegion::backed
    - HugeLength::in_bytes
    linkageType: ''
    returnType: void
    signature: void HugeRegion::PrintInPbtxt(PbtxtRegion& detail) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_region.h:481,1
    - Dst: tcmalloc_internal::HugeRegion::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:482,1
    - Dst: tcmalloc_internal::HugeRegion::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: tcmalloc_internal::HugeRegion::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - len
    - tcmalloc_internal::HugeRegion::unmapped_pages
    - tcmalloc_internal::HugeRegion::free_pages
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats HugeRegion::stats() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:489,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:490,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:491,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:491,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:492,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:492,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:493,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:494,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - r
    - from_released
    argTypes:
    - Range
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 505
    functionName: tcmalloc_internal::HugeRegion::Inc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - HugePageContaining
    - Length
    - start
    - TC_ASSERT_LE
    - std::min
    - NHugePages
    - first_page
    linkageType: ''
    returnType: void
    signature: void HugeRegion::Inc(Range r, bool* from_released)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:509,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:510,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:511,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:511,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:512,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:512,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:513,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:514,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:514,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:515,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:516,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:518,1
    - Dst: tcmalloc_internal::HugeRegion::UnbackHugepages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - r
    - release
    argTypes:
    - Range
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 527
    functionName: tcmalloc_internal::HugeRegion::Dec
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - HugePageContaining
    - Length
    - tcmalloc_internal::HugeRegion::UnbackHugepages
    - TC_ASSERT_GT
    - start
    - std::min
    - NHugePages
    - TC_ASSERT
    - first_page
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void HugeRegion::Dec(Range r, bool release)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:543,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:544,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:544,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:545,1
    - Dst: unback_
      Src: /src/tcmalloc/tcmalloc/huge_region.h:545,1
    - Dst: HugeRange
      Src: /src/tcmalloc/tcmalloc/huge_region.h:545,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:550,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - should_unback
    argTypes:
    - bool[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 560
    functionName: tcmalloc_internal::HugeRegion::UnbackHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 4
    functionsReached:
    - TC_ASSERT
    - unback_
    - start
    - NHugePages
    - HugeRange
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: HugeLength
    signature: "HugeLength HugeRegion::UnbackHugepages(\n    bool should_unback[kNumHugePages])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_region.h:565,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_region.h:568,1
    - Dst: SkipSubreleaseIntervals::IsPeakIntervalSet
      Src: /src/tcmalloc/tcmalloc/huge_region.h:573,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_region.h:575,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_region.h:577,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:581,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:581,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:583,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:594,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:608,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:609,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:617,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:620,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:621,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - desired
    - intervals
    argTypes:
    - Length
    - SkipSubreleaseIntervals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 626
    functionName: tcmalloc_internal::HugeRegionSet<Region>::GetDesiredReleasablePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - used_pages
    - Length
    - GetRecentDemand
    - tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
    - tcmalloc_internal::HugeRegionSet<Region>::free_backed
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - SkipSubreleaseIntervals::IsPeakIntervalSet
    - std::min
    - ReportSkippedSubreleasePages
    - free_pages
    - GetRecentPeak
    linkageType: ''
    returnType: Length
    signature: "Length HugeRegionSet<Region>::GetDesiredReleasablePages(\n    Length
      desired, SkipSubreleaseIntervals intervals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_region.h:630,1
    - Dst: GetSubreleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_region.h:630,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_region.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 5
    functionsReached:
    - GetSubreleaseStats
    - reset
    - Report
    linkageType: ''
    returnType: void
    signature: void HugeRegionSet<Region>::UpdateStatsTracker()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region.h:641,1
    - Dst: Fix
      Src: /src/tcmalloc/tcmalloc/huge_region.h:642,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_region.h:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - n
    - page
    - from_released
    argTypes:
    - Length
    - PageId*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 648
    functionName: tcmalloc_internal::HugeRegionSet<Region>::MaybeGet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugeRegionSet<Region>::MaybeGet
    - tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
    - Fix
    linkageType: ''
    returnType: bool
    signature: "bool HugeRegionSet<Region>::MaybeGet(Length n, PageId* page,\n                                            bool*
      from_released)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region.h:656,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_region.h:658,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region.h:659,1
    - Dst: Fix
      Src: /src/tcmalloc/tcmalloc/huge_region.h:660,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_region.h:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 667
    functionName: tcmalloc_internal::HugeRegionSet<Region>::MaybePut
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - contains
    - tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
    - Put
    - Fix
    - UseHugeRegionMoreOften
    linkageType: ''
    returnType: bool
    signature: bool HugeRegionSet<Region>::MaybePut(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToList
      Src: /src/tcmalloc/tcmalloc/huge_region.h:673,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_region.h:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - region
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 675
    functionName: tcmalloc_internal::HugeRegionSet<Region>::Contribute
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
    - AddToList
    linkageType: ''
    returnType: void
    signature: void HugeRegionSet<Region>::Contribute(Region* region)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:684,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:686,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:687,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_region.h:694,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::GetDesiredReleasablePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:695,1
    - Dst: set_limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_region.h:698,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:701,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region.h:703,1
    - Dst: limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_region.h:712,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - desired
    - intervals
    - hit_limit
    argTypes:
    - Length
    - SkipSubreleaseIntervals
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 717
    functionName: tcmalloc_internal::HugeRegionSet<Region>::ReleasePagesByPeakDemand
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - limit_hit
    - tcmalloc_internal::HugeRegionSet<Region>::GetDesiredReleasablePages
    - Length
    - set_limit_hit
    - tcmalloc_internal::HugeRegionSet<Region>::free_backed
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - Release
    linkageType: ''
    returnType: Length
    signature: "Length HugeRegionSet<Region>::ReleasePagesByPeakDemand(\n    Length
      desired, SkipSubreleaseIntervals intervals, bool hit_limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:721,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:723,1
    - Dst: std::clamp<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:723,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:724,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region.h:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - release_fraction
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 732
    functionName: tcmalloc_internal::HugeRegionSet<Region>::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - Length
    - Length::raw_num
    - tcmalloc_internal::HugeRegionSet<Region>::free_backed
    - std::clamp<double>
    - Release
    linkageType: ''
    returnType: Length
    signature: Length HugeRegionSet<Region>::ReleasePages(double release_fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:736,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:737,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:738,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:740,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:741,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::Print
      Src: /src/tcmalloc/tcmalloc/huge_region.h:744,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:745,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:746,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:747,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:750,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:753,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:753,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:754,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:756,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:757,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:758,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:759,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:759,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:759,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:760,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:760,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:764,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:767,1
    - Dst: total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:768,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:769,1
    - Dst: total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:770,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::Print
      Src: /src/tcmalloc/tcmalloc/huge_region.h:772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 773
    functionName: tcmalloc_internal::HugeRegionSet<Region>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - HugeLength::in_pages
    - Length
    - total_hugepages_broken::raw_num
    - backed
    - HugeLength::raw_num
    - tcmalloc_internal::HugeRegionSet<Region>::Print
    - Length::raw_num
    - total_pages_subreleased_due_to_limit::raw_num
    - tcmalloc_internal::HugeRegionSet<Region>::free_backed
    - tcmalloc_internal::HugeRegion::size
    - printf
    - total_pages_subreleased::raw_num
    - NHugePages
    - free_pages
    - static_cast<double>
    - total_hugepages_broken_due_to_limit::raw_num
    linkageType: ''
    returnType: void
    signature: void HugeRegionSet<Region>::Print(Printer& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:777,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:778,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:778,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_region.h:780,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region.h:781,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:784,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:785,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:786,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:788,1
    - Dst: PrintSubreleaseStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region.h:790,1
    - Dst: PrintTimeseriesStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region.h:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 794
    functionName: tcmalloc_internal::HugeRegionSet<Region>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - PrintTimeseriesStatsInPbtxt
    - tcmalloc_internal::HugeRegionSet<Region>::PrintInPbtxt
    - PrintI64
    - total_pages_subreleased_due_to_limit::raw_num
    - tcmalloc_internal::HugeRegion::size
    - total_pages_subreleased::raw_num
    - PrintSubreleaseStatsInPbtxt
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: void HugeRegionSet<Region>::PrintInPbtxt(PbtxtRegion& hpaa) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region.h:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 802
    functionName: tcmalloc_internal::HugeRegionSet<Region>::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugeRegionSet<Region>::AddSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugeRegionSet<Region>::AddSpanStats(SmallSpanStats* small,\n
      \                                               LargeSpanStats* large) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 807
    functionName: tcmalloc_internal::HugeRegionSet<Region>::ActiveRegions
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t HugeRegionSet<Region>::ActiveRegions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::stats
      Src: /src/tcmalloc/tcmalloc/huge_region.h:813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 817
    functionName: tcmalloc_internal::HugeRegionSet<Region>::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugeRegionSet<Region>::stats
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats HugeRegionSet<Region>::stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 827
    functionName: tcmalloc_internal::HugeRegionSet<Region>::free_backed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 10
    functionsReached:
    - tcmalloc_internal::HugeRegionSet<Region>::free_backed
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeRegionSet<Region>::free_backed() const
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: SkippedSubreleaseDecision
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:63,1
    - Dst: SkippedSubreleaseDecision
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:83,1
    - Dst: SkippedSubreleaseDecision
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:84,1
    - Dst: SkippedSubreleaseDecision
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:87,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:91,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:99,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:101,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Zero
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:105,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:109,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:131,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:135,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Zero
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:172,1
    - Dst: SkippedSubreleaseEntry
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:177,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:182,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:184,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:185,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:213,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:217,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:218,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:219,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:231,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:232,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:245,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:246,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:279,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:307,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:315,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:315,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:316,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:316,1
    - Dst: ReportUpdatedPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:319,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:319,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:321,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:339,1
    - Dst: CalculateDemandPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:340,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:353,1
    - Dst: CalculateCombinedDemandTrend
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:369,1
    - Dst: CalculateDemandPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:370,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:371,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:379,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:386,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:390,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:397,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:403,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:409,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:417,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:418,1
    - Dst: std::clamp
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:420,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:421,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:423,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:425,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:426,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:428,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:432,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:432,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:434,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:434,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:441,1
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:443,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:444,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:446,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:448,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:453,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:453,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:467,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:472,1
    - Dst: SubreleaseStatsEntry
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:474,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:477,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:492,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:493,1
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:510,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:511,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:513,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:529,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:530,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:531,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:534,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:536,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:538,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:539,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:541,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:543,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:555,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:557,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:590,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:590,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:590,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:596,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:597,1
    - Dst: absl::ToInt64Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:598,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:602,1
    - Dst: NumberOfFreePages::free_backed::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:603,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:604,1
    - Dst: NumberOfFreePages::free::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:605,1
    - Dst: NumberOfFreePages::free_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:605,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:609,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:611,1
    - Dst: SubreleaseStatsEntry::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:612,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:621,1
    - Dst: num_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:625,1
    - Dst: free_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:626,1
    - Dst: unmapped_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:627,1
    - Dst: total_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:628,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:629,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:630,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:631,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:634,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:636,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:640,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:640,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:640,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:641,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:642,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:643,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:645,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:645,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:647,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:647,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:649,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:649,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:651,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:651,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:653,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:657,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:658,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:658,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:659,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:664,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:665,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:673,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:677,1
    - Dst: absl::ToInt64Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:677,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:678,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:679,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:679,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:685,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:686,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:688,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:689,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:690,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:692,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:694,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:695,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:695,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:695,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:696,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:697,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:697,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:698,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:699,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:699,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:700,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:700,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:701,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:702,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:703,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:703,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:704,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:705,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:711,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:712,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:712,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:713,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:715,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:716,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:717,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:718,1
    - Dst: NumberOfFreePages::free::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:718,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:719,1
    - Dst: NumberOfFreePages::free_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:719,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:724,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:726,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:727,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:728,1
    - Dst: min_free_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:728,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:729,1
    - Dst: min_free_backed_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:730,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:731,1
    - Dst: num_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:732,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:733,1
    - Dst: num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:734,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:735,1
    - Dst: num_partial_alloc_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:736,1
    - Dst: auto::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:738,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:740,1
    - Dst: SubreleaseStats::num_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:740,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:741,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:742,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:743,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:744,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:745,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:746,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:747,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:748,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:749,1
    - Dst: SubreleaseStats::used_pages_in_subreleased_huge_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:750,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 229
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 757
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - IterBackwards
    - pending_skipped
    - empty
    - absl::ToInt64Minutes
    - num_pages::raw_num
    - Length
    - ABSL_PREDICT_FALSE
    - auto::PrintI64
    - num_pages_subreleased::raw_num
    - auto::CreateSubRegion
    - Length::raw_num
    - printf
    - SkippedSubreleaseEntry
    - NumberOfFreePages::free::raw_num
    - std::min
    - unmapped_pages::raw_num
    - SubreleaseStatsEntry::empty
    - NHugePages
    - ReportSkippedSubreleasePages
    - min_free_pages
    - total_huge_pages
    - num_hugepages_broken::raw_num
    - raw_num
    - CalculateCombinedDemandTrend
    - GetEpochAtOffset
    - SubreleaseStats::num_pages::raw_num
    - PbtxtRegion::PrintI64
    - HugeLength::raw_num
    - absl::ToInt64Milliseconds
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Zero
    - static_cast<int64_t>
    - free_pages::raw_num
    - NumberOfFreePages::free_backed::raw_num
    - std::max
    - CreateSubRegion
    - CalculateDemandPeak
    - GetRecentDemand
    - min_free_pages::raw_num
    - std::min<int>
    - absl::ToInt64Seconds
    - num_partial_alloc_pages_subreleased::raw_num
    - min_free_backed_pages::raw_num
    - total_skipped
    - Report
    - NumberOfFreePages::free_backed::in_mib
    - SubreleaseStats::used_pages_in_subreleased_huge_pages::raw_num
    - tcmalloc_internal::Length::max
    - SubreleaseStatsEntry
    - std::clamp
    - SkippedSubreleaseDecision
    - ReportUpdatedPeak
    - std::min<int64_t>
    - PbtxtRegion::CreateSubRegion
    - safe_div
    - Iter
    - TC_ASSERT_LE
    - correctly_skipped
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SkippedSubreleaseDecision()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pages
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SkippedSubreleaseDecision(Length pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pages
    - count
    argTypes:
    - Length
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SkippedSubreleaseDecision(Length pages, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - SkippedSubreleaseDecision
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: '& operator+=(SkippedSubreleaseDecision rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SkippedSubreleaseDecision
    signature: SkippedSubreleaseDecision & operator+=(SkippedSubreleaseDecision rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Zero
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
    linkageType: ''
    returnType: SkippedSubreleaseDecision
    signature: SkippedSubreleaseDecision Zero()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - clock
    - w
    argTypes:
    - Clock
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseCorrectnessTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SkippedSubreleaseCorrectnessTracker(Clock clock,\n                                                         absl::Duration
      w)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseCorrectnessTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SkippedSubreleaseCorrectnessTracker(\n      const SkippedSubreleaseCorrectnessTracker&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: "& operator=(\n      const SkippedSubreleaseCorrectnessTracker&)"
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SkippedSubreleaseCorrectnessTracker
    signature: "SkippedSubreleaseCorrectnessTracker & operator=(\n      const SkippedSubreleaseCorrectnessTracker&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:83,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:84,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:87,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - skipped_pages
    - peak_pages
    - expected_time_until_next_peak
    argTypes:
    - Length
    - Length
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::ReportSkippedSubreleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Report
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
    linkageType: ''
    returnType: void
    signature: "void ReportSkippedSubreleasePages(\n      Length skipped_pages, Length
      peak_pages,\n      absl::Duration expected_time_until_next_peak)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:99,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:101,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Zero
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:105,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:109,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:131,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - current_peak
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 136
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::ReportUpdatedPeak
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - IterBackwards
    - Length
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Zero
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Report
    - std::max
    linkageType: ''
    returnType: void
    signature: void ReportUpdatedPeak(Length current_peak)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::total_skipped
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SkippedSubreleaseDecision
    signature: SkippedSubreleaseDecision total_skipped() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::correctly_skipped
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SkippedSubreleaseDecision
    signature: SkippedSubreleaseDecision correctly_skipped() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::pending_skipped
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SkippedSubreleaseDecision
    signature: SkippedSubreleaseDecision pending_skipped() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SkippedSubreleaseEntry
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - SkippedSubreleaseEntry
    linkageType: ''
    returnType: SkippedSubreleaseEntry
    signature: SkippedSubreleaseEntry Nil()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:182,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:184,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - SkippedSubreleaseUpdate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached:
    - std::max
    linkageType: ''
    returnType: void
    signature: void Report(SkippedSubreleaseUpdate e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: tcmalloc_internal::IsPeakIntervalSet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    linkageType: ''
    returnType: bool
    signature: bool IsPeakIntervalSet() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:217,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:218,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 223
    functionName: tcmalloc_internal::SkipSubreleaseEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    linkageType: ''
    returnType: bool
    signature: bool SkipSubreleaseEnabled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:245,1
    - Dst: tcmalloc_internal::NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::reset
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NHugePages
    - Length
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: tcmalloc_internal::set_limit_hit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_limit_hit(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: tcmalloc_internal::limit_hit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool limit_hit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: tcmalloc_internal::SubreleaseStatsTracker::total_huge_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength total_huge_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - clock
    - w
    - summary_interval
    argTypes:
    - Clock
    - absl::Duration
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 308
    functionName: tcmalloc_internal::SubreleaseStatsTracker::SubreleaseStatsTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    linkageType: ''
    returnType: void
    signature: "void SubreleaseStatsTracker(Clock clock, absl::Duration w,\n                                            absl::Duration
      summary_interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: tcmalloc_internal::SubreleaseStatsTracker::SubreleaseStatsTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubreleaseStatsTracker(const SubreleaseStatsTracker&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: '& operator=(const SubreleaseStatsTracker&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SubreleaseStatsTracker
    signature: SubreleaseStatsTracker & operator=(const SubreleaseStatsTracker&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:315,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:315,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:316,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:316,1
    - Dst: ReportUpdatedPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:319,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:319,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - SubreleaseStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 324
    functionName: tcmalloc_internal::SubreleaseStatsTracker::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 1
    functionsReached:
    - ReportUpdatedPeak
    - GetEpochAtOffset
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::SubreleaseStatsTracker::Report
    - tcmalloc_internal::SubreleaseStatsTracker::pending_skipped
    - std::max
    linkageType: ''
    returnType: void
    signature: void Report(const SubreleaseStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:339,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::CalculateDemandPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - peak_interval
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: tcmalloc_internal::SubreleaseStatsTracker::GetRecentPeak
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::CalculateDemandPeak
    - std::min
    linkageType: ''
    returnType: Length
    signature: Length GetRecentPeak(absl::Duration peak_interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - short_interval
    - long_interval
    argTypes:
    - absl::Duration
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: tcmalloc_internal::SubreleaseStatsTracker::GetRecentDemand
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::GetRecentDemand
    linkageType: ''
    returnType: Length
    signature: "Length GetRecentDemand(absl::Duration short_interval,\n                         absl::Duration
      long_interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::CalculateCombinedDemandTrend
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:369,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::CalculateDemandPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:370,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - short_interval
    - long_interval
    - peak_interval
    argTypes:
    - absl::Duration
    - absl::Duration
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 372
    functionName: tcmalloc_internal::SubreleaseStatsTracker::GetRecentDemand
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::CalculateCombinedDemandTrend
    - tcmalloc_internal::SubreleaseStatsTracker::CalculateDemandPeak
    - std::min
    linkageType: ''
    returnType: Length
    signature: "Length GetRecentDemand(absl::Duration short_interval,\n                         absl::Duration
      long_interval,\n                         absl::Duration peak_interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pages
    - peak_pages
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void ReportSkippedSubreleasePages(Length pages, Length peak_pages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:386,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pages
    - peak_pages
    - next_peak_interval
    argTypes:
    - Length
    - Length
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
    - Length
    linkageType: ''
    returnType: void
    signature: "void ReportSkippedSubreleasePages(Length pages, Length peak_pages,\n
      \                                   absl::Duration next_peak_interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: tcmalloc_internal::SubreleaseStatsTracker::total_skipped
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::total_skipped
    linkageType: ''
    returnType: "typename SkippedSubreleaseCorrectnessTracker<\n      kEpochs>::SkippedSubreleaseDecision"
    signature: "typename SkippedSubreleaseCorrectnessTracker<\n      kEpochs>::SkippedSubreleaseDecision
      total_skipped() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: tcmalloc_internal::SubreleaseStatsTracker::correctly_skipped
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::correctly_skipped
    linkageType: ''
    returnType: "typename SkippedSubreleaseCorrectnessTracker<\n      kEpochs>::SkippedSubreleaseDecision"
    signature: "typename SkippedSubreleaseCorrectnessTracker<\n      kEpochs>::SkippedSubreleaseDecision
      correctly_skipped() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 410
    functionName: tcmalloc_internal::SubreleaseStatsTracker::pending_skipped
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::pending_skipped
    linkageType: ''
    returnType: "typename SkippedSubreleaseCorrectnessTracker<\n      kEpochs>::SkippedSubreleaseDecision"
    signature: "typename SkippedSubreleaseCorrectnessTracker<\n      kEpochs>::SkippedSubreleaseDecision
      pending_skipped() const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:417,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:418,1
    - Dst: std::clamp
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:420,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:421,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:423,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:425,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:426,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:428,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:432,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:432,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:434,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - w
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 436
    functionName: tcmalloc_internal::SubreleaseStatsTracker::min_free_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - IterBackwards
    - Length
    - static_cast<int64_t>
    - tcmalloc_internal::Length::max
    - std::min
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    - std::clamp
    linkageType: ''
    returnType: NumberOfFreePages
    signature: NumberOfFreePages min_free_pages(absl::Duration w) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:441,1
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:443,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:444,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:446,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:448,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:453,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 455
    functionName: tcmalloc_internal::SubreleaseStatsTracker::RealizedFragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - std::min<int64_t>
    - IterBackwards
    - Length
    - tcmalloc_internal::Length::max
    - std::min
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    linkageType: ''
    returnType: Length
    signature: Length RealizedFragmentation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SubreleaseStatsEntry
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: tcmalloc_internal::SubreleaseStatsTracker::Nil
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - SubreleaseStatsEntry
    linkageType: ''
    returnType: SubreleaseStatsEntry
    signature: SubreleaseStatsEntry Nil()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:477,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:492,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - SubreleaseStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 500
    functionName: tcmalloc_internal::SubreleaseStatsTracker::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    - std::min
    linkageType: ''
    returnType: void
    signature: void Report(const SubreleaseStats& e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 502
    functionName: tcmalloc_internal::SubreleaseStatsTracker::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:510,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:511,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - peak_interval
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 523
    functionName: tcmalloc_internal::SubreleaseStatsTracker::CalculateDemandPeak
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached:
    - std::min<int64_t>
    - IterBackwards
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    linkageType: ''
    returnType: Length
    signature: Length CalculateDemandPeak(absl::Duration peak_interval)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:529,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:530,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:531,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:534,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:536,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:538,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:539,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:541,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:543,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:555,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - short_interval
    - long_interval
    argTypes:
    - absl::Duration
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 567
    functionName: tcmalloc_internal::SubreleaseStatsTracker::CalculateCombinedDemandTrend
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 1
    functionsReached:
    - absl::ZeroDuration
    - IterBackwards
    - std::min<int>
    - std::min
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    linkageType: ''
    returnType: Length
    signature: "Length CalculateCombinedDemandTrend(absl::Duration short_interval,\n
      \                                     absl::Duration long_interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:590,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:590,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 591
    functionName: tcmalloc_internal::safe_div
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::safe_div
    - Length::raw_num
    linkageType: ''
    returnType: double
    signature: double safe_div(Length a, Length b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:596,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:597,1
    - Dst: absl::ToInt64Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:598,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:602,1
    - Dst: NumberOfFreePages::free_backed::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:603,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:604,1
    - Dst: NumberOfFreePages::free::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:605,1
    - Dst: NumberOfFreePages::free_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:605,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:609,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:611,1
    - Dst: SubreleaseStatsEntry::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:612,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:621,1
    - Dst: num_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:625,1
    - Dst: free_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:626,1
    - Dst: unmapped_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:627,1
    - Dst: total_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:628,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:629,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:630,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:631,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:634,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:636,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:640,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:640,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:640,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:641,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:642,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:643,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:645,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:645,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:647,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:647,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:649,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:649,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:651,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:651,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:653,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:657,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:658,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:658,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:659,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:664,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:665,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:673,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:677,1
    - Dst: absl::ToInt64Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:677,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:678,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:679,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ' out'
    - field
    argTypes:
    - Printer
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 680
    functionName: tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - IterBackwards
    - pending_skipped
    - absl::ToInt64Minutes
    - empty
    - num_pages::raw_num
    - Length::raw_num
    - printf
    - total_huge_pages
    - NumberOfFreePages::free::raw_num
    - unmapped_pages::raw_num
    - SubreleaseStatsEntry::empty
    - min_free_pages
    - NHugePages
    - raw_num
    - HugeLength::raw_num
    - static_cast<int64_t>
    - free_pages::raw_num
    - NumberOfFreePages::free_backed::raw_num
    - absl::ToInt64Seconds
    - total_skipped
    - NumberOfFreePages::free_backed::in_mib
    - safe_div
    - Iter
    - correctly_skipped
    linkageType: ''
    returnType: void
    signature: "void SubreleaseStatsTracker<kEpochs>::Print(Printer& out,\n                                            absl::string_view
      field) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:685,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:686,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:688,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:689,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:690,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:692,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:694,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:695,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:695,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:695,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:696,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:697,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:697,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:698,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:699,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:699,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:700,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:700,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:701,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:702,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:703,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:703,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:704,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ' hpaa'
    - field
    argTypes:
    - PbtxtRegion
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 706
    functionName: tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::PrintSubreleaseStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - raw_num
    - pending_skipped
    - PbtxtRegion::PrintI64
    - absl::ToInt64Milliseconds
    - total_skipped
    - correctly_skipped
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void SubreleaseStatsTracker<kEpochs>::PrintSubreleaseStatsInPbtxt(\n
      \   PbtxtRegion& hpaa, absl::string_view field) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:711,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:712,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:712,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:713,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:715,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:716,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:717,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:718,1
    - Dst: NumberOfFreePages::free::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:718,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:719,1
    - Dst: NumberOfFreePages::free_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:719,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:724,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:726,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:727,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:728,1
    - Dst: min_free_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:728,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:729,1
    - Dst: min_free_backed_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:730,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:731,1
    - Dst: num_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:732,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:733,1
    - Dst: num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:734,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:735,1
    - Dst: num_partial_alloc_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:736,1
    - Dst: auto::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:738,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:740,1
    - Dst: SubreleaseStats::num_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:740,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:741,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:742,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:743,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:744,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:745,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:746,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:747,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:748,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:749,1
    - Dst: SubreleaseStats::used_pages_in_subreleased_huge_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - ' hpaa'
    - field
    argTypes:
    - PbtxtRegion
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 754
    functionName: tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::PrintTimeseriesStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - raw_num
    - PbtxtRegion::CreateSubRegion
    - auto::PrintI64
    - SubreleaseStats::num_pages::raw_num
    - num_pages_subreleased::raw_num
    - auto::CreateSubRegion
    - PbtxtRegion::PrintI64
    - min_free_pages::raw_num
    - absl::ToInt64Milliseconds
    - num_partial_alloc_pages_subreleased::raw_num
    - min_free_backed_pages::raw_num
    - Iter
    - NumberOfFreePages::free::raw_num
    - NumberOfFreePages::free_backed::raw_num
    - SubreleaseStats::used_pages_in_subreleased_huge_pages::raw_num
    - min_free_pages
    - num_hugepages_broken::raw_num
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void SubreleaseStatsTracker<kEpochs>::PrintTimeseriesStatsInPbtxt(\n
      \   PbtxtRegion& hpaa, absl::string_view field) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SkippedSubreleaseDecision()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pages
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SkippedSubreleaseDecision(Length pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pages
    - count
    argTypes:
    - Length
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SkippedSubreleaseDecision(Length pages, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - SkippedSubreleaseDecision
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: '& operator+=(SkippedSubreleaseDecision rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SkippedSubreleaseDecision
    signature: SkippedSubreleaseDecision & operator+=(SkippedSubreleaseDecision rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Zero
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
    linkageType: ''
    returnType: SkippedSubreleaseDecision
    signature: SkippedSubreleaseDecision Zero()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - clock
    - w
    argTypes:
    - Clock
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseCorrectnessTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SkippedSubreleaseCorrectnessTracker(Clock clock,\n                                                         absl::Duration
      w)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseCorrectnessTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SkippedSubreleaseCorrectnessTracker(\n      const SkippedSubreleaseCorrectnessTracker&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: "& operator=(\n      const SkippedSubreleaseCorrectnessTracker&)"
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SkippedSubreleaseCorrectnessTracker
    signature: "SkippedSubreleaseCorrectnessTracker & operator=(\n      const SkippedSubreleaseCorrectnessTracker&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:83,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:84,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:87,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - skipped_pages
    - peak_pages
    - expected_time_until_next_peak
    argTypes:
    - Length
    - Length
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::ReportSkippedSubreleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Report
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
    linkageType: ''
    returnType: void
    signature: "void ReportSkippedSubreleasePages(\n      Length skipped_pages, Length
      peak_pages,\n      absl::Duration expected_time_until_next_peak)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:99,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:101,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Zero
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:105,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:109,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:131,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - current_peak
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 136
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::ReportUpdatedPeak
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - IterBackwards
    - Length
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Zero
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Report
    - std::max
    linkageType: ''
    returnType: void
    signature: void ReportUpdatedPeak(Length current_peak)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::total_skipped
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SkippedSubreleaseDecision
    signature: SkippedSubreleaseDecision total_skipped() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::correctly_skipped
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SkippedSubreleaseDecision
    signature: SkippedSubreleaseDecision correctly_skipped() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::pending_skipped
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SkippedSubreleaseDecision
    signature: SkippedSubreleaseDecision pending_skipped() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SkippedSubreleaseEntry
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - SkippedSubreleaseEntry
    linkageType: ''
    returnType: SkippedSubreleaseEntry
    signature: SkippedSubreleaseEntry Nil()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:182,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:184,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - SkippedSubreleaseUpdate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 4
    functionsReached:
    - std::max
    linkageType: ''
    returnType: void
    signature: void Report(SkippedSubreleaseUpdate e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: tcmalloc_internal::IsPeakIntervalSet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    linkageType: ''
    returnType: bool
    signature: bool IsPeakIntervalSet() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:217,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:218,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 223
    functionName: tcmalloc_internal::SkipSubreleaseEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    linkageType: ''
    returnType: bool
    signature: bool SkipSubreleaseEnabled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:245,1
    - Dst: tcmalloc_internal::NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::reset
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NHugePages
    - Length
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: tcmalloc_internal::set_limit_hit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_limit_hit(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: tcmalloc_internal::limit_hit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool limit_hit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: tcmalloc_internal::SubreleaseStatsTracker::total_huge_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength total_huge_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - clock
    - w
    - summary_interval
    argTypes:
    - Clock
    - absl::Duration
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 308
    functionName: tcmalloc_internal::SubreleaseStatsTracker::SubreleaseStatsTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    linkageType: ''
    returnType: void
    signature: "void SubreleaseStatsTracker(Clock clock, absl::Duration w,\n                                            absl::Duration
      summary_interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: tcmalloc_internal::SubreleaseStatsTracker::SubreleaseStatsTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubreleaseStatsTracker(const SubreleaseStatsTracker&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: '& operator=(const SubreleaseStatsTracker&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SubreleaseStatsTracker
    signature: SubreleaseStatsTracker & operator=(const SubreleaseStatsTracker&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:315,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:315,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:316,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:316,1
    - Dst: ReportUpdatedPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:319,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:319,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - SubreleaseStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 324
    functionName: tcmalloc_internal::SubreleaseStatsTracker::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached:
    - ReportUpdatedPeak
    - GetEpochAtOffset
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::SubreleaseStatsTracker::Report
    - tcmalloc_internal::SubreleaseStatsTracker::pending_skipped
    - std::max
    linkageType: ''
    returnType: void
    signature: void Report(const SubreleaseStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:339,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::CalculateDemandPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - peak_interval
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: tcmalloc_internal::SubreleaseStatsTracker::GetRecentPeak
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::CalculateDemandPeak
    - std::min
    linkageType: ''
    returnType: Length
    signature: Length GetRecentPeak(absl::Duration peak_interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - short_interval
    - long_interval
    argTypes:
    - absl::Duration
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: tcmalloc_internal::SubreleaseStatsTracker::GetRecentDemand
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::GetRecentDemand
    linkageType: ''
    returnType: Length
    signature: "Length GetRecentDemand(absl::Duration short_interval,\n                         absl::Duration
      long_interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::CalculateCombinedDemandTrend
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:369,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::CalculateDemandPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:370,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - short_interval
    - long_interval
    - peak_interval
    argTypes:
    - absl::Duration
    - absl::Duration
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 372
    functionName: tcmalloc_internal::SubreleaseStatsTracker::GetRecentDemand
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::CalculateCombinedDemandTrend
    - tcmalloc_internal::SubreleaseStatsTracker::CalculateDemandPeak
    - std::min
    linkageType: ''
    returnType: Length
    signature: "Length GetRecentDemand(absl::Duration short_interval,\n                         absl::Duration
      long_interval,\n                         absl::Duration peak_interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pages
    - peak_pages
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
    linkageType: ''
    returnType: void
    signature: void ReportSkippedSubreleasePages(Length pages, Length peak_pages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:386,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pages
    - peak_pages
    - next_peak_interval
    argTypes:
    - Length
    - Length
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
    - Length
    linkageType: ''
    returnType: void
    signature: "void ReportSkippedSubreleasePages(Length pages, Length peak_pages,\n
      \                                   absl::Duration next_peak_interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: tcmalloc_internal::SubreleaseStatsTracker::total_skipped
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::total_skipped
    linkageType: ''
    returnType: "typename SkippedSubreleaseCorrectnessTracker<\n      kEpochs>::SkippedSubreleaseDecision"
    signature: "typename SkippedSubreleaseCorrectnessTracker<\n      kEpochs>::SkippedSubreleaseDecision
      total_skipped() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: tcmalloc_internal::SubreleaseStatsTracker::correctly_skipped
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::correctly_skipped
    linkageType: ''
    returnType: "typename SkippedSubreleaseCorrectnessTracker<\n      kEpochs>::SkippedSubreleaseDecision"
    signature: "typename SkippedSubreleaseCorrectnessTracker<\n      kEpochs>::SkippedSubreleaseDecision
      correctly_skipped() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 410
    functionName: tcmalloc_internal::SubreleaseStatsTracker::pending_skipped
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::pending_skipped
    linkageType: ''
    returnType: "typename SkippedSubreleaseCorrectnessTracker<\n      kEpochs>::SkippedSubreleaseDecision"
    signature: "typename SkippedSubreleaseCorrectnessTracker<\n      kEpochs>::SkippedSubreleaseDecision
      pending_skipped() const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:417,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:418,1
    - Dst: std::clamp
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:420,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:421,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:423,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:425,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:426,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:428,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:432,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:432,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:434,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - w
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 436
    functionName: tcmalloc_internal::SubreleaseStatsTracker::min_free_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - IterBackwards
    - Length
    - static_cast<int64_t>
    - tcmalloc_internal::Length::max
    - std::min
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    - std::clamp
    linkageType: ''
    returnType: NumberOfFreePages
    signature: NumberOfFreePages min_free_pages(absl::Duration w) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:441,1
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:443,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:444,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:446,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:448,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:453,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 455
    functionName: tcmalloc_internal::SubreleaseStatsTracker::RealizedFragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - std::min<int64_t>
    - IterBackwards
    - Length
    - tcmalloc_internal::Length::max
    - std::min
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    linkageType: ''
    returnType: Length
    signature: Length RealizedFragmentation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SubreleaseStatsEntry
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: tcmalloc_internal::SubreleaseStatsTracker::Nil
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - SubreleaseStatsEntry
    linkageType: ''
    returnType: SubreleaseStatsEntry
    signature: SubreleaseStatsEntry Nil()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:477,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:492,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - SubreleaseStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 500
    functionName: tcmalloc_internal::SubreleaseStatsTracker::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    - std::min
    linkageType: ''
    returnType: void
    signature: void Report(const SubreleaseStats& e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 502
    functionName: tcmalloc_internal::SubreleaseStatsTracker::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:510,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:511,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - peak_interval
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 523
    functionName: tcmalloc_internal::SubreleaseStatsTracker::CalculateDemandPeak
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 4
    functionsReached:
    - std::min<int64_t>
    - IterBackwards
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    linkageType: ''
    returnType: Length
    signature: Length CalculateDemandPeak(absl::Duration peak_interval)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:529,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:530,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:531,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:534,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:536,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:538,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:539,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:541,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:543,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:555,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - short_interval
    - long_interval
    argTypes:
    - absl::Duration
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 567
    functionName: tcmalloc_internal::SubreleaseStatsTracker::CalculateCombinedDemandTrend
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached:
    - absl::ZeroDuration
    - IterBackwards
    - std::min<int>
    - std::min
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    linkageType: ''
    returnType: Length
    signature: "Length CalculateCombinedDemandTrend(absl::Duration short_interval,\n
      \                                     absl::Duration long_interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:590,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:590,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 591
    functionName: tcmalloc_internal::safe_div
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::safe_div
    - Length::raw_num
    linkageType: ''
    returnType: double
    signature: double safe_div(Length a, Length b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:596,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:597,1
    - Dst: absl::ToInt64Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:598,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:602,1
    - Dst: NumberOfFreePages::free_backed::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:603,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:604,1
    - Dst: NumberOfFreePages::free::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:605,1
    - Dst: NumberOfFreePages::free_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:605,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:609,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:611,1
    - Dst: SubreleaseStatsEntry::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:612,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:621,1
    - Dst: num_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:625,1
    - Dst: free_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:626,1
    - Dst: unmapped_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:627,1
    - Dst: total_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:628,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:629,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:630,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:631,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:634,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:636,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:640,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:640,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:640,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:641,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:642,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:643,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:645,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:645,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:647,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:647,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:649,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:649,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:651,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:651,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:653,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:657,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:658,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:658,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:659,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:664,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:665,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:673,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:677,1
    - Dst: absl::ToInt64Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:677,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:678,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:679,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ' out'
    - field
    argTypes:
    - Printer
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 680
    functionName: tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - IterBackwards
    - pending_skipped
    - absl::ToInt64Minutes
    - empty
    - num_pages::raw_num
    - Length::raw_num
    - printf
    - total_huge_pages
    - NumberOfFreePages::free::raw_num
    - unmapped_pages::raw_num
    - SubreleaseStatsEntry::empty
    - min_free_pages
    - NHugePages
    - raw_num
    - HugeLength::raw_num
    - static_cast<int64_t>
    - free_pages::raw_num
    - NumberOfFreePages::free_backed::raw_num
    - absl::ToInt64Seconds
    - total_skipped
    - NumberOfFreePages::free_backed::in_mib
    - safe_div
    - Iter
    - correctly_skipped
    linkageType: ''
    returnType: void
    signature: "void SubreleaseStatsTracker<kEpochs>::Print(Printer& out,\n                                            absl::string_view
      field) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:685,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:686,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:688,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:689,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:690,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:692,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:694,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:695,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:695,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:695,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:696,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:697,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:697,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:698,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:699,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:699,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:700,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:700,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:701,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:702,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:703,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:703,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:704,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ' hpaa'
    - field
    argTypes:
    - PbtxtRegion
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 706
    functionName: tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::PrintSubreleaseStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - raw_num
    - pending_skipped
    - PbtxtRegion::PrintI64
    - absl::ToInt64Milliseconds
    - total_skipped
    - correctly_skipped
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void SubreleaseStatsTracker<kEpochs>::PrintSubreleaseStatsInPbtxt(\n
      \   PbtxtRegion& hpaa, absl::string_view field) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:711,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:712,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:712,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:713,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:715,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:716,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:717,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:718,1
    - Dst: NumberOfFreePages::free::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:718,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:719,1
    - Dst: NumberOfFreePages::free_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:719,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:724,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:726,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:727,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:728,1
    - Dst: min_free_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:728,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:729,1
    - Dst: min_free_backed_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:730,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:731,1
    - Dst: num_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:732,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:733,1
    - Dst: num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:734,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:735,1
    - Dst: num_partial_alloc_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:736,1
    - Dst: auto::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:738,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:740,1
    - Dst: SubreleaseStats::num_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:740,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:741,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:742,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:743,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:744,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:745,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:746,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:747,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:748,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:749,1
    - Dst: SubreleaseStats::used_pages_in_subreleased_huge_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - ' hpaa'
    - field
    argTypes:
    - PbtxtRegion
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 754
    functionName: tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::PrintTimeseriesStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - raw_num
    - PbtxtRegion::CreateSubRegion
    - auto::PrintI64
    - SubreleaseStats::num_pages::raw_num
    - num_pages_subreleased::raw_num
    - auto::CreateSubRegion
    - PbtxtRegion::PrintI64
    - min_free_pages::raw_num
    - absl::ToInt64Milliseconds
    - num_partial_alloc_pages_subreleased::raw_num
    - min_free_backed_pages::raw_num
    - Iter
    - NumberOfFreePages::free::raw_num
    - NumberOfFreePages::free_backed::raw_num
    - SubreleaseStats::used_pages_in_subreleased_huge_pages::raw_num
    - min_free_pages
    - num_hugepages_broken::raw_num
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void SubreleaseStatsTracker<kEpochs>::PrintTimeseriesStatsInPbtxt(\n
      \   PbtxtRegion& hpaa, absl::string_view field) const"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:55,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:55,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:59,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:63,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:64,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:65,1
    - Dst: CapacityNeeded
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:87,1
    - Dst: SizeInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:97,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:102,1
    - Dst: reinterpret_cast<void **>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:103,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:103,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:116,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:122,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:123,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:137,1
    - Dst: std::max<int>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:139,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:141,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:152,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:153,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:154,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:159,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:160,1
    - Dst: SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:163,1
    - Dst: GetSlot
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:164,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:165,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:165,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:166,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:170,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:170,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:174,1
    - Dst: Inc
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:175,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:175,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:177,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:184,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:184,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:185,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:185,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:186,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:190,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:191,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:191,1
    - Dst: SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:194,1
    - Dst: GetSlot
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:195,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:196,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:196,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:197,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:198,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:199,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:204,1
    - Dst: Inc
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:205,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:205,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:206,1
    - Dst: TryLock
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:214,1
    - Dst: GetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:217,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:218,1
    - Dst: GetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:224,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:225,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:226,1
    - Dst: GetSlot
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:230,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:231,1
    - Dst: SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:235,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:236,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:238,1
    - Dst: TryLock
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:239,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:241,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:245,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:245,1
    - Dst: Commit
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:250,1
    - Dst: Commit
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:250,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:257,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:258,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:259,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:260,1
    - Dst: Total
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:261,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:262,1
    - Dst: Total
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:263,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:265,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:274,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:280,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:283,1
    - Dst: SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:288,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:294,1
    - Dst: GetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:295,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:302,1
    - Dst: GetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:303,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:311,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:317,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:321,1
    - Dst: SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:325,1
    - Dst: SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:332,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:334,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:337,1
    - Dst: GetSlot
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:337,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:341,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:341,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:360,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:361,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:362,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:363,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:418,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:419,1
    - Dst: FetchCommitIntervalMisses
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:433,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:438,1
    - Dst: std::array::begin
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:438,1
    - Dst: std::array::end
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:438,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:452,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:462,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:470,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:481,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:484,1
    - Dst: ResizeCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:499,1
    - Dst: ResizeCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:502,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 187
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 506
    functionName: namespace tcmalloc::tcmalloc_internal::internal_transfer_cache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - Total
    - empty
    - ABSL_PREDICT_FALSE
    - static_cast<uint64_t>
    - reinterpret_cast<void **>
    - Commit
    - freelist
    - TryLock
    - store
    - std::min
    - std::sort
    - FetchCommitIntervalMisses
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - std::array::end
    - ShrinkCache
    - std::array::begin
    - Unlock
    - size
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - IncreaseCacheCapacity
    - std::max<int>
    - ResizeCaches
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    - Inc
    - CanIncreaseCapacity
    - load
    - data
    - GetSlot
    - SetSlotInfo
    - exchange
    - TC_ASSERT_GT
    - std::min<int>
    - memcpy
    - LossyAdd
    - value
    - TC_ASSERT_GE
    - Alloc
    - static_cast<size_t>
    - SizeInfo
    - TC_ASSERT_LE
    - GetSlotInfo
    - CapacityNeeded
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal::internal_transfer_cache
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:55,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: MissCounts::Inc
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - load
    - store
    linkageType: ''
    returnType: void
    signature: void Inc(size_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: MissCounts::Total
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t Total() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:63,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:64,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: MissCounts::Commit
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - load
    - ABSL_PREDICT_TRUE
    - exchange
    linkageType: ''
    returnType: size_t
    signature: size_t Commit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransferCache::CapacityNeeded
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - owner
    - size_class
    argTypes:
    - Manager*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: TransferCache::TransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - TransferCache::CapacityNeeded
    linkageType: ''
    returnType: void
    signature: void TransferCache(Manager *owner, int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SizeInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:97,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:102,1
    - Dst: reinterpret_cast<void **>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:103,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - owner
    - size_class
    - capacity
    argTypes:
    - Manager*
    - int
    - Capacity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: TransferCache::TransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - Alloc
    - SizeInfo
    - freelist
    - reinterpret_cast<void **>
    linkageType: ''
    returnType: void
    signature: void TransferCache(Manager *owner, int size_class, Capacity capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: TransferCache::TransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransferCache(const TransferCache &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '&operator=(const TransferCache &)'
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TransferCache
    signature: TransferCache &operator=(const TransferCache &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:116,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:122,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:123,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:137,1
    - Dst: std::max<int>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:139,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 144
    functionName: TransferCache::CapacityNeeded
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - std::min<int>
    - TC_ASSERT_GT
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - std::max<int>
    - std::min
    linkageType: ''
    returnType: Capacity
    signature: Capacity CapacityNeeded(size_t size_class)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:152,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:153,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:154,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:159,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:160,1
    - Dst: TransferCache::SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:163,1
    - Dst: GetSlot
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:164,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:165,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:165,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:166,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:170,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:170,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:174,1
    - Dst: Inc
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:175,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:175,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 178
    functionName: TransferCache::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - load
    - data
    - GetSlot
    - size
    - memcpy
    - LossyAdd
    - freelist
    - TransferCache::SetSlotInfo
    - std::min
    - TC_ASSERT
    - Inc
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(lock_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:184,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:184,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:185,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:185,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:186,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:190,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:191,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:191,1
    - Dst: TransferCache::SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:194,1
    - Dst: GetSlot
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:195,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:196,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:196,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:197,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:198,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:199,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:204,1
    - Dst: Inc
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:205,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:205,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 207
    functionName: TransferCache::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - load
    - empty
    - GetSlot
    - data
    - size
    - std::min<int>
    - memcpy
    - LossyAdd
    - freelist
    - TC_ASSERT_LE
    - TransferCache::SetSlotInfo
    - std::min
    - TC_ASSERT
    - Inc
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(lock_)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TryLock
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:214,1
    - Dst: TransferCache::GetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:217,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:218,1
    - Dst: TransferCache::GetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:224,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:225,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:226,1
    - Dst: GetSlot
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:230,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:231,1
    - Dst: TransferCache::SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:235,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:236,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:238,1
    - Dst: TryLock
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:239,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 242
    functionName: TransferCache::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - GetSlot
    - TransferCache::GetSlotInfo
    - Unlock
    - memcpy
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - freelist
    - TC_ASSERT_LE
    - TryLock
    - std::min
    - TransferCache::SetSlotInfo
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:245,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: TransferCache::tc_length
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - load
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t tc_length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Commit
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:250,1
    - Dst: Commit
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: TransferCache::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - Commit
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:257,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:258,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:259,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:260,1
    - Dst: Total
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:261,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:262,1
    - Dst: Total
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:263,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 271
    functionName: TransferCache::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - Total
    - load
    - value
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: TransferCache::GetSlotInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: SizeInfo
    signature: SizeInfo GetSlotInfo() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:280,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:283,1
    - Dst: TransferCache::SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 290
    functionName: TransferCache::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - load
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - TransferCache::SetSlotInfo
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:294,1
    - Dst: TransferCache::GetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: TransferCache::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - TransferCache::GetSlotInfo
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:302,1
    - Dst: TransferCache::GetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: TransferCache::HasSpareCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - TransferCache::GetSlotInfo
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    linkageType: ''
    returnType: bool
    signature: bool HasSpareCapacity(int size_class) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:311,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:317,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:321,1
    - Dst: TransferCache::SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:325,1
    - Dst: TransferCache::SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:332,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:334,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:337,1
    - Dst: GetSlot
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:337,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:341,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 343
    functionName: TransferCache::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlot
    - static_cast<uint64_t>
    - memcpy
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - freelist
    - TransferCache::SetSlotInfo
    - std::min
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: '&freelist() ABSL_LOCKS_EXCLUDED(lock_)'
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE &freelist() ABSL_LOCKS_EXCLUDED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: TransferCache::max_capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t max_capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: TransferCache::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void **GetSlot(size_t i) ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:360,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:361,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:362,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - SizeInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: TransferCache::SetSlotInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 5
    functionsReached:
    - TC_ASSERT_LE
    - store
    linkageType: ''
    returnType: void
    signature: void SetSlotInfo(SizeInfo info)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:418,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:419,1
    - Dst: Manager::FetchCommitIntervalMisses
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:433,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:438,1
    - Dst: std::array::begin
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:438,1
    - Dst: std::array::end
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:438,1
    - Dst: Manager::CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:452,1
    - Dst: Manager::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:462,1
    - Dst: Manager::IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:470,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:481,1
    - Dst: Manager::IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:484,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 2
    argNames:
    - manager
    - start_size_class
    argTypes:
    - Manager
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 490
    functionName: ResizeCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 1
    functionsReached:
    - Manager::CanIncreaseCapacity
    - std::array::end
    - ABSL_PREDICT_FALSE
    - std::array::begin
    - Manager::ShrinkCache
    - Manager::IncreaseCacheCapacity
    - TC_ASSERT_LE
    - Manager::FetchCommitIntervalMisses
    - std::sort
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void ResizeCaches(Manager &manager, int start_size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ResizeCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:499,1
    - Dst: ResizeCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - manager
    argTypes:
    - Manager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 504
    functionName: TryResizingCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - ResizeCaches
    linkageType: ''
    returnType: void
    signature: void TryResizingCaches(Manager &manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/want_numa_aware.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: tcmalloc_internal::default_want_numa_aware
    functionSourceFile: /src/tcmalloc/tcmalloc/want_numa_aware.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: ABSL_ATTRIBUTE_UNUSED default_want_numa_aware()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: tcmalloc_internal::default_want_numa_aware
    functionSourceFile: /src/tcmalloc/tcmalloc/want_numa_aware.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: ABSL_ATTRIBUTE_UNUSED default_want_numa_aware()
  - BBCount: 123
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:170,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:172,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:173,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:178,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:178,1
    - Dst: allocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:179,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:180,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:180,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:181,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:245,1
    - Dst: allocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:246,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:248,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:289,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:306,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:308,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:309,1
    - Dst: unback
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:324,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:325,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:445,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:452,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:456,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:457,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:460,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:461,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:468,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:470,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:473,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:475,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:482,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:482,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:520,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:563,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:563,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:591,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:596,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:644,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:645,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:647,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:647,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:648,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:648,1
    - Dst: HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:651,1
    - Dst: HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:654,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:697,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:697,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:699,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:699,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:707,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:708,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:708,1
    - Dst: ClearRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:709,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:709,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:710,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:714,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:714,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:715,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:715,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:716,1
    - Dst: set_anon_vma_name
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:721,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:721,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:721,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:725,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:726,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:726,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:726,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:741,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:746,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:750,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:754,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:754,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:755,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:755,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:759,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:772,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:772,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:773,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:773,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:774,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:783,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:784,1
    - Dst: BeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:784,1
    - Dst: SetBeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:785,1
    - Dst: collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:788,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:788,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:788,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:792,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:792,1
    - Dst: SetBeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:793,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:803,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:804,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:808,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:809,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:811,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:812,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:814,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:815,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:817,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:829,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:831,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:840,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:843,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:864,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:865,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:865,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:876,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:876,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:877,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:878,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:944,1
    - Dst: ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:951,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:951,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:953,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:954,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:954,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:956,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:956,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:960,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:961,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:961,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:966,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:967,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:967,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:969,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:969,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:971,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:971,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:972,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:975,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:975,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:977,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:977,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:979,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:979,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:980,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:987,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:988,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:988,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:991,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:991,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:994,1
    - Dst: TrackerType*::GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:995,1
    - Dst: TrackerType*::RecordFeatures
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:996,1
    - Dst: TrackerType*::SetLastAllocationTime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:998,1
    - Dst: TrackerType*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:999,1
    - Dst: AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1000,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1005,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1005,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1006,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1009,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1009,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1010,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1014,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1014,1
    - Dst: UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1015,1
    - Dst: RemoveFromFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1026,1
    - Dst: TrackerType*::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1027,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1028,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1029,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1032,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1036,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1037,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1037,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1039,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1040,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1041,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1042,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1043,1
    - Dst: unback_without_lock_
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1053,1
    - Dst: HugeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1053,1
    - Dst: TrackerType*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1053,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1053,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1055,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1061,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1062,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1063,1
    - Dst: TrackerType*::DontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1070,1
    - Dst: UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1071,1
    - Dst: TrackerType*::GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1072,1
    - Dst: TrackerType*::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1074,1
    - Dst: AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1079,1
    - Dst: UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1080,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1114,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1115,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1138,1
    - Dst: TrackerType*::GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1139,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1141,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1142,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1144,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1144,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1145,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1145,1
    - Dst: TrackerType*::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1146,1
    - Dst: TrackerType*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1151,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1158,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1163,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1170,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1173,1
    - Dst: RoundDown
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1173,1
    - Dst: RoundDown
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1174,1
    - Dst: PageTracker*::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1175,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1180,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1183,1
    - Dst: PageTracker*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1184,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1211,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1211,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1211,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1216,1
    - Dst: TrackerType*::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1217,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1219,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1220,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1222,1
    - Dst: TrackerType*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1222,1
    - Dst: DonateToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1223,1
    - Dst: TrackerType*::SetHasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1226,1
    - Dst: AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1228,1
    - Dst: UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1232,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1241,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1241,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1241,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1242,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1242,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1242,1
    - Dst: TrackerType*::BeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1247,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1254,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1258,1
    - Dst: std::make_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1259,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1259,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1259,1
    - Dst: CompareForSubrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1266,1
    - Dst: std::pop_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1271,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1271,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1271,1
    - Dst: std::push_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1274,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1274,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1274,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1278,1
    - Dst: absl::c_sort
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1289,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1293,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1295,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1298,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1298,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1302,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1302,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1302,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1306,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1306,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1307,1
    - Dst: TrackerType*::unbroken
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1310,1
    - Dst: RemoveFromFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1313,1
    - Dst: TrackerType*::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1314,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1316,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1316,1
    - Dst: AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1318,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1322,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1322,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1323,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1324,1
    - Dst: limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1337,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1346,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1349,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1352,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1355,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1358,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1358,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1370,1
    - Dst: SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1371,1
    - Dst: UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1374,1
    - Dst: IsPeakIntervalSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1378,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1380,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1382,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1386,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1386,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1388,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1405,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1405,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1413,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1413,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1414,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1415,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1437,1
    - Dst: FreePagesInPartialAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1444,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1445,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1445,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1450,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1454,1
    - Dst: SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1467,1
    - Dst: GetDesiredSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1468,1
    - Dst: set_limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1474,1
    - Dst: SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1489,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1490,1
    - Dst: SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1493,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1494,1
    - Dst: ReleaseCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1499,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1499,1
    - Dst: CandidateArray::data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1499,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1502,1
    - Dst: SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1518,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1519,1
    - Dst: SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1521,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1522,1
    - Dst: SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: ReleaseCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1530,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1530,1
    - Dst: CandidateArray::data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1532,1
    - Dst: TrackerType*::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1544,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1547,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1550,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1551,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1552,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1559,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1560,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1561,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1587,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1594,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1595,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1599,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1599,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1600,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1606,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1610,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1612,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1622,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1627,1
    - Dst: IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1630,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1643,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1644,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1645,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1646,1
    - Dst: BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1649,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1649,1
    - Dst: BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1650,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1650,1
    - Dst: BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1651,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1653,1
    - Dst: TrackerType*::alloctime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1653,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1655,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1656,1
    - Dst: BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1659,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1663,1
    - Dst: IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1666,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1668,1
    - Dst: TrackerType*::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1674,1
    - Dst: TrackerType*::GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1675,1
    - Dst: TrackerType*::last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1683,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1692,1
    - Dst: PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1693,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1700,1
    - Dst: PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1702,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1707,1
    - Dst: PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1709,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1714,1
    - Dst: PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1715,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1719,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1722,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1724,1
    - Dst: PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1725,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1729,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1730,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1732,1
    - Dst: PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1733,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1738,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1739,1
    - Dst: TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1741,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1743,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1745,1
    - Dst: PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1746,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1752,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1753,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1754,1
    - Dst: AllocType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1754,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1755,1
    - Dst: ObjectType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1755,1
    - Dst: PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1756,1
    - Dst: PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1757,1
    - Dst: PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1759,1
    - Dst: PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1760,1
    - Dst: PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1761,1
    - Dst: PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1763,1
    - Dst: PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1765,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1766,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1767,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1778,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1782,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1782,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1782,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1792,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1793,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1798,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1799,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1802,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1808,1
    - Dst: TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1808,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1811,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1813,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1815,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1820,1
    - Dst: TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1820,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1823,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1825,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1827,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1831,1
    - Dst: TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1832,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1835,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1840,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1848,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1855,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1856,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1857,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1861,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1868,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1869,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1870,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1873,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1881,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1882,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1884,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1886,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1887,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1888,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1891,1
    - Dst: auto::PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1893,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1902,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1919,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1924,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1938,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1943,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1955,1
    - Dst: ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1982,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1982,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1984,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1984,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1985,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1986,1
    - Dst: ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1988,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1989,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1990,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1991,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1991,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1992,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1993,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2000,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2003,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2005,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2009,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2025,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2027,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2040,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2041,1
    - Dst: TrackerType*::GetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2066,1
    - Dst: TrackerType*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2072,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2075,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2076,1
    - Dst: TrackerType*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2079,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2099,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2108,1
    - Dst: PageFlagsBase*::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2109,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2109,1
    - Dst: eligible::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2115,1
    - Dst: Residency*::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2120,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2120,1
    - Dst: Residency::SinglePageBitmaps::swapped::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2121,1
    - Dst: Residency::SinglePageBitmaps::unbacked::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2122,1
    - Dst: TryUserspaceCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2125,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2135,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2138,1
    - Dst: PageTracker*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2139,1
    - Dst: PageTracker*::SetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2140,1
    - Dst: HugePageFillerStats::eligible::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2145,1
    - Dst: eligible::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2146,1
    - Dst: HugePageFillerStats::attempted::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2148,1
    - Dst: attempted::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2149,1
    - Dst: HugePageFillerStats::succeeded::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2151,1
    - Dst: succeeded::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2152,1
    - Dst: PageTracker*::Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2158,1
    - Dst: attempted::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2159,1
    - Dst: succeeded::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2161,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2167,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2199,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2201,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2203,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2208,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2210,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2212,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2217,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2219,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2223,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2225,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2228,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2230,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2234,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2236,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2240,1
    - Dst: SampledTrackerTreatment::Treat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2241,1
    - Dst: HugePageUnbackedTrackerTreatment::Treat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2243,1
    - Dst: HugePageUnbackedTrackerTreatment::GetCollapseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2244,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2248,1
    - Dst: SampledTrackerTreatment::Restore
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2249,1
    - Dst: HugePageUnbackedTrackerTreatment::Restore
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2251,1
    - Dst: PageTracker*::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2258,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2265,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2266,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2270,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2270,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2273,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2274,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2274,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2275,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2275,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2277,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2280,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2281,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2282,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2283,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2284,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2287,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2290,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2291,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2292,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2293,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2294,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2296,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2299,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2300,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2301,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2302,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2303,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2305,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2306,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2306,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2307,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2307,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2307,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2312,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2312,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2312,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2313,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2314,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2314,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2314,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2316,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2319,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2320,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2322,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2324,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2325,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2325,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2326,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2328,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2329,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2332,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2335,1
    - Dst: total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2336,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2337,1
    - Dst: total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2338,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2345,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2346,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2349,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2351,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2356,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2358,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2363,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2365,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2370,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2372,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2377,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2379,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2384,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2386,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2391,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2393,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2398,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2402,1
    - Dst: UsageInfo::HugepageBackedPreviouslyReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2403,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2405,1
    - Dst: eligible::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2408,1
    - Dst: attempted::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2409,1
    - Dst: succeeded::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2410,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2412,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2413,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2414,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2416,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2417,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2424,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2425,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2426,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2426,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2427,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2427,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2428,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2429,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2430,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2431,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2437,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2441,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2441,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2444,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2445,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2445,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2446,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2446,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2449,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2451,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2452,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2454,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2455,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2457,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2458,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2460,1
    - Dst: PrintAllocStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2463,1
    - Dst: PrintAllocStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2465,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2468,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2468,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2469,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2470,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2471,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2472,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2473,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2475,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2476,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2478,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2478,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2479,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2481,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2483,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2484,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2485,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2486,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2487,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2488,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2489,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2490,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2491,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2492,1
    - Dst: total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2493,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2494,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2496,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2497,1
    - Dst: total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2499,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2503,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2504,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2507,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2509,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2515,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2517,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2523,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2525,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2531,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2533,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2539,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2541,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2547,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2549,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2555,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2557,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2562,1
    - Dst: UsageInfo::HugepageBackedPreviouslyReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2563,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2565,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2566,1
    - Dst: eligible::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2567,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2568,1
    - Dst: attempted::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2569,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2570,1
    - Dst: succeeded::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2571,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2573,1
    - Dst: PrintSubreleaseStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2574,1
    - Dst: PrintTimeseriesStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2576,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2583,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2584,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2585,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2591,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2594,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2596,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2598,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2604,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2605,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2610,1
    - Dst: TrackerType*::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2610,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2613,1
    - Dst: __builtin_clzl
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2616,1
    - Dst: __builtin_clzl
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2622,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2623,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2624,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2631,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2632,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2635,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2643,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2644,1
    - Dst: std::max<uint32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2650,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2652,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2670,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2670,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2672,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2673,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2688,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2688,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2692,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2700,1
    - Dst: SparseListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2703,1
    - Dst: DenseListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2705,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2707,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2713,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2714,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2715,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2716,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2716,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2720,1
    - Dst: ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2723,1
    - Dst: IndexFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2723,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2723,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2725,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2725,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2727,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2728,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2729,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2729,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2730,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2731,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2731,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2732,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2734,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2735,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2735,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2736,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2743,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2747,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2748,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2754,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2755,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2758,1
    - Dst: TrackerType*::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2758,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2759,1
    - Dst: TrackerType*::DontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2759,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2760,1
    - Dst: TrackerType*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2768,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2770,1
    - Dst: ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2773,1
    - Dst: IndexFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2773,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2773,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2775,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2775,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2777,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2778,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2779,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2779,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2780,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2781,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2783,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2784,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2790,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2791,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2794,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2794,1
    - Dst: TrackerType*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2795,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2799,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2799,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2807,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2808,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2809,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2812,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2812,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2814,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2814,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2814,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2815,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2816,1
    - Dst: std::clamp<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2817,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2823,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2824,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2825,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2826,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2828,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2830,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2831,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2837,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2837,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2837,1
    CyclomaticComplexity: 159
    EdgeCount: 159
    ICount: 1016
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2841
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 2841
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - FindClear
    - GetStats
    - attempted::load
    - TypeToStr
    - PrintLifetimeHisto
    - TrackerType*::last_page_allocation_time
    - CompareForSubrelease
    - in_bytes
    - TrackerType*::ReleaseFree
    - TC_CHECK_LE
    - SampledTrackerTreatment::SelectEligibleTrackers
    - GetRecentPeak
    - ObjectType
    - HugeLength::in_pages
    - ListFor
    - total_hugepages_broken::raw_num
    - PrintAllocStatsInPbtxt
    - PbtxtRegion::PrintI64
    - PageTracker*::SetHugePageResidencyState
    - TrackerType*::BeingCollapsed
    - length
    - eligible::fetch_add
    - __builtin_clzl
    - CreateSubRegion
    - PbtxtRegion::PrintRaw
    - GetDesiredSubreleasePages
    - TrackerType*::DontFreeTracker
    - RemoveFromFillerList
    - PrintI64
    - Report
    - IndexFor
    - SetRange
    - AllocType
    - IsHugepageBacked
    - TrackerType*::unbroken
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    - TrackerType*::Get
    - SampledTrackerTreatment::Restore
    - total_pages_subreleased_due_to_limit::raw_num
    - prepend
    - RoundDown
    - GetBit
    - Print
    - SkipSubreleaseEnabled
    - longest_free
    - static_cast<double>
    - auto::PrintDouble
    - used
    - ABSL_PREDICT_FALSE
    - ReleaseCandidates
    - static_cast<uint64_t>
    - HasDenseSpans
    - unback_without_lock_
    - std::upper_bound
    - HugePageUnbackedTrackerTreatment::GetCollapseStats
    - NextFreeRange
    - printf
    - UpdateFillerStatsTracker
    - TryUserspaceCollapse
    - Remove
    - NHugePages
    - ReportSkippedSubreleasePages
    - GetLeast
    - CountBits
    - std::make_heap
    - raw_num
    - HugePageFillerStats::succeeded::fetch_add
    - Unmark
    - TrackerType*::SetLastAllocationTime
    - UsageInfo::Record
    - Unlock
    - size
    - TrackerType*::released
    - DenseListFor
    - std::max
    - absl::Milliseconds
    - previously_released_huge_pages
    - TrackerType*::features
    - HugePageFillerStats::attempted::fetch_add
    - absl::Minutes
    - PrintSampledTrackers
    - used_pages_in_released
    - allocs
    - TC_ASSERT_NE
    - std::pop_heap
    - GetRecentDemand
    - unback
    - absl::countr_zero
    - TC_ASSERT_GT
    - absl::c_sort
    - eligible::load
    - set_anon_vma_name
    - now
    - TrackerType*::empty
    - TrackerType*::SetAnonVmaName
    - BeingCollapsed
    - BucketNum
    - SampledTrackerTreatment::Treat
    - TrackerType*::used_pages
    - limit_hit
    - PrintHisto
    - TrackerType*::released_pages
    - TrackerType*::set_donated
    - FindAndMark
    - TrackerType*::location
    - TrackerType*::was_released
    - AddToFillerList
    - TrackerType*::HasDenseSpans
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - free_pages
    - TrackerType*::AddSpanStats
    - auto::PrintI64
    - unmapped_pages
    - HugePageFillerStats::eligible::fetch_add
    - Lock
    - SelectCandidates
    - Length::raw_num
    - Residency::SinglePageBitmaps::swapped::CountBits
    - absl::SNPrintF
    - SparseListFor
    - TrackerType*::longest_free_range
    - longest_free_range
    - in_pages
    - n::raw_num
    - PageTracker*::SetDontFreeTracker
    - ASSUME
    - TrackerType*::nallocs
    - PageTracker*::location
    - DonateToFillerList
    - TrackerType*::donated
    - TC_ASSERT
    - PageTracker*::Collapse
    - ReleasePages
    - std::push_heap
    - succeeded::fetch_add
    - used_pages
    - TrackerType*::SetHasDenseSpans
    - nallocs
    - remove
    - Range
    - set_limit_hit
    - TrackerType*::GetHugePageResidencyState
    - FindSet
    - HugePageUnbackedTrackerTreatment::Restore
    - TC_ASSERT_GE
    - PageTracker*::SetAnonVmaName
    - std::optional::value
    - used_pages_in_any_subreleased
    - used_pages_in_partial_released
    - static_cast<Type>
    - HugePageUnbackedTrackerTreatment::Treat
    - Residency*::GetUnbackedAndSwappedBitmaps
    - PageFlagsBase*::IsHugepageBacked
    - HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
    - safe_div
    - auto::PrintBool
    - Iter
    - LifetimeBucketNum
    - TrackerType*::set_was_released
    - TrackerType*::free_pages
    - empty
    - Length
    - first
    - PrintTimeseriesStatsInPbtxt
    - TrackerType*::alloctime
    - TrackerType*::SetTagState
    - succeeded::load
    - std::max<double>
    - FreePagesInPartialAllocs
    - end
    - std::min
    - TrackerType*::GetTagState
    - IsPeakIntervalSet
    - attempted::fetch_add
    - released
    - pages_allocated
    - absl::ToDoubleSeconds
    - absl::ToInt64Milliseconds
    - reset
    - total_pages_subreleased::raw_num
    - TC_ASSERT_EQ
    - ABSL_PREDICT_TRUE
    - first_page
    - hugepage_frac
    - freq
    - begin
    - absl::MakeSpan
    - TrackerType*::Put
    - UsageInfo::HugepageBackedPreviouslyReleased
    - TrackerType*::SetDontFreeTracker
    - tcmalloc_internal::max
    - SetBeingCollapsed
    - Add
    - TrackerType*::RecordFeatures
    - CandidateArray::data
    - std::max<uint32_t>
    - longest_free_range::raw_num
    - Residency::SinglePageBitmaps::unbacked::CountBits
    - collapse
    - std::optional::has_value
    - TC_CHECK_NE
    - TC_BUG
    - ClearRange
    - std::clamp<double>
    - TC_ASSERT_LE
    - MemoryTagToLabel
    - TrackerType*::was_donated
    - PrintSubreleaseStatsInPbtxt
    - UsageInfo::Print
    - HugeRange
    - TC_ASSERT_LT
    - total_hugepages_broken_due_to_limit::raw_num
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p
    - was_donated
    - now
    argTypes:
    - HugePage
    - bool
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 114
    functionName: tcmalloc_internal::PageTracker::PageTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageTracker(HugePage p, bool was_donated, uint64_t now)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::PageTracker::released
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool released() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: tcmalloc_internal::PageTracker::donated
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool donated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: tcmalloc_internal::PageTracker::set_donated
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_donated(bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: tcmalloc_internal::PageTracker::was_donated
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool was_donated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: tcmalloc_internal::PageTracker::was_released
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool was_released() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: tcmalloc_internal::PageTracker::set_was_released
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_was_released(bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: tcmalloc_internal::PageTracker::abandoned
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool abandoned() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: tcmalloc_internal::PageTracker::set_abandoned
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_abandoned(bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: tcmalloc_internal::PageTracker::abandoned_count
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: Length
    signature: Length abandoned_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:172,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: tcmalloc_internal::PageTracker::set_abandoned_count
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - Length::raw_num
    linkageType: ''
    returnType: void
    signature: void set_abandoned_count(Length count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:178,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: tcmalloc_internal::PageTracker::longest_free_range
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - longest_free
    - Length
    linkageType: ''
    returnType: Length
    signature: Length longest_free_range() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: tcmalloc_internal::PageTracker::nallocs
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - allocs
    linkageType: ''
    returnType: size_t
    signature: size_t nallocs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:180,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: tcmalloc_internal::PageTracker::used_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - used
    - Length
    linkageType: ''
    returnType: Length
    signature: Length used_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: tcmalloc_internal::PageTracker::released_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: Length
    signature: Length released_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: tcmalloc_internal::PageTracker::alloctime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double alloctime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::PageTracker::last_page_allocation_time
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double last_page_allocation_time() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: tcmalloc_internal::PageTracker::features
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TrackerFeatures
    signature: TrackerFeatures features() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::PageTracker::unbroken
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool unbroken() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: tcmalloc_internal::PageTracker::location
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePage
    signature: HugePage location() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: tcmalloc_internal::PageTracker::HasDenseSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasDenseSpans() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: tcmalloc_internal::PageTracker::SetHasDenseSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetHasDenseSpans()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - HugePageResidencyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::PageTracker::SetHugePageResidencyState
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetHugePageResidencyState(const HugePageResidencyState& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::PageTracker::GetHugePageResidencyState
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePageResidencyState
    signature: HugePageResidencyState GetHugePageResidencyState() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: tcmalloc_internal::PageTracker::SetBeingCollapsed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBeingCollapsed(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: tcmalloc_internal::PageTracker::SetLastAllocationTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastAllocationTime(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:245,1
    - Dst: allocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:246,1
    - Dst: tcmalloc_internal::PageTracker::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: tcmalloc_internal::PageTracker::RecordFeatures
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - allocs
    - tcmalloc_internal::PageTracker::nallocs
    - tcmalloc_internal::PageTracker::longest_free_range
    linkageType: ''
    returnType: void
    signature: void RecordFeatures()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: tcmalloc_internal::PageTracker::BeingCollapsed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BeingCollapsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: tcmalloc_internal::PageTracker::SetDontFreeTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDontFreeTracker(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: tcmalloc_internal::PageTracker::DontFreeTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DontFreeTracker() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: tcmalloc_internal::PageTracker::GetTagState
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TagState
    signature: TagState GetTagState() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - TagState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: tcmalloc_internal::PageTracker::SetTagState
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetTagState(const TagState& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unback
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:324,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - ' unback'
    argTypes:
    - Range
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: tcmalloc_internal::PageTracker::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_TRUE
    - unback
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r, MemoryModifyFunction& unback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    functionName: tcmalloc_internal::HugePageFiller::size
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - AccessDensityPrediction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: tcmalloc_internal::HugePageFiller::pages_allocated
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: Length
    signature: Length pages_allocated(AccessDensityPrediction type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: tcmalloc_internal::HugePageFiller::pages_allocated
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length pages_allocated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller::pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: tcmalloc_internal::HugePageFiller::used_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugePageFiller::pages_allocated
    linkageType: ''
    returnType: Length
    signature: Length used_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: tcmalloc_internal::HugePageFiller::unmapped_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length unmapped_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:456,1
    - Dst: tcmalloc_internal::HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:457,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:460,1
    - Dst: tcmalloc_internal::HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 466
    functionName: tcmalloc_internal::HugePageFiller::used_pages_in_released
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    - tcmalloc_internal::HugePageFiller::size
    linkageType: ''
    returnType: Length
    signature: Length used_pages_in_released() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:468,1
    - Dst: tcmalloc_internal::HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:470,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:473,1
    - Dst: tcmalloc_internal::HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 480
    functionName: tcmalloc_internal::HugePageFiller::used_pages_in_partial_released
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    - tcmalloc_internal::HugePageFiller::size
    linkageType: ''
    returnType: Length
    signature: Length used_pages_in_partial_released() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller::used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:482,1
    - Dst: tcmalloc_internal::HugePageFiller::used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: tcmalloc_internal::HugePageFiller::used_pages_in_any_subreleased
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugePageFiller::used_pages_in_released
    - tcmalloc_internal::HugePageFiller::used_pages_in_partial_released
    linkageType: ''
    returnType: Length
    signature: Length used_pages_in_any_subreleased() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: tcmalloc_internal::HugePageFiller::previously_released_huge_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength previously_released_huge_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: tcmalloc_internal::HugePageFiller::subrelease_stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SubreleaseStats
    signature: SubreleaseStats subrelease_stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: '& GetCollapseStats() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePageTreatmentStats
    signature: HugePageTreatmentStats & GetCollapseStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:563,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 564
    functionName: tcmalloc_internal::HugePageFiller::PageTrackerLists::size
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - NHugePages
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength size() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:644,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:645,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:647,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:647,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:648,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:648,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:651,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - TrackerType*
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 655
    functionName: tcmalloc_internal::HugePageFiller::CompareForSubrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TrackerType*::used_pages
    - TrackerType*::HasDenseSpans
    - TC_ASSERT_NE
    linkageType: ''
    returnType: bool
    signature: bool CompareForSubrelease(const TrackerType* a, const TrackerType*
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:697,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:697,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:699,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:699,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:707,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:708,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:708,1
    - Dst: ClearRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:709,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:709,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:710,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:714,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:714,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:715,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:715,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 717
    functionName: tcmalloc_internal::PageTracker::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - Length
    - Length::raw_num
    - ClearRange
    - FindAndMark
    - TC_ASSERT_EQ
    - first_page
    - TC_ASSERT_GE
    - CountBits
    linkageType: ''
    returnType: typename PageTracker::PageAllocation
    signature: typename PageTracker::PageAllocation PageTracker::Get(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_anon_vma_name
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:721,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:721,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' set_anon_vma_name'
    - name
    argTypes:
    - MemoryTagFunction
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: tcmalloc_internal::PageTracker::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - set_anon_vma_name
    - Range
    - first_page
    linkageType: ''
    returnType: void
    signature: "void PageTracker::SetAnonVmaName(MemoryTagFunction& set_anon_vma_name,\n
      \                                       std::optional<absl::string_view> name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:725,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:726,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:726,1
    - Dst: Range::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: tcmalloc_internal::PageTracker::Put
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Range::n::raw_num
    - Unmark
    - first_page
    - Length::raw_num
    linkageType: ''
    returnType: void
    signature: void PageTracker::Put(Range r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:741,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:746,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:750,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:754,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:754,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:755,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:755,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: tcmalloc_internal::PageTracker::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:759,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:772,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:772,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:773,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:773,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' unback'
    argTypes:
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 775
    functionName: tcmalloc_internal::PageTracker::ReleaseFree
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Length
    - Range
    - NextFreeRange
    - TC_ASSERT_LE
    - std::min
    - tcmalloc_internal::PageTracker::ReleasePages
    - TC_ASSERT_EQ
    - ABSL_PREDICT_TRUE
    - first_page
    - SetRange
    - CountBits
    linkageType: ''
    returnType: Length
    signature: Length PageTracker::ReleaseFree(MemoryModifyFunction& unback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:783,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:784,1
    - Dst: tcmalloc_internal::PageTracker::BeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:784,1
    - Dst: tcmalloc_internal::PageTracker::SetBeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:785,1
    - Dst: collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:788,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:788,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:788,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:792,1
    - Dst: tcmalloc_internal::PageTracker::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:792,1
    - Dst: tcmalloc_internal::PageTracker::SetBeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' collapse'
    argTypes:
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 797
    functionName: tcmalloc_internal::PageTracker::Collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - collapse
    - tcmalloc_internal::PageTracker::BeingCollapsed
    - Range
    - tcmalloc_internal::PageTracker::SetBeingCollapsed
    - TC_ASSERT
    - tcmalloc_internal::PageTracker::released
    - first_page
    linkageType: ''
    returnType: bool
    signature: bool PageTracker::Collapse(MemoryModifyFunction& collapse)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:803,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:804,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:808,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:809,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:811,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:812,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:814,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:815,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:817,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:829,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:831,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 838
    functionName: tcmalloc_internal::PageTracker::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - FindClear
    - Length
    - TC_ASSERT_GT
    - NextFreeRange
    - GetBit
    - FindSet
    - std::min
    linkageType: ''
    returnType: void
    signature: "void PageTracker::AddSpanStats(SmallSpanStats* small,\n                                      LargeSpanStats*
      large) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 840
    functionName: tcmalloc_internal::PageTracker::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - used
    linkageType: ''
    returnType: bool
    signature: bool PageTracker::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 844
    functionName: tcmalloc_internal::PageTracker::free_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::used_pages
    linkageType: ''
    returnType: Length
    signature: Length PageTracker::free_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - sparse_tracker_type
    - tag
    - ' unback'
    - ' unback_without_lock'
    - ' collapse'
    - ' set_anon_vma_name'
    argTypes:
    - HugePageFillerSparseTrackerType
    - MemoryTag
    - MemoryModifyFunction
    - MemoryModifyFunction
    - MemoryModifyFunction
    - MemoryTagFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 854
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::HugePageFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::HugePageFiller(\n    HugePageFillerSparseTrackerType
      sparse_tracker_type, MemoryTag tag,\n    MemoryModifyFunction& unback, MemoryModifyFunction&
      unback_without_lock,\n    MemoryModifyFunction& collapse, MemoryTagFunction&
      set_anon_vma_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:864,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:865,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - clock
    - sparse_tracker_type
    - tag
    - ' unback'
    - ' unback_without_lock'
    - ' collapse'
    - ' set_anon_vma_name'
    argTypes:
    - Clock
    - HugePageFillerSparseTrackerType
    - MemoryTag
    - MemoryModifyFunction
    - MemoryModifyFunction
    - MemoryModifyFunction
    - MemoryTagFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 871
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::HugePageFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - NHugePages
    - absl::Minutes
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::HugePageFiller(\n    Clock clock,
      HugePageFillerSparseTrackerType sparse_tracker_type,\n    MemoryTag tag, MemoryModifyFunction&
      unback,\n    MemoryModifyFunction& unback_without_lock, MemoryModifyFunction&
      collapse,\n    MemoryTagFunction& set_anon_vma_name)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:876,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:876,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:877,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:878,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:944,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:951,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:951,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:953,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:954,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:954,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:956,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:956,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:960,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:961,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:961,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:966,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:967,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:967,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:969,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:969,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:971,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:971,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:972,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:975,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:975,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:977,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:977,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:979,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:979,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:980,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:987,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:988,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:988,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:991,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:991,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:994,1
    - Dst: TrackerType*::GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:995,1
    - Dst: TrackerType*::RecordFeatures
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:996,1
    - Dst: TrackerType*::SetLastAllocationTime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:998,1
    - Dst: TrackerType*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:999,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1000,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1005,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1005,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1006,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1009,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1009,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1010,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1014,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1014,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1015,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 1017
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::TryGet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Length
    - Length::raw_num
    - TrackerType*::longest_free_range
    - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    - GetLeast
    - raw_num
    - ASSUME
    - TrackerType*::SetLastAllocationTime
    - TrackerType*::released
    - TrackerType*::donated
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    - TC_ASSERT_GT
    - TrackerType*::RecordFeatures
    - now
    - TC_ASSERT_GE
    - std::optional::value
    - TrackerType*::used_pages
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    - std::optional::has_value
    - TrackerType*::Get
    - TrackerType*::was_released
    - TrackerType*::HasDenseSpans
    - TrackerType*::GetTagState
    - TrackerType*::set_was_released
    linkageType: ''
    returnType: typename HugePageFiller<TrackerType>::TryGetResult
    signature: typename HugePageFiller<TrackerType>::TryGetResult HugePageFiller<TrackerType>::TryGet(Length
      n, SpanAllocInfo span_alloc_info)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1026,1
    - Dst: TrackerType*::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1027,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1028,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1029,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1032,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1036,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1037,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1037,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1039,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1040,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1041,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1042,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1043,1
    - Dst: unback_without_lock_
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1053,1
    - Dst: HugeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1053,1
    - Dst: TrackerType*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1053,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1053,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1055,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1061,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1062,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1063,1
    - Dst: TrackerType*::DontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1070,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1071,1
    - Dst: TrackerType*::GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1072,1
    - Dst: TrackerType*::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1074,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1079,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1080,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - pt
    - r
    argTypes:
    - TrackerType*
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1082
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::Put
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TrackerType*::free_pages
    - unback_without_lock_
    - TrackerType*::GetTagState
    - TrackerType*::longest_free_range
    - NHugePages
    - TrackerType*::nallocs
    - TrackerType*::released
    - TC_ASSERT_EQ
    - ABSL_PREDICT_TRUE
    - TrackerType*::DontFreeTracker
    - TrackerType*::Put
    - tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
    - TrackerType*::SetAnonVmaName
    - TC_ASSERT_GE
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    - TrackerType*::released_pages
    - TrackerType*::location
    - TrackerType*::was_released
    - TrackerType*::HasDenseSpans
    - HugeRange
    - TrackerType*::set_was_released
    linkageType: ''
    returnType: TrackerType
    signature: TrackerType * HugePageFiller<TrackerType>::Put(TrackerType* pt, Range
      r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1086
    functionName: ~HugePageTreatment()
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HugePageTreatment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1091
    functionName: tcmalloc_internal::HugePageTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1108
    functionName: tcmalloc_internal::RoundDown
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RoundDown(size_t metric, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clock::now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1114,1
    - Dst: Clock::freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - clock
    - tag
    - ' set_anon_vma_name'
    argTypes:
    - Clock
    - MemoryTag
    - MemoryTagFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1117
    functionName: tcmalloc_internal::SampledTrackerTreatment::SampledTrackerTreatment
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Clock::freq
    - Clock::now
    linkageType: ''
    returnType: void
    signature: "void SampledTrackerTreatment(Clock clock, MemoryTag tag,\n                                   MemoryTagFunction&
      set_anon_vma_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1118
    functionName: ~SampledTrackerTreatment() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SampledTrackerTreatment() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1138,1
    - Dst: GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1139,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1141,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1142,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1144,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1144,1
    - Dst: HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1145,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1145,1
    - Dst: SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1146,1
    - Dst: SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - PageTracker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1153
    functionName: tcmalloc_internal::SampledTrackerTreatment::SelectEligibleTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - released
    - nallocs
    - GetTagState
    - absl::ToDoubleSeconds
    - HasDenseSpans
    - SetTagState
    - std::max<double>
    - SetDontFreeTracker
    - longest_free_range
    linkageType: ''
    returnType: void
    signature: void SelectEligibleTrackers(PageTracker& pt) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1155
    functionName: tcmalloc_internal::SampledTrackerTreatment::num_valid_trackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_valid_trackers() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1158,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1163,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1170,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1173,1
    - Dst: RoundDown
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1173,1
    - Dst: RoundDown
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1174,1
    - Dst: PageTracker*::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1177
    functionName: tcmalloc_internal::SampledTrackerTreatment::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - RoundDown
    - TC_ASSERT_LE
    - MemoryTagToLabel
    - absl::SNPrintF
    - PageTracker*::SetAnonVmaName
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1180,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1183,1
    - Dst: PageTracker*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1186
    functionName: tcmalloc_internal::SampledTrackerTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    - PageTracker*::SetDontFreeTracker
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1211,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1211,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1211,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1216,1
    - Dst: TrackerType*::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1217,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1219,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1220,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1222,1
    - Dst: TrackerType*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1222,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::DonateToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1223,1
    - Dst: TrackerType*::SetHasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1226,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1228,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - pt
    - donated
    - span_alloc_info
    argTypes:
    - TrackerType*
    - bool
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1233
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::Contribute
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TrackerType*::used_pages
    - tcmalloc_internal::HugePageFiller<TrackerType>::DonateToFillerList
    - TrackerType*::SetHasDenseSpans
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    - Length
    - TrackerType*::released_pages
    - TrackerType*::SetTagState
    - TrackerType*::was_donated
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - TC_ASSERT_EQ
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::Contribute(\n    TrackerType* pt,
      bool donated, SpanAllocInfo span_alloc_info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1241,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1241,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1241,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1242,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1242,1
    - Dst: released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1242,1
    - Dst: BeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1247,1
    - Dst: absl::Span<TrackerType*>::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1254,1
    - Dst: absl::Span<TrackerType*>::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1258,1
    - Dst: std::make_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1259,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1259,1
    - Dst: absl::Span<TrackerType*>::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1259,1
    - Dst: CompareForSubrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1266,1
    - Dst: std::pop_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1271,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1271,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1271,1
    - Dst: std::push_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1274,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1274,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1274,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - candidates
    - current_candidates
    - ' tracker_list'
    - tracker_start
    argTypes:
    - absl::Span<TrackerType*>
    - int
    - PageTrackerLists<N>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1281
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - std::make_heap
    - absl::Span<TrackerType*>::end
    - released_pages
    - absl::Span<TrackerType*>::size
    - absl::Span<TrackerType*>::begin
    - std::push_heap
    - Length
    - std::pop_heap
    - TC_ASSERT_GT
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - Iter
    - CompareForSubrelease
    - BeingCollapsed
    linkageType: ''
    returnType: int
    signature: "int HugePageFiller<TrackerType>::SelectCandidates(\n    absl::Span<TrackerType*>
      candidates, int current_candidates,\n    const PageTrackerLists<N>& tracker_list,
      size_t tracker_start)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_sort
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1289,1
    - Dst: absl::Span<TrackerType*>::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1293,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1295,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1298,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1298,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1302,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1302,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1302,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1306,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1306,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1307,1
    - Dst: TrackerType*::unbroken
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1310,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1313,1
    - Dst: TrackerType*::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1314,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1316,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1316,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1318,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1322,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1322,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1323,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1324,1
    - Dst: limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - candidates
    - target
    argTypes:
    - absl::Span<TrackerType*>
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1342
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TrackerType*::free_pages
    - Length
    - TrackerType*::ReleaseFree
    - NHugePages
    - TrackerType*::released
    - TC_ASSERT_NE
    - TC_ASSERT_GT
    - absl::c_sort
    - tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
    - TC_ASSERT_GE
    - TrackerType*::used_pages
    - absl::Span<TrackerType*>::size
    - limit_hit
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    - TrackerType*::unbroken
    - TrackerType*::released_pages
    - TC_ASSERT_LE
    - TrackerType*::was_released
    - TrackerType*::HasDenseSpans
    - TrackerType*::set_was_released
    linkageType: ''
    returnType: Length
    signature: "Length HugePageFiller<TrackerType>::ReleaseCandidates(\n    absl::Span<TrackerType*>
      candidates, Length target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1346,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1349,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1352,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1355,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1358,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1359
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::FreePagesInPartialAllocs
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - used_pages_in_any_subreleased
    - unmapped_pages
    - size
    linkageType: ''
    returnType: Length
    signature: Length HugePageFiller<TrackerType>::FreePagesInPartialAllocs() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1370,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1371,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1374,1
    - Dst: SkipSubreleaseIntervals::IsPeakIntervalSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1378,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1380,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1382,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1386,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1386,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1388,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1405,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1405,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1413,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1413,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1414,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - desired
    - total_released
    - intervals
    argTypes:
    - Length
    - Length
    - SkipSubreleaseIntervals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1362
    functionDepth: 1
    functionLinenumber: 1362
    functionLinenumberEnd: 1420
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::GetDesiredSubreleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    - used_pages
    - Length
    - GetRecentDemand
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - SkipSubreleaseIntervals::IsPeakIntervalSet
    - std::min
    - ReportSkippedSubreleasePages
    - TC_ASSERT_LT
    - GetRecentPeak
    linkageType: ''
    returnType: Length
    signature: "Length HugePageFiller<TrackerType>::GetDesiredSubreleasePages(\n    Length
      desired, Length total_released, SkipSubreleaseIntervals intervals)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1437,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::FreePagesInPartialAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1444,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1445,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1445,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1450,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1454,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1467,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::GetDesiredSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1468,1
    - Dst: set_limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1474,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1489,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1490,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1493,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1494,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1499,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1499,1
    - Dst: CandidateArray::data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1499,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1502,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1518,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1519,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1521,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1522,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1530,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1530,1
    - Dst: CandidateArray::data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1532,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 4
    argNames:
    - desired
    - intervals
    - release_partial_alloc_pages
    - hit_limit
    argTypes:
    - Length
    - SkipSubreleaseIntervals
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1426
    functionDepth: 2
    functionLinenumber: 1426
    functionLinenumberEnd: 1539
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::GetDesiredSubreleasePages
    - Length
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
    - absl::MakeSpan
    - set_limit_hit
    - tcmalloc_internal::HugePageFiller<TrackerType>::FreePagesInPartialAllocs
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - CandidateArray::data
    - std::max
    - tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
    linkageType: ''
    returnType: Length
    signature: "Length HugePageFiller<TrackerType>::ReleasePages(\n    Length desired,
      SkipSubreleaseIntervals intervals,\n    bool release_partial_alloc_pages, bool
      hit_limit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1544,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1547,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1550,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1551,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1542
    functionDepth: 1
    functionLinenumber: 1542
    functionLinenumberEnd: 1554
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - Iter
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::AddSpanStats(\n    SmallSpanStats*
      small, LargeSpanStats* large) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1559,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1560,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1563
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - in_bytes
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - unmapped_pages
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats HugePageFiller<TrackerType>::stats() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1587,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1594,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1595,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1599,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1599,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1600,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1606,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1610,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1612,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1622,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1585
    functionDepth: 1
    functionLinenumber: 1585
    functionLinenumberEnd: 1623
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::UsageInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - TC_CHECK_LE
    - TC_ASSERT_GE
    - Length
    linkageType: ''
    returnType: void
    signature: void UsageInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1627,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tracker'
    - ' pageflags'
    argTypes:
    - TrackerType
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1626
    functionDepth: 1
    functionLinenumber: 1626
    functionLinenumberEnd: 1632
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
    - location
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const TrackerType& tracker, PageFlagsBase& pageflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1638
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::HugepageBackedPreviouslyReleased
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t HugepageBackedPreviouslyReleased()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1643,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1644,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1645,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1646,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1649,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1649,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1650,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1650,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1651,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1653,1
    - Dst: alloctime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1653,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1655,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1656,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1659,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1663,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1666,1
    - Dst: was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1668,1
    - Dst: features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1674,1
    - Dst: GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1675,1
    - Dst: last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1683,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 6
    argNames:
    - ' pt'
    - ' pageflags'
    - which
    - clock_now
    - clock_frequency
    - ' num_selected'
    argTypes:
    - TrackerType
    - PageFlagsBase
    - Type
    - double
    - double
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1641
    functionDepth: 2
    functionLinenumber: 1641
    functionLinenumberEnd: 1688
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Record
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - was_released
    - used_pages
    - nallocs
    - longest_free_range
    - alloctime
    - features
    - GetTagState
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
    - Length::raw_num
    - std::max<double>
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
    - absl::Milliseconds
    - TC_ASSERT_LT
    - last_page_allocation_time
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
    linkageType: ''
    returnType: void
    signature: "void Record(const TrackerType& pt, PageFlagsBase& pageflags, Type
      which,\n              double clock_now, double clock_frequency, size_t& num_selected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1692,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1693,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1700,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1702,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1707,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1709,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1714,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1715,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1719,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1722,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1724,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1725,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1729,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1730,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1732,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1733,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1738,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1739,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1741,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1743,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1745,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1746,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1690
    functionDepth: 1
    functionLinenumber: 1690
    functionLinenumberEnd: 1748
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    - raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - absl::ToInt64Milliseconds
    - printf
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    - static_cast<Type>
    linkageType: ''
    returnType: void
    signature: void Print(Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1752,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1753,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1754,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1754,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1755,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1755,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1756,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1757,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1759,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1760,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1761,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1763,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1765,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1766,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1750
    functionDepth: 1
    functionLinenumber: 1750
    functionLinenumberEnd: 1769
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
    - CreateSubRegion
    - PbtxtRegion::PrintRaw
    - static_cast<Type>
    linkageType: ''
    returnType: void
    signature: void Print(PbtxtRegion& hpaa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1792,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1795
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - std::upper_bound
    - TC_CHECK_NE
    linkageType: ''
    returnType: int
    signature: int BucketNum(size_t page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1798,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1799,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1797
    functionDepth: 1
    functionLinenumber: 1797
    functionLinenumberEnd: 1804
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    - absl::ToInt64Milliseconds
    linkageType: ''
    returnType: int
    signature: int LifetimeBucketNum(absl::Duration duration)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1808,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1808,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1811,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1813,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ' out'
    - h
    - type
    - blurb
    - offset
    argTypes:
    - Printer
    - Histo
    - Type
    - absl::string_view
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1806
    functionDepth: 1
    functionLinenumber: 1806
    functionLinenumberEnd: 1816
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - printf
    linkageType: ''
    returnType: void
    signature: "void PrintHisto(Printer& out, Histo h, Type type, absl::string_view
      blurb,\n                  size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1820,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1820,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1823,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1825,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' out'
    - h
    - type
    - blurb
    argTypes:
    - Printer
    - Histo
    - Type
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1818
    functionDepth: 1
    functionLinenumber: 1818
    functionLinenumberEnd: 1828
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - printf
    linkageType: ''
    returnType: void
    signature: "void PrintLifetimeHisto(Printer& out, Histo h, Type type,\n                          absl::string_view
      blurb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1831,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1832,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1835,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1840,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' out'
    - type
    argTypes:
    - Printer
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1830
    functionDepth: 1
    functionLinenumber: 1830
    functionLinenumberEnd: 1849
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - longest_free_range::raw_num
    - printf
    linkageType: ''
    returnType: void
    signature: void PrintSampledTrackers(Printer& out, Type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1855,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1856,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1857,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ' hpaa'
    - h
    - key
    - offset
    argTypes:
    - PbtxtRegion
    - Histo
    - absl::string_view
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1863
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - auto::PrintI64
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void PrintHisto(PbtxtRegion& hpaa, Histo h, absl::string_view key,\n
      \                 size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1868,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1869,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1870,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' hpaa'
    - h
    - key
    argTypes:
    - PbtxtRegion
    - Histo
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1875
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - auto::PrintI64
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: void PrintLifetimeHisto(PbtxtRegion& hpaa, Histo h, absl::string_view
      key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1881,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1882,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1884,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1886,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1887,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1888,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1891,1
    - Dst: auto::PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' hpaa'
    - type
    - key
    argTypes:
    - PbtxtRegion
    - Type
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1877
    functionDepth: 0
    functionLinenumber: 1877
    functionLinenumberEnd: 1899
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - auto::PrintDouble
    - auto::PrintI64
    - auto::PrintBool
    - longest_free_range::raw_num
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void PrintSampledTrackers(PbtxtRegion& hpaa, Type type,\n                            absl::string_view
      key)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1902,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1901
    functionDepth: 1
    functionLinenumber: 1901
    functionLinenumberEnd: 1921
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - TC_BUG
    - TC_ASSERT_LT
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view TypeToStr(Type type) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1924,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1923
    functionDepth: 1
    functionLinenumber: 1923
    functionLinenumberEnd: 1940
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - TC_BUG
    - TC_ASSERT_LT
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view AllocType(Type type) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1943,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1942
    functionDepth: 1
    functionLinenumber: 1942
    functionLinenumberEnd: 1957
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - TC_BUG
    - TC_ASSERT_LT
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ObjectType(Type type) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1587,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1594,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1595,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1599,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1599,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1600,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1606,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1610,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1612,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1622,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1585
    functionDepth: 1
    functionLinenumber: 1585
    functionLinenumberEnd: 1623
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::UsageInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - TC_CHECK_LE
    - TC_ASSERT_GE
    - Length
    linkageType: ''
    returnType: void
    signature: void UsageInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1627,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tracker'
    - ' pageflags'
    argTypes:
    - TrackerType
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1626
    functionDepth: 1
    functionLinenumber: 1626
    functionLinenumberEnd: 1632
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
    - location
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const TrackerType& tracker, PageFlagsBase& pageflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1638
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::HugepageBackedPreviouslyReleased
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t HugepageBackedPreviouslyReleased()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1643,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1644,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1645,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1646,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1649,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1649,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1650,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1650,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1651,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1653,1
    - Dst: alloctime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1653,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1655,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1656,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1659,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1663,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1666,1
    - Dst: was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1668,1
    - Dst: features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1674,1
    - Dst: GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1675,1
    - Dst: last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1683,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 6
    argNames:
    - ' pt'
    - ' pageflags'
    - which
    - clock_now
    - clock_frequency
    - ' num_selected'
    argTypes:
    - TrackerType
    - PageFlagsBase
    - Type
    - double
    - double
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1641
    functionDepth: 2
    functionLinenumber: 1641
    functionLinenumberEnd: 1688
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Record
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - was_released
    - used_pages
    - nallocs
    - longest_free_range
    - alloctime
    - features
    - GetTagState
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
    - Length::raw_num
    - std::max<double>
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
    - absl::Milliseconds
    - TC_ASSERT_LT
    - last_page_allocation_time
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
    linkageType: ''
    returnType: void
    signature: "void Record(const TrackerType& pt, PageFlagsBase& pageflags, Type
      which,\n              double clock_now, double clock_frequency, size_t& num_selected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1692,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1693,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1700,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1702,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1707,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1709,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1714,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1715,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1719,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1722,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1724,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1725,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1729,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1730,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1732,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1733,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1738,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1739,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1741,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1743,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1745,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1746,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1690
    functionDepth: 2
    functionLinenumber: 1690
    functionLinenumberEnd: 1748
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    - raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - absl::ToInt64Milliseconds
    - printf
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    - static_cast<Type>
    linkageType: ''
    returnType: void
    signature: void Print(Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1752,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1753,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1754,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1754,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1755,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1755,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1756,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1757,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1759,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1760,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1761,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1763,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1765,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1766,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1750
    functionDepth: 2
    functionLinenumber: 1750
    functionLinenumberEnd: 1769
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
    - CreateSubRegion
    - PbtxtRegion::PrintRaw
    - static_cast<Type>
    linkageType: ''
    returnType: void
    signature: void Print(PbtxtRegion& hpaa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1792,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1795
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - std::upper_bound
    - TC_CHECK_NE
    linkageType: ''
    returnType: int
    signature: int BucketNum(size_t page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1798,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1799,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1797
    functionDepth: 1
    functionLinenumber: 1797
    functionLinenumberEnd: 1804
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    - absl::ToInt64Milliseconds
    linkageType: ''
    returnType: int
    signature: int LifetimeBucketNum(absl::Duration duration)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1808,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1808,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1811,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1813,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ' out'
    - h
    - type
    - blurb
    - offset
    argTypes:
    - Printer
    - Histo
    - Type
    - absl::string_view
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1806
    functionDepth: 2
    functionLinenumber: 1806
    functionLinenumberEnd: 1816
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - printf
    linkageType: ''
    returnType: void
    signature: "void PrintHisto(Printer& out, Histo h, Type type, absl::string_view
      blurb,\n                  size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1820,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1820,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1823,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1825,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' out'
    - h
    - type
    - blurb
    argTypes:
    - Printer
    - Histo
    - Type
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1818
    functionDepth: 2
    functionLinenumber: 1818
    functionLinenumberEnd: 1828
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - printf
    linkageType: ''
    returnType: void
    signature: "void PrintLifetimeHisto(Printer& out, Histo h, Type type,\n                          absl::string_view
      blurb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1831,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1832,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1835,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1840,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' out'
    - type
    argTypes:
    - Printer
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1830
    functionDepth: 2
    functionLinenumber: 1830
    functionLinenumberEnd: 1849
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - longest_free_range::raw_num
    - printf
    linkageType: ''
    returnType: void
    signature: void PrintSampledTrackers(Printer& out, Type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1855,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1856,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1857,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ' hpaa'
    - h
    - key
    - offset
    argTypes:
    - PbtxtRegion
    - Histo
    - absl::string_view
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1863
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - auto::PrintI64
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void PrintHisto(PbtxtRegion& hpaa, Histo h, absl::string_view key,\n
      \                 size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1868,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1869,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1870,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' hpaa'
    - h
    - key
    argTypes:
    - PbtxtRegion
    - Histo
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1875
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - auto::PrintI64
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: void PrintLifetimeHisto(PbtxtRegion& hpaa, Histo h, absl::string_view
      key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1881,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1882,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1884,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1886,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1887,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1888,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1891,1
    - Dst: auto::PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' hpaa'
    - type
    - key
    argTypes:
    - PbtxtRegion
    - Type
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1877
    functionDepth: 0
    functionLinenumber: 1877
    functionLinenumberEnd: 1899
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - auto::PrintDouble
    - auto::PrintI64
    - auto::PrintBool
    - longest_free_range::raw_num
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void PrintSampledTrackers(PbtxtRegion& hpaa, Type type,\n                            absl::string_view
      key)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1902,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1901
    functionDepth: 1
    functionLinenumber: 1901
    functionLinenumberEnd: 1921
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 8
    functionsReached:
    - TC_BUG
    - TC_ASSERT_LT
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view TypeToStr(Type type) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1924,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1923
    functionDepth: 1
    functionLinenumber: 1923
    functionLinenumberEnd: 1940
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - TC_BUG
    - TC_ASSERT_LT
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view AllocType(Type type) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1943,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1942
    functionDepth: 1
    functionLinenumber: 1942
    functionLinenumberEnd: 1957
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - TC_BUG
    - TC_ASSERT_LT
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ObjectType(Type type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1982,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1982,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1984,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1984,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1985,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1986,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1988,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1989,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1990,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1991,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1991,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1992,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1993,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2000,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2003,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2005,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2009,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2025,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 1977
    functionDepth: 1
    functionLinenumber: 1977
    functionLinenumberEnd: 2030
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - std::optional::has_value
    - Length
    - size
    - length
    - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    - NHugePages
    - TC_ASSERT
    linkageType: ''
    returnType: HugePageFillerStats
    signature: HugePageFillerStats HugePageFiller<TrackerType>::GetStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clock::now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2040,1
    - Dst: Clock::freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - clock
    - pageflags
    - residency
    - ' collapse'
    argTypes:
    - Clock
    - PageFlagsBase*
    - Residency*
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2044
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::HugePageUnbackedTrackerTreatment
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Clock::freq
    - Clock::now
    linkageType: ''
    returnType: void
    signature: "void HugePageUnbackedTrackerTreatment(Clock clock,\n                                            PageFlagsBase*
      pageflags,\n                                            Residency* residency,\n
      \                                           MemoryModifyFunction& collapse)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2045
    functionDepth: 0
    functionLinenumber: 2045
    functionLinenumberEnd: 2045
    functionName: ~HugePageUnbackedTrackerTreatment() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HugePageUnbackedTrackerTreatment() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2066,1
    - Dst: SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2072,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2075,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2076,1
    - Dst: SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2079,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - PageTracker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2081
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - GetHugePageResidencyState
    - std::max<double>
    - SetDontFreeTracker
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void SelectEligibleTrackers(PageTracker& pt) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2083
    functionDepth: 0
    functionLinenumber: 2083
    functionLinenumberEnd: 2083
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::num_valid_trackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_valid_trackers() const override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2099,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2108,1
    - Dst: PageFlagsBase*::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2109,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2109,1
    - Dst: eligible::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2115,1
    - Dst: Residency*::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2120,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2120,1
    - Dst: Residency::SinglePageBitmaps::swapped::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2121,1
    - Dst: Residency::SinglePageBitmaps::unbacked::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2122,1
    - Dst: tcmalloc_internal::HugePageUnbackedTrackerTreatment::TryUserspaceCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2132
      start: 2085
    functionDepth: 1
    functionLinenumber: 2085
    functionLinenumberEnd: 2132
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - Residency*::GetUnbackedAndSwappedBitmaps
    - tcmalloc_internal::HugePageUnbackedTrackerTreatment::TryUserspaceCollapse
    - PageFlagsBase*::IsHugepageBacked
    - Residency::SinglePageBitmaps::swapped::CountBits
    - TC_ASSERT_LE
    - PageTracker*::location
    - eligible::fetch_add
    - Residency::SinglePageBitmaps::unbacked::CountBits
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2135,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2138,1
    - Dst: PageTracker*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2139,1
    - Dst: PageTracker*::SetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2142
      start: 2134
    functionDepth: 1
    functionLinenumber: 2134
    functionLinenumberEnd: 2142
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - PageTracker*::SetHugePageResidencyState
    - TC_ASSERT_LE
    - PageTracker*::SetDontFreeTracker
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eligible::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2145,1
    - Dst: eligible::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2146,1
    - Dst: attempted::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2148,1
    - Dst: attempted::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2149,1
    - Dst: succeeded::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2151,1
    - Dst: succeeded::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - HugePageTreatmentStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2154
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::GetCollapseStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - succeeded::fetch_add
    - attempted::load
    - succeeded::load
    - eligible::load
    - eligible::fetch_add
    - attempted::fetch_add
    linkageType: ''
    returnType: void
    signature: void GetCollapseStats(HugePageTreatmentStats& stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PageTracker*::Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2158,1
    - Dst: attempted::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2159,1
    - Dst: succeeded::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tracker
    argTypes:
    - PageTracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2157
    functionDepth: 1
    functionLinenumber: 2157
    functionLinenumberEnd: 2164
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::TryUserspaceCollapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - succeeded::fetch_add
    - PageTracker*::Collapse
    - attempted::fetch_add
    linkageType: ''
    returnType: bool
    signature: bool TryUserspaceCollapse(PageTracker* tracker)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2199,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2201,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2203,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2208,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2210,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2212,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2217,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2219,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2223,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2225,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2228,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2230,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2234,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2236,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2240,1
    - Dst: SampledTrackerTreatment::Treat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2241,1
    - Dst: HugePageUnbackedTrackerTreatment::Treat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2243,1
    - Dst: HugePageUnbackedTrackerTreatment::GetCollapseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2244,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2248,1
    - Dst: SampledTrackerTreatment::Restore
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2249,1
    - Dst: HugePageUnbackedTrackerTreatment::Restore
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2251,1
    - Dst: SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - enable_collapse
    - pageflags
    - residency
    argTypes:
    - bool
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2190
    functionDepth: 0
    functionLinenumber: 2190
    functionLinenumberEnd: 2260
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - SampledTrackerTreatment::Treat
    - HugePageUnbackedTrackerTreatment::Treat
    - Lock
    - Unlock
    - HugePageUnbackedTrackerTreatment::GetCollapseStats
    - HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
    - SampledTrackerTreatment::Restore
    - SetAnonVmaName
    - Iter
    - SampledTrackerTreatment::SelectEligibleTrackers
    - HugePageUnbackedTrackerTreatment::Restore
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::TreatHugepageTrackers(\n    bool
      enable_collapse, PageFlagsBase* pageflags, Residency* residency)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2265,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2266,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2270,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2270,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2273,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2274,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2274,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2275,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2275,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2277,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2280,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2281,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2282,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2283,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2284,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2287,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2290,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2291,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2292,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2293,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2294,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2296,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2299,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2300,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2301,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2302,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2303,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2305,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2306,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2306,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2307,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2307,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2307,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2312,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2312,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2312,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2313,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2314,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2314,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2314,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2316,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2319,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2320,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2322,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2324,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2325,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2325,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2326,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2328,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2329,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2332,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2335,1
    - Dst: total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2336,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2337,1
    - Dst: total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2338,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2345,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2346,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2349,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2351,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2356,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2358,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2363,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2365,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2370,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2372,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2377,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2379,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2384,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2386,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2391,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2393,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2398,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2402,1
    - Dst: UsageInfo::HugepageBackedPreviouslyReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2403,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2405,1
    - Dst: eligible::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2408,1
    - Dst: attempted::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2409,1
    - Dst: succeeded::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2410,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2412,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2413,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2414,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2416,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 3
    argNames:
    - ' out'
    - everything
    - ' pageflags'
    argTypes:
    - Printer
    - bool
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2418
      start: 2263
    functionDepth: 2
    functionLinenumber: 2263
    functionLinenumberEnd: 2418
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - empty
    - unmapped_pages
    - Length
    - attempted::load
    - succeeded::load
    - printf
    - raw_num
    - HugeLength::in_pages
    - in_pages
    - total_hugepages_broken::raw_num
    - UsageInfo::Record
    - size
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - total_pages_subreleased::raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
    - previously_released_huge_pages
    - TC_ASSERT
    - freq
    - UsageInfo::HugepageBackedPreviouslyReleased
    - eligible::load
    - tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
    - now
    - used_pages_in_any_subreleased
    - used_pages_in_partial_released
    - tcmalloc_internal::HugePageFiller<TrackerType>::Print
    - total_pages_subreleased_due_to_limit::raw_num
    - safe_div
    - Iter
    - TC_ASSERT_LE
    - UsageInfo::Print
    - static_cast<double>
    - total_hugepages_broken_due_to_limit::raw_num
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::Print(Printer& out, bool everything,\n
      \                                              PageFlagsBase& pageflags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2424,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2425,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2426,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2426,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2427,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2427,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2428,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2429,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2430,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - field
    - ' hpaa'
    - ' stats'
    - count
    argTypes:
    - absl::string_view
    - PbtxtRegion
    - HugePageFillerStats
    - AccessDensityPrediction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2421
    functionDepth: 1
    functionLinenumber: 2421
    functionLinenumberEnd: 2432
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - TC_ASSERT_LT
    - CreateSubRegion
    - PbtxtRegion::PrintI64
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt(\n    absl::string_view
      field, PbtxtRegion& hpaa,\n    const HugePageFillerStats& stats, AccessDensityPrediction
      count) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2437,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2441,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2441,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2444,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2445,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2445,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2446,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2446,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2449,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2451,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2452,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2454,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2455,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2457,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2458,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2460,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2463,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2465,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2468,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2468,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2469,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2470,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2471,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2472,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2473,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2475,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2476,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2478,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2478,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2479,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2481,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2483,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2484,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2485,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2486,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2487,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2488,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2489,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2490,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2491,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2492,1
    - Dst: total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2493,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2494,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2496,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2497,1
    - Dst: total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2499,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2503,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2504,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2507,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2509,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2515,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2517,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2523,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2525,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2531,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2533,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2539,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2541,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2547,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2549,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2555,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2557,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2562,1
    - Dst: UsageInfo::HugepageBackedPreviouslyReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2563,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2565,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2566,1
    - Dst: eligible::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2567,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2568,1
    - Dst: attempted::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2569,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2570,1
    - Dst: succeeded::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2571,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2573,1
    - Dst: PrintSubreleaseStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2574,1
    - Dst: PrintTimeseriesStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 2
    argNames:
    - ' hpaa'
    - ' pageflags'
    argTypes:
    - PbtxtRegion
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2435
    functionDepth: 2
    functionLinenumber: 2435
    functionLinenumberEnd: 2578
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - empty
    - unmapped_pages
    - Length
    - attempted::load
    - PrintTimeseriesStatsInPbtxt
    - static_cast<uint64_t>
    - succeeded::load
    - in_bytes
    - raw_num
    - in_pages
    - total_hugepages_broken::raw_num
    - UsageInfo::Record
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - total_pages_subreleased::raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
    - previously_released_huge_pages
    - TC_ASSERT
    - CreateSubRegion
    - freq
    - UsageInfo::HugepageBackedPreviouslyReleased
    - PrintI64
    - eligible::load
    - tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
    - now
    - used_pages_in_any_subreleased
    - used_pages_in_partial_released
    - total_pages_subreleased_due_to_limit::raw_num
    - safe_div
    - Iter
    - PrintSubreleaseStatsInPbtxt
    - UsageInfo::Print
    - static_cast<double>
    - total_hugepages_broken_due_to_limit::raw_num
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::PrintInPbtxt(\n    PbtxtRegion&
      hpaa, PageFlagsBase& pageflags) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2583,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2584,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2585,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2591,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2594,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2596,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2598,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2604,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2581
    functionDepth: 1
    functionLinenumber: 2581
    functionLinenumberEnd: 2606
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - unmapped_pages
    - pages_allocated
    - size
    - reset
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - Report
    linkageType: ''
    returnType: void
    signature: void HugePageFiller<TrackerType>::UpdateFillerStatsTracker()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2610,1
    - Dst: TrackerType*::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2610,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2613,1
    - Dst: __builtin_clzl
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2616,1
    - Dst: __builtin_clzl
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2622,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2623,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pt
    argTypes:
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2609
    functionDepth: 1
    functionLinenumber: 2609
    functionLinenumberEnd: 2626
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - TrackerType*::nallocs
    - std::max
    - TrackerType*::empty
    - TC_ASSERT
    - __builtin_clzl
    linkageType: ''
    returnType: size_t
    signature: size_t HugePageFiller<TrackerType>::IndexFor(TrackerType* pt) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2631,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2632,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2635,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2643,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2644,1
    - Dst: std::max<uint32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2650,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2652,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2670,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2670,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2672,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2673,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - longest
    - chunk
    - op
    argTypes:
    - Length
    - size_t
    - LFRRequirement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2629
    functionDepth: 1
    functionLinenumber: 2629
    functionLinenumberEnd: 2682
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::SparseListFor
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - TC_ASSERT_LT
    - absl::countr_zero
    - Length::raw_num
    - std::max<uint32_t>
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: std::optional<size_t>
    signature: "std::optional<size_t> HugePageFiller<TrackerType>::SparseListFor(\n
      \   const Length longest, const size_t chunk, const LFRRequirement op) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2688,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2688,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - longest
    - chunk
    - nallocs
    argTypes:
    - Length
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2685
    functionDepth: 1
    functionLinenumber: 2685
    functionLinenumberEnd: 2693
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::DenseListFor
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - TC_ASSERT_LE
    linkageType: ''
    returnType: size_t
    signature: "size_t HugePageFiller<TrackerType>::DenseListFor(const Length longest,\n
      \                                                       const size_t chunk,\n
      \                                                       size_t nallocs) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2700,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SparseListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2703,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::DenseListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2705,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - longest
    - chunk
    - density
    - nallocs
    - op
    argTypes:
    - Length
    - size_t
    - AccessDensityPrediction
    - size_t
    - LFRRequirement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2709
      start: 2696
    functionDepth: 2
    functionLinenumber: 2696
    functionLinenumberEnd: 2709
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugePageFiller<TrackerType>::SparseListFor
    - tcmalloc_internal::HugePageFiller<TrackerType>::DenseListFor
    - TC_ASSERT_LT
    - TC_BUG
    linkageType: ''
    returnType: std::optional<size_t>
    signature: "std::optional<size_t> HugePageFiller<TrackerType>::ListFor(\n    const
      Length longest, const size_t chunk,\n    const AccessDensityPrediction density,
      size_t nallocs,\n    const LFRRequirement op) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2713,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2714,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2715,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2716,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2716,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2720,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2723,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2723,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2723,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2725,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2725,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2727,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2728,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2729,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2729,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2730,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2731,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2731,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2732,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2734,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2735,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2735,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pt
    argTypes:
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2712
    functionDepth: 3
    functionLinenumber: 2712
    functionLinenumberEnd: 2738
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - TrackerType*::used_pages
    - TrackerType*::free_pages
    - TrackerType*::HasDenseSpans
    - TrackerType*::donated
    - std::optional::has_value
    - tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
    - TrackerType*::released_pages
    - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    - Length::raw_num
    - TrackerType*::nallocs
    - TrackerType*::released
    - Remove
    - TrackerType*::longest_free_range
    - TC_ASSERT
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void HugePageFiller<TrackerType>::RemoveFromFillerList(TrackerType*
      pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2743,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2747,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2741
    functionDepth: 0
    functionLinenumber: 2741
    functionLinenumberEnd: 2750
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::FetchFullyFreedTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - first
    - remove
    - empty
    linkageType: ''
    returnType: TrackerType
    signature: 'TrackerType * /*absl_nullable*/

      HugePageFiller<TrackerType>::FetchFullyFreedTracker()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2754,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2755,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2758,1
    - Dst: TrackerType*::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2758,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2759,1
    - Dst: TrackerType*::DontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2759,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2760,1
    - Dst: TrackerType*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2768,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2770,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2773,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2773,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2773,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2775,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2775,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2777,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2778,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2779,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2779,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2780,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2781,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2783,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pt
    argTypes:
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2786
      start: 2753
    functionDepth: 3
    functionLinenumber: 2753
    functionLinenumberEnd: 2786
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - TrackerType*::used_pages
    - TrackerType*::free_pages
    - TrackerType*::HasDenseSpans
    - TrackerType*::DontFreeTracker
    - std::optional::has_value
    - TrackerType*::empty
    - tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
    - TrackerType*::released_pages
    - TrackerType*::set_donated
    - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    - prepend
    - TrackerType*::nallocs
    - TrackerType*::released
    - Add
    - TC_ASSERT_LE
    - TrackerType*::longest_free_range
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: void HugePageFiller<TrackerType>::AddToFillerList(TrackerType* pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2790,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2791,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2794,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2794,1
    - Dst: TrackerType*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2795,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2799,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pt
    argTypes:
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2789
    functionDepth: 1
    functionLinenumber: 2789
    functionLinenumberEnd: 2800
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::DonateToFillerList
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - TrackerType*::set_donated
    - Length::raw_num
    - TrackerType*::released
    - Add
    - TrackerType*::longest_free_range
    - TC_ASSERT
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void HugePageFiller<TrackerType>::DonateToFillerList(TrackerType* pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2807,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2808,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2809,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2812,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2812,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2814,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2814,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2814,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2815,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2816,1
    - Dst: std::clamp<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2803
    functionDepth: 1
    functionLinenumber: 2803
    functionLinenumberEnd: 2818
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - used_pages_in_any_subreleased
    - used_pages
    - Length
    - Length::raw_num
    - std::clamp<double>
    - TC_ASSERT_LE
    - static_cast<double>
    - TC_ASSERT_GE
    linkageType: ''
    returnType: double
    signature: double HugePageFiller<TrackerType>::hugepage_frac() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2823,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2824,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2825,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2826,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2828,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2830,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2822
    functionDepth: 0
    functionLinenumber: 2822
    functionLinenumberEnd: 2832
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::ForEachHugePage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Iter
    linkageType: ''
    returnType: void
    signature: void HugePageFiller<TrackerType>::ForEachHugePage(const F& func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2837,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2837,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 6
    functionsReached:
    - used_pages
    - unmapped_pages
    - size
    linkageType: ''
    returnType: Length
    signature: Length HugePageFiller<TrackerType>::free_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p
    - was_donated
    - now
    argTypes:
    - HugePage
    - bool
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 114
    functionName: tcmalloc_internal::PageTracker::PageTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageTracker(HugePage p, bool was_donated, uint64_t now)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::PageTracker::released
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool released() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: tcmalloc_internal::PageTracker::donated
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool donated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: tcmalloc_internal::PageTracker::set_donated
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_donated(bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: tcmalloc_internal::PageTracker::was_donated
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool was_donated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: tcmalloc_internal::PageTracker::was_released
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool was_released() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: tcmalloc_internal::PageTracker::set_was_released
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_was_released(bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: tcmalloc_internal::PageTracker::abandoned
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool abandoned() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: tcmalloc_internal::PageTracker::set_abandoned
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_abandoned(bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: tcmalloc_internal::PageTracker::abandoned_count
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: Length
    signature: Length abandoned_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:172,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: tcmalloc_internal::PageTracker::set_abandoned_count
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - Length::raw_num
    linkageType: ''
    returnType: void
    signature: void set_abandoned_count(Length count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:178,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: tcmalloc_internal::PageTracker::longest_free_range
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - longest_free
    - Length
    linkageType: ''
    returnType: Length
    signature: Length longest_free_range() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: tcmalloc_internal::PageTracker::nallocs
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - allocs
    linkageType: ''
    returnType: size_t
    signature: size_t nallocs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:180,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: tcmalloc_internal::PageTracker::used_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - used
    - Length
    linkageType: ''
    returnType: Length
    signature: Length used_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: tcmalloc_internal::PageTracker::released_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: Length
    signature: Length released_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: tcmalloc_internal::PageTracker::alloctime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double alloctime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::PageTracker::last_page_allocation_time
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double last_page_allocation_time() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: tcmalloc_internal::PageTracker::features
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TrackerFeatures
    signature: TrackerFeatures features() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::PageTracker::unbroken
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool unbroken() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: tcmalloc_internal::PageTracker::location
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePage
    signature: HugePage location() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: tcmalloc_internal::PageTracker::HasDenseSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasDenseSpans() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: tcmalloc_internal::PageTracker::SetHasDenseSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetHasDenseSpans()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - HugePageResidencyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::PageTracker::SetHugePageResidencyState
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetHugePageResidencyState(const HugePageResidencyState& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::PageTracker::GetHugePageResidencyState
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePageResidencyState
    signature: HugePageResidencyState GetHugePageResidencyState() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: tcmalloc_internal::PageTracker::SetBeingCollapsed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBeingCollapsed(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: tcmalloc_internal::PageTracker::SetLastAllocationTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastAllocationTime(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:245,1
    - Dst: allocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:246,1
    - Dst: tcmalloc_internal::PageTracker::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: tcmalloc_internal::PageTracker::RecordFeatures
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - allocs
    - tcmalloc_internal::PageTracker::nallocs
    - tcmalloc_internal::PageTracker::longest_free_range
    linkageType: ''
    returnType: void
    signature: void RecordFeatures()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: tcmalloc_internal::PageTracker::BeingCollapsed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BeingCollapsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: tcmalloc_internal::PageTracker::SetDontFreeTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDontFreeTracker(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: tcmalloc_internal::PageTracker::DontFreeTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DontFreeTracker() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: tcmalloc_internal::PageTracker::GetTagState
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TagState
    signature: TagState GetTagState() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - TagState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: tcmalloc_internal::PageTracker::SetTagState
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetTagState(const TagState& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unback
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:324,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - ' unback'
    argTypes:
    - Range
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: tcmalloc_internal::PageTracker::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - ABSL_PREDICT_TRUE
    - unback
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r, MemoryModifyFunction& unback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    functionName: tcmalloc_internal::HugePageFiller::size
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - AccessDensityPrediction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: tcmalloc_internal::HugePageFiller::pages_allocated
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: Length
    signature: Length pages_allocated(AccessDensityPrediction type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: tcmalloc_internal::HugePageFiller::pages_allocated
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length pages_allocated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller::pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: tcmalloc_internal::HugePageFiller::used_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugePageFiller::pages_allocated
    linkageType: ''
    returnType: Length
    signature: Length used_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: tcmalloc_internal::HugePageFiller::unmapped_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length unmapped_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:456,1
    - Dst: tcmalloc_internal::HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:457,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:460,1
    - Dst: tcmalloc_internal::HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 466
    functionName: tcmalloc_internal::HugePageFiller::used_pages_in_released
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_LE
    - tcmalloc_internal::HugePageFiller::size
    linkageType: ''
    returnType: Length
    signature: Length used_pages_in_released() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:468,1
    - Dst: tcmalloc_internal::HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:470,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:473,1
    - Dst: tcmalloc_internal::HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 480
    functionName: tcmalloc_internal::HugePageFiller::used_pages_in_partial_released
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_LE
    - tcmalloc_internal::HugePageFiller::size
    linkageType: ''
    returnType: Length
    signature: Length used_pages_in_partial_released() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller::used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:482,1
    - Dst: tcmalloc_internal::HugePageFiller::used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: tcmalloc_internal::HugePageFiller::used_pages_in_any_subreleased
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugePageFiller::used_pages_in_released
    - tcmalloc_internal::HugePageFiller::used_pages_in_partial_released
    linkageType: ''
    returnType: Length
    signature: Length used_pages_in_any_subreleased() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: tcmalloc_internal::HugePageFiller::previously_released_huge_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength previously_released_huge_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: tcmalloc_internal::HugePageFiller::subrelease_stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SubreleaseStats
    signature: SubreleaseStats subrelease_stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: '& GetCollapseStats() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePageTreatmentStats
    signature: HugePageTreatmentStats & GetCollapseStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:563,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 564
    functionName: tcmalloc_internal::HugePageFiller::PageTrackerLists::size
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - NHugePages
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength size() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:644,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:645,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:647,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:647,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:648,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:648,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:651,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - TrackerType*
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 655
    functionName: tcmalloc_internal::HugePageFiller::CompareForSubrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TrackerType*::used_pages
    - TrackerType*::HasDenseSpans
    - TC_ASSERT_NE
    linkageType: ''
    returnType: bool
    signature: bool CompareForSubrelease(const TrackerType* a, const TrackerType*
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:697,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:697,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:699,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:699,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:707,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:708,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:708,1
    - Dst: ClearRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:709,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:709,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:710,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:714,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:714,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:715,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:715,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 717
    functionName: tcmalloc_internal::PageTracker::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - Length
    - Length::raw_num
    - ClearRange
    - FindAndMark
    - TC_ASSERT_EQ
    - first_page
    - TC_ASSERT_GE
    - CountBits
    linkageType: ''
    returnType: typename PageTracker::PageAllocation
    signature: typename PageTracker::PageAllocation PageTracker::Get(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_anon_vma_name
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:721,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:721,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' set_anon_vma_name'
    - name
    argTypes:
    - MemoryTagFunction
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: tcmalloc_internal::PageTracker::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - set_anon_vma_name
    - Range
    - first_page
    linkageType: ''
    returnType: void
    signature: "void PageTracker::SetAnonVmaName(MemoryTagFunction& set_anon_vma_name,\n
      \                                       std::optional<absl::string_view> name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:725,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:726,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:726,1
    - Dst: Range::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: tcmalloc_internal::PageTracker::Put
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Range::n::raw_num
    - Unmark
    - first_page
    - Length::raw_num
    linkageType: ''
    returnType: void
    signature: void PageTracker::Put(Range r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:741,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:746,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:750,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:754,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:754,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:755,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:755,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: tcmalloc_internal::PageTracker::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:759,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:772,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:772,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:773,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:773,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' unback'
    argTypes:
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 775
    functionName: tcmalloc_internal::PageTracker::ReleaseFree
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Length
    - Range
    - NextFreeRange
    - TC_ASSERT_LE
    - std::min
    - tcmalloc_internal::PageTracker::ReleasePages
    - TC_ASSERT_EQ
    - ABSL_PREDICT_TRUE
    - first_page
    - SetRange
    - CountBits
    linkageType: ''
    returnType: Length
    signature: Length PageTracker::ReleaseFree(MemoryModifyFunction& unback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:783,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:784,1
    - Dst: tcmalloc_internal::PageTracker::BeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:784,1
    - Dst: tcmalloc_internal::PageTracker::SetBeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:785,1
    - Dst: collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:788,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:788,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:788,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:792,1
    - Dst: tcmalloc_internal::PageTracker::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:792,1
    - Dst: tcmalloc_internal::PageTracker::SetBeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' collapse'
    argTypes:
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 797
    functionName: tcmalloc_internal::PageTracker::Collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - collapse
    - tcmalloc_internal::PageTracker::BeingCollapsed
    - Range
    - tcmalloc_internal::PageTracker::SetBeingCollapsed
    - TC_ASSERT
    - tcmalloc_internal::PageTracker::released
    - first_page
    linkageType: ''
    returnType: bool
    signature: bool PageTracker::Collapse(MemoryModifyFunction& collapse)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:803,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:804,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:808,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:809,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:811,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:812,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:814,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:815,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:817,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:829,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:831,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 838
    functionName: tcmalloc_internal::PageTracker::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - FindClear
    - Length
    - TC_ASSERT_GT
    - NextFreeRange
    - GetBit
    - FindSet
    - std::min
    linkageType: ''
    returnType: void
    signature: "void PageTracker::AddSpanStats(SmallSpanStats* small,\n                                      LargeSpanStats*
      large) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 840
    functionName: tcmalloc_internal::PageTracker::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - used
    linkageType: ''
    returnType: bool
    signature: bool PageTracker::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 844
    functionName: tcmalloc_internal::PageTracker::free_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::used_pages
    linkageType: ''
    returnType: Length
    signature: Length PageTracker::free_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - sparse_tracker_type
    - tag
    - ' unback'
    - ' unback_without_lock'
    - ' collapse'
    - ' set_anon_vma_name'
    argTypes:
    - HugePageFillerSparseTrackerType
    - MemoryTag
    - MemoryModifyFunction
    - MemoryModifyFunction
    - MemoryModifyFunction
    - MemoryTagFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 854
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::HugePageFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::HugePageFiller(\n    HugePageFillerSparseTrackerType
      sparse_tracker_type, MemoryTag tag,\n    MemoryModifyFunction& unback, MemoryModifyFunction&
      unback_without_lock,\n    MemoryModifyFunction& collapse, MemoryTagFunction&
      set_anon_vma_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:864,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:865,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - clock
    - sparse_tracker_type
    - tag
    - ' unback'
    - ' unback_without_lock'
    - ' collapse'
    - ' set_anon_vma_name'
    argTypes:
    - Clock
    - HugePageFillerSparseTrackerType
    - MemoryTag
    - MemoryModifyFunction
    - MemoryModifyFunction
    - MemoryModifyFunction
    - MemoryTagFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 871
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::HugePageFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - NHugePages
    - absl::Minutes
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::HugePageFiller(\n    Clock clock,
      HugePageFillerSparseTrackerType sparse_tracker_type,\n    MemoryTag tag, MemoryModifyFunction&
      unback,\n    MemoryModifyFunction& unback_without_lock, MemoryModifyFunction&
      collapse,\n    MemoryTagFunction& set_anon_vma_name)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:876,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:876,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:877,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:878,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:944,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:951,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:951,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:953,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:954,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:954,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:956,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:956,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:960,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:961,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:961,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:966,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:967,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:967,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:969,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:969,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:971,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:971,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:972,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:975,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:975,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:977,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:977,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:979,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:979,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:980,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:987,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:988,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:988,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:991,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:991,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:994,1
    - Dst: TrackerType*::GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:995,1
    - Dst: TrackerType*::RecordFeatures
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:996,1
    - Dst: TrackerType*::SetLastAllocationTime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:998,1
    - Dst: TrackerType*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:999,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1000,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1005,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1005,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1006,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1009,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1009,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1010,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1014,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1014,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1015,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 874
    functionDepth: 4
    functionLinenumber: 874
    functionLinenumberEnd: 1017
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::TryGet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Length
    - Length::raw_num
    - TrackerType*::longest_free_range
    - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    - GetLeast
    - raw_num
    - ASSUME
    - TrackerType*::SetLastAllocationTime
    - TrackerType*::released
    - TrackerType*::donated
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    - TC_ASSERT_GT
    - TrackerType*::RecordFeatures
    - now
    - TC_ASSERT_GE
    - std::optional::value
    - TrackerType*::used_pages
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    - std::optional::has_value
    - TrackerType*::Get
    - TrackerType*::was_released
    - TrackerType*::HasDenseSpans
    - TrackerType*::GetTagState
    - TrackerType*::set_was_released
    linkageType: ''
    returnType: typename HugePageFiller<TrackerType>::TryGetResult
    signature: typename HugePageFiller<TrackerType>::TryGetResult HugePageFiller<TrackerType>::TryGet(Length
      n, SpanAllocInfo span_alloc_info)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1026,1
    - Dst: TrackerType*::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1027,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1028,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1029,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1032,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1036,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1037,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1037,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1039,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1040,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1041,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1042,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1043,1
    - Dst: unback_without_lock_
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1053,1
    - Dst: HugeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1053,1
    - Dst: TrackerType*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1053,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1053,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1055,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1061,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1062,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1063,1
    - Dst: TrackerType*::DontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1070,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1071,1
    - Dst: TrackerType*::GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1072,1
    - Dst: TrackerType*::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1074,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1079,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1080,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - pt
    - r
    argTypes:
    - TrackerType*
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1025
    functionDepth: 4
    functionLinenumber: 1025
    functionLinenumberEnd: 1082
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::Put
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TrackerType*::free_pages
    - unback_without_lock_
    - TrackerType*::GetTagState
    - TrackerType*::longest_free_range
    - NHugePages
    - TrackerType*::nallocs
    - TrackerType*::released
    - TC_ASSERT_EQ
    - ABSL_PREDICT_TRUE
    - TrackerType*::DontFreeTracker
    - TrackerType*::Put
    - tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
    - TrackerType*::SetAnonVmaName
    - TC_ASSERT_GE
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    - TrackerType*::released_pages
    - TrackerType*::location
    - TrackerType*::was_released
    - TrackerType*::HasDenseSpans
    - HugeRange
    - TrackerType*::set_was_released
    linkageType: ''
    returnType: TrackerType
    signature: TrackerType * HugePageFiller<TrackerType>::Put(TrackerType* pt, Range
      r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1086
    functionName: ~HugePageTreatment()
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HugePageTreatment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1091
    functionName: tcmalloc_internal::HugePageTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1108
    functionName: tcmalloc_internal::RoundDown
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RoundDown(size_t metric, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clock::now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1114,1
    - Dst: Clock::freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - clock
    - tag
    - ' set_anon_vma_name'
    argTypes:
    - Clock
    - MemoryTag
    - MemoryTagFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1117
    functionName: tcmalloc_internal::SampledTrackerTreatment::SampledTrackerTreatment
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Clock::freq
    - Clock::now
    linkageType: ''
    returnType: void
    signature: "void SampledTrackerTreatment(Clock clock, MemoryTag tag,\n                                   MemoryTagFunction&
      set_anon_vma_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1118
    functionName: ~SampledTrackerTreatment() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SampledTrackerTreatment() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1138,1
    - Dst: GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1139,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1141,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1142,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1144,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1144,1
    - Dst: HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1145,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1145,1
    - Dst: SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1146,1
    - Dst: SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - PageTracker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1153
    functionName: tcmalloc_internal::SampledTrackerTreatment::SelectEligibleTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - released
    - nallocs
    - GetTagState
    - absl::ToDoubleSeconds
    - HasDenseSpans
    - SetTagState
    - std::max<double>
    - SetDontFreeTracker
    - longest_free_range
    linkageType: ''
    returnType: void
    signature: void SelectEligibleTrackers(PageTracker& pt) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1155
    functionName: tcmalloc_internal::SampledTrackerTreatment::num_valid_trackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_valid_trackers() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1158,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1163,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1170,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1173,1
    - Dst: RoundDown
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1173,1
    - Dst: RoundDown
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1174,1
    - Dst: PageTracker*::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1177
    functionName: tcmalloc_internal::SampledTrackerTreatment::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - RoundDown
    - TC_ASSERT_LE
    - MemoryTagToLabel
    - absl::SNPrintF
    - PageTracker*::SetAnonVmaName
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1180,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1183,1
    - Dst: PageTracker*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1186
    functionName: tcmalloc_internal::SampledTrackerTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    - PageTracker*::SetDontFreeTracker
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1211,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1211,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1211,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1216,1
    - Dst: TrackerType*::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1217,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1219,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1220,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1222,1
    - Dst: TrackerType*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1222,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::DonateToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1223,1
    - Dst: TrackerType*::SetHasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1226,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1228,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - pt
    - donated
    - span_alloc_info
    argTypes:
    - TrackerType*
    - bool
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1208
    functionDepth: 4
    functionLinenumber: 1208
    functionLinenumberEnd: 1233
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::Contribute
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TrackerType*::used_pages
    - tcmalloc_internal::HugePageFiller<TrackerType>::DonateToFillerList
    - TrackerType*::SetHasDenseSpans
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    - Length
    - TrackerType*::released_pages
    - TrackerType*::SetTagState
    - TrackerType*::was_donated
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - TC_ASSERT_EQ
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::Contribute(\n    TrackerType* pt,
      bool donated, SpanAllocInfo span_alloc_info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1241,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1241,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1241,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1242,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1242,1
    - Dst: released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1242,1
    - Dst: BeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1247,1
    - Dst: absl::Span<TrackerType*>::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1254,1
    - Dst: absl::Span<TrackerType*>::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1258,1
    - Dst: std::make_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1259,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1259,1
    - Dst: absl::Span<TrackerType*>::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1259,1
    - Dst: CompareForSubrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1266,1
    - Dst: std::pop_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1271,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1271,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1271,1
    - Dst: std::push_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1274,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1274,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1274,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - candidates
    - current_candidates
    - ' tracker_list'
    - tracker_start
    argTypes:
    - absl::Span<TrackerType*>
    - int
    - PageTrackerLists<N>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1281
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - std::make_heap
    - absl::Span<TrackerType*>::end
    - released_pages
    - absl::Span<TrackerType*>::size
    - absl::Span<TrackerType*>::begin
    - std::push_heap
    - Length
    - std::pop_heap
    - TC_ASSERT_GT
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - Iter
    - CompareForSubrelease
    - BeingCollapsed
    linkageType: ''
    returnType: int
    signature: "int HugePageFiller<TrackerType>::SelectCandidates(\n    absl::Span<TrackerType*>
      candidates, int current_candidates,\n    const PageTrackerLists<N>& tracker_list,
      size_t tracker_start)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_sort
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1289,1
    - Dst: absl::Span<TrackerType*>::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1293,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1295,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1298,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1298,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1302,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1302,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1302,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1306,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1306,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1307,1
    - Dst: TrackerType*::unbroken
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1310,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1313,1
    - Dst: TrackerType*::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1314,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1316,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1316,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1318,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1322,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1322,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1323,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1324,1
    - Dst: limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - candidates
    - target
    argTypes:
    - absl::Span<TrackerType*>
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1284
    functionDepth: 4
    functionLinenumber: 1284
    functionLinenumberEnd: 1342
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - TrackerType*::free_pages
    - Length
    - TrackerType*::ReleaseFree
    - NHugePages
    - TrackerType*::released
    - TC_ASSERT_NE
    - TC_ASSERT_GT
    - absl::c_sort
    - tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
    - TC_ASSERT_GE
    - TrackerType*::used_pages
    - absl::Span<TrackerType*>::size
    - limit_hit
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    - TrackerType*::unbroken
    - TrackerType*::released_pages
    - TC_ASSERT_LE
    - TrackerType*::was_released
    - TrackerType*::HasDenseSpans
    - TrackerType*::set_was_released
    linkageType: ''
    returnType: Length
    signature: "Length HugePageFiller<TrackerType>::ReleaseCandidates(\n    absl::Span<TrackerType*>
      candidates, Length target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1346,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1349,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1352,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1355,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1358,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1359
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::FreePagesInPartialAllocs
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - used_pages_in_any_subreleased
    - unmapped_pages
    - size
    linkageType: ''
    returnType: Length
    signature: Length HugePageFiller<TrackerType>::FreePagesInPartialAllocs() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1370,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1371,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1374,1
    - Dst: SkipSubreleaseIntervals::IsPeakIntervalSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1378,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1380,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1382,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1386,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1386,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1388,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1405,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1405,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1413,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1413,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1414,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - desired
    - total_released
    - intervals
    argTypes:
    - Length
    - Length
    - SkipSubreleaseIntervals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1362
    functionDepth: 2
    functionLinenumber: 1362
    functionLinenumberEnd: 1420
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::GetDesiredSubreleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    - used_pages
    - Length
    - GetRecentDemand
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - SkipSubreleaseIntervals::IsPeakIntervalSet
    - std::min
    - ReportSkippedSubreleasePages
    - TC_ASSERT_LT
    - GetRecentPeak
    linkageType: ''
    returnType: Length
    signature: "Length HugePageFiller<TrackerType>::GetDesiredSubreleasePages(\n    Length
      desired, Length total_released, SkipSubreleaseIntervals intervals)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1437,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::FreePagesInPartialAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1444,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1445,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1445,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1450,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1454,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1467,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::GetDesiredSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1468,1
    - Dst: set_limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1474,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1489,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1490,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1493,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1494,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1499,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1499,1
    - Dst: CandidateArray::data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1499,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1502,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1518,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1519,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1521,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1522,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1530,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1530,1
    - Dst: CandidateArray::data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1532,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 4
    argNames:
    - desired
    - intervals
    - release_partial_alloc_pages
    - hit_limit
    argTypes:
    - Length
    - SkipSubreleaseIntervals
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1426
    functionDepth: 2
    functionLinenumber: 1426
    functionLinenumberEnd: 1539
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::GetDesiredSubreleasePages
    - Length
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
    - absl::MakeSpan
    - set_limit_hit
    - tcmalloc_internal::HugePageFiller<TrackerType>::FreePagesInPartialAllocs
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - CandidateArray::data
    - std::max
    - tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
    linkageType: ''
    returnType: Length
    signature: "Length HugePageFiller<TrackerType>::ReleasePages(\n    Length desired,
      SkipSubreleaseIntervals intervals,\n    bool release_partial_alloc_pages, bool
      hit_limit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1544,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1547,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1550,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1551,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1542
    functionDepth: 1
    functionLinenumber: 1542
    functionLinenumberEnd: 1554
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - Iter
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::AddSpanStats(\n    SmallSpanStats*
      small, LargeSpanStats* large) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1559,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1560,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1563
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - in_bytes
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - unmapped_pages
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats HugePageFiller<TrackerType>::stats() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1587,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1594,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1595,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1599,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1599,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1600,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1606,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1610,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1612,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1622,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1585
    functionDepth: 1
    functionLinenumber: 1585
    functionLinenumberEnd: 1623
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::UsageInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - TC_CHECK_LE
    - TC_ASSERT_GE
    - Length
    linkageType: ''
    returnType: void
    signature: void UsageInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1627,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tracker'
    - ' pageflags'
    argTypes:
    - TrackerType
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1626
    functionDepth: 1
    functionLinenumber: 1626
    functionLinenumberEnd: 1632
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
    - location
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const TrackerType& tracker, PageFlagsBase& pageflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1638
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::HugepageBackedPreviouslyReleased
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t HugepageBackedPreviouslyReleased()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1643,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1644,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1645,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1646,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1649,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1649,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1650,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1650,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1651,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1653,1
    - Dst: alloctime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1653,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1655,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1656,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1659,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1663,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1666,1
    - Dst: was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1668,1
    - Dst: features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1674,1
    - Dst: GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1675,1
    - Dst: last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1683,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 6
    argNames:
    - ' pt'
    - ' pageflags'
    - which
    - clock_now
    - clock_frequency
    - ' num_selected'
    argTypes:
    - TrackerType
    - PageFlagsBase
    - Type
    - double
    - double
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1641
    functionDepth: 2
    functionLinenumber: 1641
    functionLinenumberEnd: 1688
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Record
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - was_released
    - used_pages
    - nallocs
    - longest_free_range
    - alloctime
    - features
    - GetTagState
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
    - Length::raw_num
    - std::max<double>
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
    - absl::Milliseconds
    - TC_ASSERT_LT
    - last_page_allocation_time
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
    linkageType: ''
    returnType: void
    signature: "void Record(const TrackerType& pt, PageFlagsBase& pageflags, Type
      which,\n              double clock_now, double clock_frequency, size_t& num_selected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1692,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1693,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1700,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1702,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1707,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1709,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1714,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1715,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1719,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1722,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1724,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1725,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1729,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1730,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1732,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1733,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1738,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1739,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1741,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1743,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1745,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1746,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1690
    functionDepth: 2
    functionLinenumber: 1690
    functionLinenumberEnd: 1748
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    - raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - absl::ToInt64Milliseconds
    - printf
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    - static_cast<Type>
    linkageType: ''
    returnType: void
    signature: void Print(Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1752,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1753,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1754,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1754,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1755,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1755,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1756,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1757,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1759,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1760,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1761,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1763,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1765,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1766,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1750
    functionDepth: 2
    functionLinenumber: 1750
    functionLinenumberEnd: 1769
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
    - CreateSubRegion
    - PbtxtRegion::PrintRaw
    - static_cast<Type>
    linkageType: ''
    returnType: void
    signature: void Print(PbtxtRegion& hpaa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1792,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1795
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 3
    functionsReached:
    - std::upper_bound
    - TC_CHECK_NE
    linkageType: ''
    returnType: int
    signature: int BucketNum(size_t page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1798,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1799,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1797
    functionDepth: 1
    functionLinenumber: 1797
    functionLinenumberEnd: 1804
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 3
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    - absl::ToInt64Milliseconds
    linkageType: ''
    returnType: int
    signature: int LifetimeBucketNum(absl::Duration duration)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1808,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1808,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1811,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1813,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ' out'
    - h
    - type
    - blurb
    - offset
    argTypes:
    - Printer
    - Histo
    - Type
    - absl::string_view
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1806
    functionDepth: 2
    functionLinenumber: 1806
    functionLinenumberEnd: 1816
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - printf
    linkageType: ''
    returnType: void
    signature: "void PrintHisto(Printer& out, Histo h, Type type, absl::string_view
      blurb,\n                  size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1820,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1820,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1823,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1825,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' out'
    - h
    - type
    - blurb
    argTypes:
    - Printer
    - Histo
    - Type
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1818
    functionDepth: 2
    functionLinenumber: 1818
    functionLinenumberEnd: 1828
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - printf
    linkageType: ''
    returnType: void
    signature: "void PrintLifetimeHisto(Printer& out, Histo h, Type type,\n                          absl::string_view
      blurb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1831,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1832,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1835,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1840,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' out'
    - type
    argTypes:
    - Printer
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1830
    functionDepth: 2
    functionLinenumber: 1830
    functionLinenumberEnd: 1849
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - longest_free_range::raw_num
    - printf
    linkageType: ''
    returnType: void
    signature: void PrintSampledTrackers(Printer& out, Type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1855,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1856,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1857,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ' hpaa'
    - h
    - key
    - offset
    argTypes:
    - PbtxtRegion
    - Histo
    - absl::string_view
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1863
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 6
    functionsReached:
    - auto::PrintI64
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void PrintHisto(PbtxtRegion& hpaa, Histo h, absl::string_view key,\n
      \                 size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1868,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1869,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1870,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' hpaa'
    - h
    - key
    argTypes:
    - PbtxtRegion
    - Histo
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1875
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 6
    functionsReached:
    - auto::PrintI64
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: void PrintLifetimeHisto(PbtxtRegion& hpaa, Histo h, absl::string_view
      key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1881,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1882,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1884,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1886,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1887,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1888,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1891,1
    - Dst: auto::PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' hpaa'
    - type
    - key
    argTypes:
    - PbtxtRegion
    - Type
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1877
    functionDepth: 0
    functionLinenumber: 1877
    functionLinenumberEnd: 1899
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 6
    functionsReached:
    - auto::PrintDouble
    - auto::PrintI64
    - auto::PrintBool
    - longest_free_range::raw_num
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void PrintSampledTrackers(PbtxtRegion& hpaa, Type type,\n                            absl::string_view
      key)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1902,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1901
    functionDepth: 1
    functionLinenumber: 1901
    functionLinenumberEnd: 1921
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 12
    functionsReached:
    - TC_BUG
    - TC_ASSERT_LT
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view TypeToStr(Type type) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1924,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1923
    functionDepth: 1
    functionLinenumber: 1923
    functionLinenumberEnd: 1940
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 3
    functionsReached:
    - TC_BUG
    - TC_ASSERT_LT
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view AllocType(Type type) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1943,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1942
    functionDepth: 1
    functionLinenumber: 1942
    functionLinenumberEnd: 1957
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 3
    functionsReached:
    - TC_BUG
    - TC_ASSERT_LT
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ObjectType(Type type) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1587,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1594,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1595,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1599,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1599,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1600,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1606,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1610,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1612,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1622,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1585
    functionDepth: 1
    functionLinenumber: 1585
    functionLinenumberEnd: 1623
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::UsageInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - TC_CHECK_LE
    - TC_ASSERT_GE
    - Length
    linkageType: ''
    returnType: void
    signature: void UsageInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1627,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tracker'
    - ' pageflags'
    argTypes:
    - TrackerType
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1626
    functionDepth: 1
    functionLinenumber: 1626
    functionLinenumberEnd: 1632
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 7
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
    - location
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const TrackerType& tracker, PageFlagsBase& pageflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1638
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::HugepageBackedPreviouslyReleased
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t HugepageBackedPreviouslyReleased()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1643,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1644,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1645,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1646,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1649,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1649,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1650,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1650,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1651,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1653,1
    - Dst: alloctime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1653,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1655,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1656,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1659,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1663,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1666,1
    - Dst: was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1668,1
    - Dst: features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1674,1
    - Dst: GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1675,1
    - Dst: last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1683,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 6
    argNames:
    - ' pt'
    - ' pageflags'
    - which
    - clock_now
    - clock_frequency
    - ' num_selected'
    argTypes:
    - TrackerType
    - PageFlagsBase
    - Type
    - double
    - double
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1641
    functionDepth: 2
    functionLinenumber: 1641
    functionLinenumberEnd: 1688
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Record
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - was_released
    - used_pages
    - nallocs
    - longest_free_range
    - alloctime
    - features
    - GetTagState
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
    - Length::raw_num
    - std::max<double>
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
    - absl::Milliseconds
    - TC_ASSERT_LT
    - last_page_allocation_time
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
    linkageType: ''
    returnType: void
    signature: "void Record(const TrackerType& pt, PageFlagsBase& pageflags, Type
      which,\n              double clock_now, double clock_frequency, size_t& num_selected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1692,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1693,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1700,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1702,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1707,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1709,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1714,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1715,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1719,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1722,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1724,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1725,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1729,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1730,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1732,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1733,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1738,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1739,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1741,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1743,1
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1745,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1746,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1690
    functionDepth: 2
    functionLinenumber: 1690
    functionLinenumberEnd: 1748
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    - raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - absl::ToInt64Milliseconds
    - printf
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    - static_cast<Type>
    linkageType: ''
    returnType: void
    signature: void Print(Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1752,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1753,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1754,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1754,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1755,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1755,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1756,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1757,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1759,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1760,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1761,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1763,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1765,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1766,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1750
    functionDepth: 2
    functionLinenumber: 1750
    functionLinenumberEnd: 1769
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
    - CreateSubRegion
    - PbtxtRegion::PrintRaw
    - static_cast<Type>
    linkageType: ''
    returnType: void
    signature: void Print(PbtxtRegion& hpaa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1792,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1795
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - std::upper_bound
    - TC_CHECK_NE
    linkageType: ''
    returnType: int
    signature: int BucketNum(size_t page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1798,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1799,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1797
    functionDepth: 1
    functionLinenumber: 1797
    functionLinenumberEnd: 1804
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    - absl::ToInt64Milliseconds
    linkageType: ''
    returnType: int
    signature: int LifetimeBucketNum(absl::Duration duration)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1808,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1808,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1811,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1813,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ' out'
    - h
    - type
    - blurb
    - offset
    argTypes:
    - Printer
    - Histo
    - Type
    - absl::string_view
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1806
    functionDepth: 2
    functionLinenumber: 1806
    functionLinenumberEnd: 1816
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - printf
    linkageType: ''
    returnType: void
    signature: "void PrintHisto(Printer& out, Histo h, Type type, absl::string_view
      blurb,\n                  size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1820,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1820,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1823,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1825,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' out'
    - h
    - type
    - blurb
    argTypes:
    - Printer
    - Histo
    - Type
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1818
    functionDepth: 2
    functionLinenumber: 1818
    functionLinenumberEnd: 1828
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - printf
    linkageType: ''
    returnType: void
    signature: "void PrintLifetimeHisto(Printer& out, Histo h, Type type,\n                          absl::string_view
      blurb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1831,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1832,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1835,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1840,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' out'
    - type
    argTypes:
    - Printer
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1830
    functionDepth: 2
    functionLinenumber: 1830
    functionLinenumberEnd: 1849
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - longest_free_range::raw_num
    - printf
    linkageType: ''
    returnType: void
    signature: void PrintSampledTrackers(Printer& out, Type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1855,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1856,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1857,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ' hpaa'
    - h
    - key
    - offset
    argTypes:
    - PbtxtRegion
    - Histo
    - absl::string_view
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1863
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 8
    functionsReached:
    - auto::PrintI64
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void PrintHisto(PbtxtRegion& hpaa, Histo h, absl::string_view key,\n
      \                 size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1868,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1869,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1870,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' hpaa'
    - h
    - key
    argTypes:
    - PbtxtRegion
    - Histo
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1875
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 8
    functionsReached:
    - auto::PrintI64
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: void PrintLifetimeHisto(PbtxtRegion& hpaa, Histo h, absl::string_view
      key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1881,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1882,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1884,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1886,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1887,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1888,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1891,1
    - Dst: auto::PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' hpaa'
    - type
    - key
    argTypes:
    - PbtxtRegion
    - Type
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1877
    functionDepth: 0
    functionLinenumber: 1877
    functionLinenumberEnd: 1899
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 8
    functionsReached:
    - auto::PrintDouble
    - auto::PrintI64
    - auto::PrintBool
    - longest_free_range::raw_num
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void PrintSampledTrackers(PbtxtRegion& hpaa, Type type,\n                            absl::string_view
      key)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1902,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1901
    functionDepth: 1
    functionLinenumber: 1901
    functionLinenumberEnd: 1921
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 16
    functionsReached:
    - TC_BUG
    - TC_ASSERT_LT
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view TypeToStr(Type type) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1924,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1923
    functionDepth: 1
    functionLinenumber: 1923
    functionLinenumberEnd: 1940
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - TC_BUG
    - TC_ASSERT_LT
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view AllocType(Type type) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1943,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1942
    functionDepth: 1
    functionLinenumber: 1942
    functionLinenumberEnd: 1957
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - TC_BUG
    - TC_ASSERT_LT
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ObjectType(Type type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1982,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1982,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1984,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1984,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1985,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1986,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1988,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1989,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1990,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1991,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1991,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1992,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1993,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2000,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2003,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2005,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2009,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2025,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 1977
    functionDepth: 3
    functionLinenumber: 1977
    functionLinenumberEnd: 2030
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - raw_num
    - std::optional::has_value
    - Length
    - size
    - length
    - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    - NHugePages
    - TC_ASSERT
    linkageType: ''
    returnType: HugePageFillerStats
    signature: HugePageFillerStats HugePageFiller<TrackerType>::GetStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clock::now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2040,1
    - Dst: Clock::freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - clock
    - pageflags
    - residency
    - ' collapse'
    argTypes:
    - Clock
    - PageFlagsBase*
    - Residency*
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2044
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::HugePageUnbackedTrackerTreatment
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Clock::freq
    - Clock::now
    linkageType: ''
    returnType: void
    signature: "void HugePageUnbackedTrackerTreatment(Clock clock,\n                                            PageFlagsBase*
      pageflags,\n                                            Residency* residency,\n
      \                                           MemoryModifyFunction& collapse)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2045
    functionDepth: 0
    functionLinenumber: 2045
    functionLinenumberEnd: 2045
    functionName: ~HugePageUnbackedTrackerTreatment() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HugePageUnbackedTrackerTreatment() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2066,1
    - Dst: SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2072,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2075,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2076,1
    - Dst: SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2079,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - PageTracker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2081
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - GetHugePageResidencyState
    - std::max<double>
    - SetDontFreeTracker
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void SelectEligibleTrackers(PageTracker& pt) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2083
    functionDepth: 0
    functionLinenumber: 2083
    functionLinenumberEnd: 2083
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::num_valid_trackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_valid_trackers() const override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2099,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2108,1
    - Dst: PageFlagsBase*::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2109,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2109,1
    - Dst: eligible::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2115,1
    - Dst: Residency*::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2120,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2120,1
    - Dst: Residency::SinglePageBitmaps::swapped::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2121,1
    - Dst: Residency::SinglePageBitmaps::unbacked::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2122,1
    - Dst: tcmalloc_internal::HugePageUnbackedTrackerTreatment::TryUserspaceCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2132
      start: 2085
    functionDepth: 2
    functionLinenumber: 2085
    functionLinenumberEnd: 2132
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - Residency*::GetUnbackedAndSwappedBitmaps
    - tcmalloc_internal::HugePageUnbackedTrackerTreatment::TryUserspaceCollapse
    - PageFlagsBase*::IsHugepageBacked
    - Residency::SinglePageBitmaps::swapped::CountBits
    - TC_ASSERT_LE
    - PageTracker*::location
    - eligible::fetch_add
    - Residency::SinglePageBitmaps::unbacked::CountBits
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2135,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2138,1
    - Dst: PageTracker*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2139,1
    - Dst: PageTracker*::SetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2142
      start: 2134
    functionDepth: 1
    functionLinenumber: 2134
    functionLinenumberEnd: 2142
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - PageTracker*::SetHugePageResidencyState
    - TC_ASSERT_LE
    - PageTracker*::SetDontFreeTracker
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eligible::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2145,1
    - Dst: eligible::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2146,1
    - Dst: attempted::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2148,1
    - Dst: attempted::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2149,1
    - Dst: succeeded::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2151,1
    - Dst: succeeded::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - HugePageTreatmentStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2154
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::GetCollapseStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - succeeded::fetch_add
    - attempted::load
    - succeeded::load
    - eligible::load
    - eligible::fetch_add
    - attempted::fetch_add
    linkageType: ''
    returnType: void
    signature: void GetCollapseStats(HugePageTreatmentStats& stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PageTracker*::Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2158,1
    - Dst: attempted::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2159,1
    - Dst: succeeded::fetch_add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tracker
    argTypes:
    - PageTracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2157
    functionDepth: 1
    functionLinenumber: 2157
    functionLinenumberEnd: 2164
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::TryUserspaceCollapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - succeeded::fetch_add
    - PageTracker*::Collapse
    - attempted::fetch_add
    linkageType: ''
    returnType: bool
    signature: bool TryUserspaceCollapse(PageTracker* tracker)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2199,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2201,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2203,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2208,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2210,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2212,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2217,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2219,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2223,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2225,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2228,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2230,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2234,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2236,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2240,1
    - Dst: SampledTrackerTreatment::Treat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2241,1
    - Dst: HugePageUnbackedTrackerTreatment::Treat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2243,1
    - Dst: HugePageUnbackedTrackerTreatment::GetCollapseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2244,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2248,1
    - Dst: SampledTrackerTreatment::Restore
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2249,1
    - Dst: HugePageUnbackedTrackerTreatment::Restore
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2251,1
    - Dst: SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - enable_collapse
    - pageflags
    - residency
    argTypes:
    - bool
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2190
    functionDepth: 0
    functionLinenumber: 2190
    functionLinenumberEnd: 2260
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - SampledTrackerTreatment::Treat
    - HugePageUnbackedTrackerTreatment::Treat
    - Lock
    - Unlock
    - HugePageUnbackedTrackerTreatment::GetCollapseStats
    - HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
    - SampledTrackerTreatment::Restore
    - SetAnonVmaName
    - Iter
    - SampledTrackerTreatment::SelectEligibleTrackers
    - HugePageUnbackedTrackerTreatment::Restore
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::TreatHugepageTrackers(\n    bool
      enable_collapse, PageFlagsBase* pageflags, Residency* residency)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2265,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2266,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2270,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2270,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2273,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2274,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2274,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2275,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2275,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2277,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2280,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2281,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2282,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2283,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2284,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2287,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2290,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2291,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2292,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2293,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2294,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2296,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2299,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2300,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2301,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2302,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2303,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2305,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2306,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2306,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2307,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2307,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2307,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2312,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2312,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2312,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2313,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2314,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2314,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2314,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2316,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2319,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2320,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2322,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2324,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2325,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2325,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2326,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2328,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2329,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2332,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2335,1
    - Dst: total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2336,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2337,1
    - Dst: total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2338,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2345,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2346,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2349,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2351,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2356,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2358,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2363,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2365,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2370,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2372,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2377,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2379,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2384,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2386,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2391,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2393,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2398,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2402,1
    - Dst: UsageInfo::HugepageBackedPreviouslyReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2403,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2405,1
    - Dst: eligible::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2408,1
    - Dst: attempted::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2409,1
    - Dst: succeeded::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2410,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2412,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2413,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2414,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2416,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 3
    argNames:
    - ' out'
    - everything
    - ' pageflags'
    argTypes:
    - Printer
    - bool
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2418
      start: 2263
    functionDepth: 2
    functionLinenumber: 2263
    functionLinenumberEnd: 2418
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - empty
    - unmapped_pages
    - Length
    - attempted::load
    - succeeded::load
    - printf
    - raw_num
    - HugeLength::in_pages
    - in_pages
    - total_hugepages_broken::raw_num
    - UsageInfo::Record
    - size
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - total_pages_subreleased::raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
    - previously_released_huge_pages
    - TC_ASSERT
    - freq
    - UsageInfo::HugepageBackedPreviouslyReleased
    - eligible::load
    - tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
    - now
    - used_pages_in_any_subreleased
    - used_pages_in_partial_released
    - tcmalloc_internal::HugePageFiller<TrackerType>::Print
    - total_pages_subreleased_due_to_limit::raw_num
    - safe_div
    - Iter
    - TC_ASSERT_LE
    - UsageInfo::Print
    - static_cast<double>
    - total_hugepages_broken_due_to_limit::raw_num
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::Print(Printer& out, bool everything,\n
      \                                              PageFlagsBase& pageflags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2424,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2425,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2426,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2426,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2427,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2427,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2428,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2429,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2430,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - field
    - ' hpaa'
    - ' stats'
    - count
    argTypes:
    - absl::string_view
    - PbtxtRegion
    - HugePageFillerStats
    - AccessDensityPrediction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2421
    functionDepth: 1
    functionLinenumber: 2421
    functionLinenumberEnd: 2432
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - raw_num
    - TC_ASSERT_LT
    - CreateSubRegion
    - PbtxtRegion::PrintI64
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt(\n    absl::string_view
      field, PbtxtRegion& hpaa,\n    const HugePageFillerStats& stats, AccessDensityPrediction
      count) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2437,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2441,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2441,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2444,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2445,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2445,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2446,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2446,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2449,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2451,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2452,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2454,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2455,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2457,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2458,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2460,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2463,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2465,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2468,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2468,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2469,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2470,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2471,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2472,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2473,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2475,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2476,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2478,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2478,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2479,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2481,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2483,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2484,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2485,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2486,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2487,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2488,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2489,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2490,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2491,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2492,1
    - Dst: total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2493,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2494,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2496,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2497,1
    - Dst: total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2499,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2503,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2504,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2507,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2509,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2515,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2517,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2523,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2525,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2531,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2533,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2539,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2541,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2547,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2549,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2555,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2557,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2562,1
    - Dst: UsageInfo::HugepageBackedPreviouslyReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2563,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2565,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2566,1
    - Dst: eligible::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2567,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2568,1
    - Dst: attempted::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2569,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2570,1
    - Dst: succeeded::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2571,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2573,1
    - Dst: PrintSubreleaseStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2574,1
    - Dst: PrintTimeseriesStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 2
    argNames:
    - ' hpaa'
    - ' pageflags'
    argTypes:
    - PbtxtRegion
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2435
    functionDepth: 2
    functionLinenumber: 2435
    functionLinenumberEnd: 2578
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - empty
    - unmapped_pages
    - Length
    - attempted::load
    - PrintTimeseriesStatsInPbtxt
    - static_cast<uint64_t>
    - succeeded::load
    - in_bytes
    - raw_num
    - in_pages
    - total_hugepages_broken::raw_num
    - UsageInfo::Record
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - total_pages_subreleased::raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
    - previously_released_huge_pages
    - TC_ASSERT
    - CreateSubRegion
    - freq
    - UsageInfo::HugepageBackedPreviouslyReleased
    - PrintI64
    - eligible::load
    - tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
    - now
    - used_pages_in_any_subreleased
    - used_pages_in_partial_released
    - total_pages_subreleased_due_to_limit::raw_num
    - safe_div
    - Iter
    - PrintSubreleaseStatsInPbtxt
    - UsageInfo::Print
    - static_cast<double>
    - total_hugepages_broken_due_to_limit::raw_num
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::PrintInPbtxt(\n    PbtxtRegion&
      hpaa, PageFlagsBase& pageflags) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2583,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2584,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2585,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2591,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2594,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2596,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2598,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2604,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2581
    functionDepth: 1
    functionLinenumber: 2581
    functionLinenumberEnd: 2606
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 8
    functionsReached:
    - unmapped_pages
    - pages_allocated
    - size
    - reset
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - Report
    linkageType: ''
    returnType: void
    signature: void HugePageFiller<TrackerType>::UpdateFillerStatsTracker()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2610,1
    - Dst: TrackerType*::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2610,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2613,1
    - Dst: __builtin_clzl
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2616,1
    - Dst: __builtin_clzl
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2622,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2623,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pt
    argTypes:
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2609
    functionDepth: 1
    functionLinenumber: 2609
    functionLinenumberEnd: 2626
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT_LT
    - TrackerType*::nallocs
    - std::max
    - TrackerType*::empty
    - TC_ASSERT
    - __builtin_clzl
    linkageType: ''
    returnType: size_t
    signature: size_t HugePageFiller<TrackerType>::IndexFor(TrackerType* pt) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2631,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2632,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2635,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2643,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2644,1
    - Dst: std::max<uint32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2650,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2652,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2670,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2670,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2672,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2673,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - longest
    - chunk
    - op
    argTypes:
    - Length
    - size_t
    - LFRRequirement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2629
    functionDepth: 1
    functionLinenumber: 2629
    functionLinenumberEnd: 2682
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::SparseListFor
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - raw_num
    - TC_ASSERT_LT
    - absl::countr_zero
    - Length::raw_num
    - std::max<uint32_t>
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: std::optional<size_t>
    signature: "std::optional<size_t> HugePageFiller<TrackerType>::SparseListFor(\n
      \   const Length longest, const size_t chunk, const LFRRequirement op) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2688,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2688,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - longest
    - chunk
    - nallocs
    argTypes:
    - Length
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2685
    functionDepth: 1
    functionLinenumber: 2685
    functionLinenumberEnd: 2693
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::DenseListFor
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - raw_num
    - TC_ASSERT_LE
    linkageType: ''
    returnType: size_t
    signature: "size_t HugePageFiller<TrackerType>::DenseListFor(const Length longest,\n
      \                                                       const size_t chunk,\n
      \                                                       size_t nallocs) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2700,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SparseListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2703,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::DenseListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2705,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - longest
    - chunk
    - density
    - nallocs
    - op
    argTypes:
    - Length
    - size_t
    - AccessDensityPrediction
    - size_t
    - LFRRequirement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2709
      start: 2696
    functionDepth: 2
    functionLinenumber: 2696
    functionLinenumberEnd: 2709
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::HugePageFiller<TrackerType>::SparseListFor
    - tcmalloc_internal::HugePageFiller<TrackerType>::DenseListFor
    - TC_ASSERT_LT
    - TC_BUG
    linkageType: ''
    returnType: std::optional<size_t>
    signature: "std::optional<size_t> HugePageFiller<TrackerType>::ListFor(\n    const
      Length longest, const size_t chunk,\n    const AccessDensityPrediction density,
      size_t nallocs,\n    const LFRRequirement op) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2713,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2714,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2715,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2716,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2716,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2720,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2723,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2723,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2723,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2725,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2725,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2727,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2728,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2729,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2729,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2730,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2731,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2731,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2732,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2734,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2735,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2735,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pt
    argTypes:
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2712
    functionDepth: 3
    functionLinenumber: 2712
    functionLinenumberEnd: 2738
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - TrackerType*::used_pages
    - TrackerType*::free_pages
    - TrackerType*::HasDenseSpans
    - TrackerType*::donated
    - std::optional::has_value
    - tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
    - TrackerType*::released_pages
    - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    - Length::raw_num
    - TrackerType*::nallocs
    - TrackerType*::released
    - Remove
    - TrackerType*::longest_free_range
    - TC_ASSERT
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void HugePageFiller<TrackerType>::RemoveFromFillerList(TrackerType*
      pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2743,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2747,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2741
    functionDepth: 0
    functionLinenumber: 2741
    functionLinenumberEnd: 2750
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::FetchFullyFreedTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - first
    - remove
    - empty
    linkageType: ''
    returnType: TrackerType
    signature: 'TrackerType * /*absl_nullable*/

      HugePageFiller<TrackerType>::FetchFullyFreedTracker()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2754,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2755,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2758,1
    - Dst: TrackerType*::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2758,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2759,1
    - Dst: TrackerType*::DontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2759,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2760,1
    - Dst: TrackerType*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2768,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2770,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2773,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2773,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2773,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2775,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2775,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2777,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2778,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2779,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2779,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2780,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2781,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2783,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pt
    argTypes:
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2786
      start: 2753
    functionDepth: 3
    functionLinenumber: 2753
    functionLinenumberEnd: 2786
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 8
    functionsReached:
    - TrackerType*::used_pages
    - TrackerType*::free_pages
    - TrackerType*::HasDenseSpans
    - TrackerType*::DontFreeTracker
    - std::optional::has_value
    - TrackerType*::empty
    - tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
    - TrackerType*::released_pages
    - TrackerType*::set_donated
    - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    - prepend
    - TrackerType*::nallocs
    - TrackerType*::released
    - Add
    - TC_ASSERT_LE
    - TrackerType*::longest_free_range
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: void HugePageFiller<TrackerType>::AddToFillerList(TrackerType* pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2790,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2791,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2794,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2794,1
    - Dst: TrackerType*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2795,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2799,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pt
    argTypes:
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2789
    functionDepth: 1
    functionLinenumber: 2789
    functionLinenumberEnd: 2800
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::DonateToFillerList
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - TrackerType*::set_donated
    - Length::raw_num
    - TrackerType*::released
    - Add
    - TrackerType*::longest_free_range
    - TC_ASSERT
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void HugePageFiller<TrackerType>::DonateToFillerList(TrackerType* pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2807,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2808,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2809,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2812,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2812,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2814,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2814,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2814,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2815,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2816,1
    - Dst: std::clamp<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2803
    functionDepth: 1
    functionLinenumber: 2803
    functionLinenumberEnd: 2818
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - used_pages_in_any_subreleased
    - used_pages
    - Length
    - Length::raw_num
    - std::clamp<double>
    - TC_ASSERT_LE
    - static_cast<double>
    - TC_ASSERT_GE
    linkageType: ''
    returnType: double
    signature: double HugePageFiller<TrackerType>::hugepage_frac() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2823,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2824,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2825,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2826,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2828,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2830,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2822
    functionDepth: 0
    functionLinenumber: 2822
    functionLinenumberEnd: 2832
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::ForEachHugePage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Iter
    linkageType: ''
    returnType: void
    signature: void HugePageFiller<TrackerType>::ForEachHugePage(const F& func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2837,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2837,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 12
    functionsReached:
    - used_pages
    - unmapped_pages
    - size
    linkageType: ''
    returnType: Length
    signature: Length HugePageFiller<TrackerType>::free_pages() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<StackTraceTable>
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:32,1
    - Dst: SetStartTime
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:33,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:34,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:43,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:52,1
    - Dst: SetDuration
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:53,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:53,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:55,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 58
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sample.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<StackTraceTable>
    - SetStartTime
    - absl::Now
    - Add
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - SetDuration
    - Remove
    - std::move
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<StackTraceTable>
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:32,1
    - Dst: SetStartTime
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:33,1
    - Dst: AllocationSampleList*::Add
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - list
    - start
    argTypes:
    - AllocationSampleList*
    - absl::Time
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: AllocationSample::AllocationSample
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sample.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<StackTraceTable>
    - SetStartTime
    - AllocationSampleList*::Add
    linkageType: ''
    returnType: void
    signature: void AllocationSample::AllocationSample(AllocationSampleList* list,
      absl::Time start)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: AllocationSample::~AllocationSample()
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sample.cc
    functionUses: 0
    functionsReached:
    - Remove
    linkageType: ''
    returnType: void
    signature: void AllocationSample::~AllocationSample()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:52,1
    - Dst: SetDuration
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:53,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:53,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:55,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sample.cc:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: AllocationSample::Stop
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sample.cc
    functionUses: 0
    functionsReached:
    - absl::Now
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - SetDuration
    - Remove
    - std::move
    linkageType: ''
    returnType: Profile
    signature: Profile AllocationSample::Stop() &&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 456
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/reuse_size_classes_v2.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_callback_
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:53,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarderWithUnback::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - release_callback_
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:64,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:65,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:116,1
    - Dst: std::max<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:120,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:123,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:135,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:138,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:150,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:156,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:169,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:170,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:171,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:172,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:175,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:182,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:188,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:188,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:194,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:208,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:210,1
    - Dst: HugePageAwareAllocator::NewAligned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:212,1
    - Dst: HugePageAwareAllocator::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:214,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:216,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:217,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:217,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:217,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:219,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:221,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:229,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:231,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:232,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:232,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:234,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:235,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:235,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:236,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:241,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:244,1
    - Dst: SpanInfo::span::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:244,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:245,1
    - Dst: SpanInfo::span::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:246,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:248,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:250,1
    - Dst: HugePageAwareAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:281,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:282,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:299,1
    - Dst: HugePageAwareAllocator::FillerStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:321,1
    - Dst: HugePageAwareAllocator::RegionsFreeBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:322,1
    - Dst: HugePageAwareAllocator::CacheStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:323,1
    - Dst: HugePageAwareAllocator::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:324,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:326,1
    - Dst: release_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:329,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:331,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:331,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:332,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:332,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:337,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:337,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:347,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:355,1
    - Dst: HugePageAwareAllocator::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:359,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:361,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:361,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:361,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:370,1
    - Dst: HugePageAwareAllocator::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:372,1
    - Dst: HugePageAwareAllocator::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:382,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:386,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:386,1
    - Dst: pending_release_::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:387,1
    - Dst: set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:399,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:400,1
    - Dst: set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:401,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:402,1
    - Dst: set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:405,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:406,1
    - Dst: set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:409,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:410,1
    - Dst: set_release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:413,1
    - Dst: set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:416,1
    - Dst: set_release_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:419,1
    - Dst: set_huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:422,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:428,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:429,1
    - Dst: set_huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:438,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:439,1
    - Dst: set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:442,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:443,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:444,1
    - Dst: set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:445,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:446,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:447,1
    - Dst: set_collapse_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:452,1
    - Dst: HugePageAwareAllocator::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:456,1
    - Dst: IsHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:467,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:479,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:488,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:489,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:492,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:496,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:500,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:506,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:509,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:512,1
    - Dst: SpanInfo::span::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:512,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:512,1
    - Dst: SpanInfo::span::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:513,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:515,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:517,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:522,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:525,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:525,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:526,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 204
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 527
    functionName: tcmalloc::tcmalloc_internal::FuzzHPAA
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - HugePageAwareAllocator::stats
    - HugePageAwareAllocator::Delete
    - std::vector::back
    - Length
    - Printer::SpaceRequired
    - set_hpaa_subrelease
    - pending_release_::in_bytes
    - Length::raw_num
    - set_filler_skip_subrelease_long_interval
    - HugePageAwareAllocator::NewAligned
    - SpanInfo::span::first_page
    - HugePageAwareAllocator::ReleaseAtLeastNPagesBreakingHugepages
    - set_collapse_succeeds
    - TC_CHECK_GE
    - std::min
    - HugePageAwareAllocator::ReleaseAtLeastNPages
    - CHECK_LE
    - std::swap
    - HugePageAwareAllocator::GetReleaseStats
    - IsHeld
    - HugePageAwareAllocator::forwarder
    - raw_num
    - set_cache_demand_release_short_interval
    - set_release_partial_alloc_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - set_huge_region_demand_based_release
    - size
    - set_cache_demand_release_long_interval
    - HugePageAwareAllocator::Print
    - std::max<size_t>
    - SpanInfo::span::num_pages
    - std::clamp<size_t>
    - Span*::num_pages
    - HugePageAwareAllocator::TreatHugepageTrackers
    - HugePageAwareAllocator::FillerStats
    - std::vector::pop_back
    - data
    - std::max<int32_t>
    - HugePageAwareAllocator::RegionsFreeBacked
    - std::vector::resize
    - Range
    - set_huge_cache_demand_based_release
    - memcpy
    - HugePageAwareAllocator::New
    - TC_CHECK_EQ
    - std::string::resize
    - SpanInfo::span::donated
    - std::string::size
    - run_dsl
    - std::vector::empty
    - absl::Nanoseconds
    - huge_cache_demand_based_release
    - Length::in_bytes
    - TC_CHECK_NE
    - std::vector::push_back
    - release_succeeds
    - std::vector::size
    - HugePageAwareAllocator::CacheStats
    - set_filler_skip_subrelease_short_interval
    - std::vector::emplace_back
    - HugePageAwareAllocator::PrintInPbtxt
    - static_cast<uint8_t>
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    - TC_CHECK
    - set_release_succeeds
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void FuzzHPAA(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzHPAA
    linkageType: ''
    returnType: void
    signature: void TEST(HugePageAwareAllocatorTest, FuzzHPAARegression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzHPAA
    linkageType: ''
    returnType: void
    signature: void TEST(HugePageAwareAllocatorTest, FuzzHPAARegression2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_callback_
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:53,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarderWithUnback::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - release_callback_
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:64,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:65,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:116,1
    - Dst: std::max<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:120,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:123,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:135,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:138,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:150,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:156,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:169,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:170,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:171,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:172,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:175,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:182,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:188,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:188,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:194,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:208,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:210,1
    - Dst: HugePageAwareAllocator::NewAligned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:212,1
    - Dst: HugePageAwareAllocator::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:214,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:216,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:217,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:217,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:217,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:219,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:221,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:229,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:231,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:232,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:232,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:234,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:235,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:235,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:236,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:241,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:244,1
    - Dst: SpanInfo::span::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:244,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:245,1
    - Dst: SpanInfo::span::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:246,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:248,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:250,1
    - Dst: HugePageAwareAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:281,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:282,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:299,1
    - Dst: HugePageAwareAllocator::FillerStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:321,1
    - Dst: HugePageAwareAllocator::RegionsFreeBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:322,1
    - Dst: HugePageAwareAllocator::CacheStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:323,1
    - Dst: HugePageAwareAllocator::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:324,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:326,1
    - Dst: release_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:329,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:331,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:331,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:332,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:332,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:337,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:337,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:347,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:355,1
    - Dst: HugePageAwareAllocator::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:359,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:361,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:361,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:361,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:370,1
    - Dst: HugePageAwareAllocator::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:372,1
    - Dst: HugePageAwareAllocator::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:382,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:386,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:386,1
    - Dst: pending_release_::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:387,1
    - Dst: set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:399,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:400,1
    - Dst: set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:401,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:402,1
    - Dst: set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:405,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:406,1
    - Dst: set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:409,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:410,1
    - Dst: set_release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:413,1
    - Dst: set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:416,1
    - Dst: set_release_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:419,1
    - Dst: set_huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:422,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:428,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:429,1
    - Dst: set_huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:438,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:439,1
    - Dst: set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:442,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:443,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:444,1
    - Dst: set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:445,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:446,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:447,1
    - Dst: set_collapse_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:452,1
    - Dst: HugePageAwareAllocator::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:456,1
    - Dst: IsHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:467,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:479,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:488,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:489,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:492,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:496,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:500,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:506,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:509,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:512,1
    - Dst: SpanInfo::span::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:512,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:512,1
    - Dst: SpanInfo::span::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:513,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:515,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:517,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:522,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:525,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:525,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:526,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 204
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 527
    functionName: tcmalloc::tcmalloc_internal::FuzzHPAA
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::ZeroDuration
    - HugePageAwareAllocator::stats
    - HugePageAwareAllocator::Delete
    - std::vector::back
    - Length
    - Printer::SpaceRequired
    - set_hpaa_subrelease
    - pending_release_::in_bytes
    - Length::raw_num
    - set_filler_skip_subrelease_long_interval
    - HugePageAwareAllocator::NewAligned
    - SpanInfo::span::first_page
    - HugePageAwareAllocator::ReleaseAtLeastNPagesBreakingHugepages
    - set_collapse_succeeds
    - TC_CHECK_GE
    - std::min
    - HugePageAwareAllocator::ReleaseAtLeastNPages
    - CHECK_LE
    - std::swap
    - HugePageAwareAllocator::GetReleaseStats
    - IsHeld
    - HugePageAwareAllocator::forwarder
    - raw_num
    - set_cache_demand_release_short_interval
    - set_release_partial_alloc_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - set_huge_region_demand_based_release
    - size
    - set_cache_demand_release_long_interval
    - HugePageAwareAllocator::Print
    - std::max<size_t>
    - SpanInfo::span::num_pages
    - std::clamp<size_t>
    - Span*::num_pages
    - HugePageAwareAllocator::TreatHugepageTrackers
    - HugePageAwareAllocator::FillerStats
    - std::vector::pop_back
    - data
    - std::max<int32_t>
    - HugePageAwareAllocator::RegionsFreeBacked
    - std::vector::resize
    - Range
    - set_huge_cache_demand_based_release
    - memcpy
    - HugePageAwareAllocator::New
    - TC_CHECK_EQ
    - std::string::resize
    - SpanInfo::span::donated
    - std::string::size
    - run_dsl
    - std::vector::empty
    - absl::Nanoseconds
    - huge_cache_demand_based_release
    - Length::in_bytes
    - TC_CHECK_NE
    - std::vector::push_back
    - release_succeeds
    - std::vector::size
    - HugePageAwareAllocator::CacheStats
    - set_filler_skip_subrelease_short_interval
    - std::vector::emplace_back
    - HugePageAwareAllocator::PrintInPbtxt
    - static_cast<uint8_t>
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    - TC_CHECK
    - set_release_succeeds
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void FuzzHPAA(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzHPAA
    linkageType: ''
    returnType: void
    signature: void TEST(HugePageAwareAllocatorTest, FuzzHPAARegression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzHPAA
    linkageType: ''
    returnType: void
    signature: void TEST(HugePageAwareAllocatorTest, FuzzHPAARegression2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_callback_
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:53,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarderWithUnback::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - release_callback_
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:64,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:65,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:116,1
    - Dst: std::max<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:120,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:123,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:135,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:138,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:150,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:156,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:169,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:170,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:171,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:172,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:175,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:182,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:188,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:188,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:194,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:208,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:210,1
    - Dst: HugePageAwareAllocator::NewAligned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:212,1
    - Dst: HugePageAwareAllocator::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:214,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:216,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:217,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:217,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:217,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:219,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:221,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:229,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:231,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:232,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:232,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:234,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:235,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:235,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:236,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:241,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:244,1
    - Dst: SpanInfo::span::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:244,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:245,1
    - Dst: SpanInfo::span::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:246,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:248,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:250,1
    - Dst: HugePageAwareAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:281,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:282,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:299,1
    - Dst: HugePageAwareAllocator::FillerStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:321,1
    - Dst: HugePageAwareAllocator::RegionsFreeBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:322,1
    - Dst: HugePageAwareAllocator::CacheStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:323,1
    - Dst: HugePageAwareAllocator::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:324,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:326,1
    - Dst: release_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:329,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:331,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:331,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:332,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:332,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:337,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:337,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:347,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:355,1
    - Dst: HugePageAwareAllocator::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:359,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:361,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:361,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:361,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:370,1
    - Dst: HugePageAwareAllocator::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:372,1
    - Dst: HugePageAwareAllocator::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:382,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:386,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:386,1
    - Dst: pending_release_::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:387,1
    - Dst: set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:399,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:400,1
    - Dst: set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:401,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:402,1
    - Dst: set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:405,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:406,1
    - Dst: set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:409,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:410,1
    - Dst: set_release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:413,1
    - Dst: set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:416,1
    - Dst: set_release_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:419,1
    - Dst: set_huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:422,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:428,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:429,1
    - Dst: set_huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:438,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:439,1
    - Dst: set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:442,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:443,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:444,1
    - Dst: set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:445,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:446,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:447,1
    - Dst: set_collapse_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:452,1
    - Dst: HugePageAwareAllocator::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:456,1
    - Dst: IsHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:467,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:479,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:488,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:489,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:492,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:496,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:500,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:506,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:509,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:512,1
    - Dst: SpanInfo::span::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:512,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:512,1
    - Dst: SpanInfo::span::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:513,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:515,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:517,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:522,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:525,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:525,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:526,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 204
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 527
    functionName: tcmalloc::tcmalloc_internal::FuzzHPAA
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::ZeroDuration
    - HugePageAwareAllocator::stats
    - HugePageAwareAllocator::Delete
    - std::vector::back
    - Length
    - Printer::SpaceRequired
    - set_hpaa_subrelease
    - pending_release_::in_bytes
    - Length::raw_num
    - set_filler_skip_subrelease_long_interval
    - HugePageAwareAllocator::NewAligned
    - SpanInfo::span::first_page
    - HugePageAwareAllocator::ReleaseAtLeastNPagesBreakingHugepages
    - set_collapse_succeeds
    - TC_CHECK_GE
    - std::min
    - HugePageAwareAllocator::ReleaseAtLeastNPages
    - CHECK_LE
    - std::swap
    - HugePageAwareAllocator::GetReleaseStats
    - IsHeld
    - HugePageAwareAllocator::forwarder
    - raw_num
    - set_cache_demand_release_short_interval
    - set_release_partial_alloc_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - set_huge_region_demand_based_release
    - size
    - set_cache_demand_release_long_interval
    - HugePageAwareAllocator::Print
    - std::max<size_t>
    - SpanInfo::span::num_pages
    - std::clamp<size_t>
    - Span*::num_pages
    - HugePageAwareAllocator::TreatHugepageTrackers
    - HugePageAwareAllocator::FillerStats
    - std::vector::pop_back
    - data
    - std::max<int32_t>
    - HugePageAwareAllocator::RegionsFreeBacked
    - std::vector::resize
    - Range
    - set_huge_cache_demand_based_release
    - memcpy
    - HugePageAwareAllocator::New
    - TC_CHECK_EQ
    - std::string::resize
    - SpanInfo::span::donated
    - std::string::size
    - run_dsl
    - std::vector::empty
    - absl::Nanoseconds
    - huge_cache_demand_based_release
    - Length::in_bytes
    - TC_CHECK_NE
    - std::vector::push_back
    - release_succeeds
    - std::vector::size
    - HugePageAwareAllocator::CacheStats
    - set_filler_skip_subrelease_short_interval
    - std::vector::emplace_back
    - HugePageAwareAllocator::PrintInPbtxt
    - static_cast<uint8_t>
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    - TC_CHECK
    - set_release_succeeds
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void FuzzHPAA(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzHPAA
    linkageType: ''
    returnType: void
    signature: void TEST(HugePageAwareAllocatorTest, FuzzHPAARegression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzHPAA
    linkageType: ''
    returnType: void
    signature: void TEST(HugePageAwareAllocatorTest, FuzzHPAARegression2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_callback_
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:53,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarderWithUnback::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - release_callback_
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:64,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:65,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:116,1
    - Dst: std::max<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:120,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:123,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:135,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:138,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:150,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:156,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:169,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:170,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:171,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:172,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:175,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:182,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:188,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:188,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:194,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:208,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:210,1
    - Dst: HugePageAwareAllocator::NewAligned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:212,1
    - Dst: HugePageAwareAllocator::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:214,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:216,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:217,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:217,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:217,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:219,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:221,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:229,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:231,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:232,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:232,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:234,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:235,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:235,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:236,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:241,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:244,1
    - Dst: SpanInfo::span::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:244,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:245,1
    - Dst: SpanInfo::span::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:246,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:248,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:250,1
    - Dst: HugePageAwareAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:281,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:282,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:299,1
    - Dst: HugePageAwareAllocator::FillerStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:321,1
    - Dst: HugePageAwareAllocator::RegionsFreeBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:322,1
    - Dst: HugePageAwareAllocator::CacheStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:323,1
    - Dst: HugePageAwareAllocator::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:324,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:326,1
    - Dst: release_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:329,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:331,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:331,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:332,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:332,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:337,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:337,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:347,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:355,1
    - Dst: HugePageAwareAllocator::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:359,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:361,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:361,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:361,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:370,1
    - Dst: HugePageAwareAllocator::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:372,1
    - Dst: HugePageAwareAllocator::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:382,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:386,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:386,1
    - Dst: pending_release_::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:387,1
    - Dst: set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:399,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:400,1
    - Dst: set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:401,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:402,1
    - Dst: set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:405,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:406,1
    - Dst: set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:409,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:410,1
    - Dst: set_release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:413,1
    - Dst: set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:416,1
    - Dst: set_release_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:419,1
    - Dst: set_huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:422,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:428,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:429,1
    - Dst: set_huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:438,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:439,1
    - Dst: set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:442,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:443,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:444,1
    - Dst: set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:445,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:446,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:447,1
    - Dst: set_collapse_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:452,1
    - Dst: HugePageAwareAllocator::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:456,1
    - Dst: IsHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:467,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:479,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:488,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:489,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:492,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:496,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:500,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:506,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:509,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:512,1
    - Dst: SpanInfo::span::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:512,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:512,1
    - Dst: SpanInfo::span::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:513,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:515,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:517,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:522,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:525,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:525,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:526,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 204
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 527
    functionName: tcmalloc::tcmalloc_internal::FuzzHPAA
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::ZeroDuration
    - HugePageAwareAllocator::stats
    - HugePageAwareAllocator::Delete
    - std::vector::back
    - Length
    - Printer::SpaceRequired
    - set_hpaa_subrelease
    - pending_release_::in_bytes
    - Length::raw_num
    - set_filler_skip_subrelease_long_interval
    - HugePageAwareAllocator::NewAligned
    - SpanInfo::span::first_page
    - HugePageAwareAllocator::ReleaseAtLeastNPagesBreakingHugepages
    - set_collapse_succeeds
    - TC_CHECK_GE
    - std::min
    - HugePageAwareAllocator::ReleaseAtLeastNPages
    - CHECK_LE
    - std::swap
    - HugePageAwareAllocator::GetReleaseStats
    - IsHeld
    - HugePageAwareAllocator::forwarder
    - raw_num
    - set_cache_demand_release_short_interval
    - set_release_partial_alloc_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - set_huge_region_demand_based_release
    - size
    - set_cache_demand_release_long_interval
    - HugePageAwareAllocator::Print
    - std::max<size_t>
    - SpanInfo::span::num_pages
    - std::clamp<size_t>
    - Span*::num_pages
    - HugePageAwareAllocator::TreatHugepageTrackers
    - HugePageAwareAllocator::FillerStats
    - std::vector::pop_back
    - data
    - std::max<int32_t>
    - HugePageAwareAllocator::RegionsFreeBacked
    - std::vector::resize
    - Range
    - set_huge_cache_demand_based_release
    - memcpy
    - HugePageAwareAllocator::New
    - TC_CHECK_EQ
    - std::string::resize
    - SpanInfo::span::donated
    - std::string::size
    - run_dsl
    - std::vector::empty
    - absl::Nanoseconds
    - huge_cache_demand_based_release
    - Length::in_bytes
    - TC_CHECK_NE
    - std::vector::push_back
    - release_succeeds
    - std::vector::size
    - HugePageAwareAllocator::CacheStats
    - set_filler_skip_subrelease_short_interval
    - std::vector::emplace_back
    - HugePageAwareAllocator::PrintInPbtxt
    - static_cast<uint8_t>
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    - TC_CHECK
    - set_release_succeeds
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void FuzzHPAA(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzHPAA
    linkageType: ''
    returnType: void
    signature: void TEST(HugePageAwareAllocatorTest, FuzzHPAARegression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzHPAA
    linkageType: ''
    returnType: void
    signature: void TEST(HugePageAwareAllocatorTest, FuzzHPAARegression2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/experiment.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 67
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:38,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:41,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:41,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:47,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:52,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:53,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:55,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:59,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:62,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:62,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:63,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:65,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:65,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:66,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:66,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:66,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:69,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:71,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:71,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:72,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:74,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:74,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:76,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:77,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:78,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:78,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:79,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:81,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:81,1
    - Dst: Span*::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:82,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:82,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:84,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:85,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:86,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:87,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:87,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:90,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:90,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:91,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:91,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:92,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:92,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:92,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:94,1
    - Dst: Span*::FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:95,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:96,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:101,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:101,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:104,1
    - Dst: Span*::AllocTime
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:104,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:106,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:107,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 108
    functionName: tcmalloc::tcmalloc_internal::FuzzSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - Length
    - std::vector::insert
    - Span*::FreelistPopBatch
    - Span*::AllocTime
    - std::min
    - ::operator delete
    - TC_CHECK_LE
    - PageIdContaining
    - TC_CHECK_GT
    - Span*::BuildFreelist
    - size
    - std::align_val_t
    - data
    - absl::MakeSpan
    - std::vector::resize
    - Range
    - memcpy
    - TC_CHECK_EQ
    - Span::Span
    - tcmalloc_internal::Span::CalcReciprocal
    - std::vector::end
    - free
    - auto::in_bytes
    - std::vector::reserve
    - Span*::FreelistPush
    - std::vector::size
    - posix_memalign
    - Span*::FreelistEmpty
    - Span*::Allocated
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    - TC_CHECK
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void FuzzSpan(const std::string& s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:38,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:41,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:41,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:47,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:52,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:53,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:55,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:59,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:62,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:62,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:63,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:65,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:65,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:66,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:66,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:66,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:69,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:71,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:71,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:72,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:74,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:74,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:76,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:77,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:78,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:78,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:79,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:81,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:81,1
    - Dst: Span*::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:82,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:82,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:84,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:85,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:86,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:87,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:87,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:90,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:90,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:91,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:91,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:92,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:92,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:92,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:94,1
    - Dst: Span*::FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:95,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:96,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:101,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:101,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:104,1
    - Dst: Span*::AllocTime
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:104,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:106,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:107,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 108
    functionName: tcmalloc::tcmalloc_internal::FuzzSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - Length
    - std::vector::insert
    - Span*::FreelistPopBatch
    - Span*::AllocTime
    - std::min
    - ::operator delete
    - TC_CHECK_LE
    - PageIdContaining
    - TC_CHECK_GT
    - Span*::BuildFreelist
    - size
    - std::align_val_t
    - data
    - absl::MakeSpan
    - std::vector::resize
    - Range
    - memcpy
    - TC_CHECK_EQ
    - Span::Span
    - tcmalloc_internal::Span::CalcReciprocal
    - std::vector::end
    - free
    - auto::in_bytes
    - std::vector::reserve
    - Span*::FreelistPush
    - std::vector::size
    - posix_memalign
    - Span*::FreelistEmpty
    - Span*::Allocated
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    - TC_CHECK
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void FuzzSpan(const std::string& s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:38,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:41,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:41,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:47,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:52,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:53,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:55,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:59,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:62,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:62,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:63,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:65,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:65,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:66,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:66,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:66,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:69,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:71,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:71,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:72,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:74,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:74,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:76,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:77,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:78,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:78,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:79,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:81,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:81,1
    - Dst: Span*::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:82,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:82,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:84,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:85,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:86,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:87,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:87,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:90,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:90,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:91,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:91,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:92,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:92,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:92,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:94,1
    - Dst: Span*::FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:95,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:96,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:101,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:101,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:104,1
    - Dst: Span*::AllocTime
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:104,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:106,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:107,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 108
    functionName: tcmalloc::tcmalloc_internal::FuzzSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - Length
    - std::vector::insert
    - Span*::FreelistPopBatch
    - Span*::AllocTime
    - std::min
    - ::operator delete
    - TC_CHECK_LE
    - PageIdContaining
    - TC_CHECK_GT
    - Span*::BuildFreelist
    - size
    - std::align_val_t
    - data
    - absl::MakeSpan
    - std::vector::resize
    - Range
    - memcpy
    - TC_CHECK_EQ
    - Span::Span
    - tcmalloc_internal::Span::CalcReciprocal
    - std::vector::end
    - free
    - auto::in_bytes
    - std::vector::reserve
    - Span*::FreelistPush
    - std::vector::size
    - posix_memalign
    - Span*::FreelistEmpty
    - Span*::Allocated
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    - TC_CHECK
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void FuzzSpan(const std::string& s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:38,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:41,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:41,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:47,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:52,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:53,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:55,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:59,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:62,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:62,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:63,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:65,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:65,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:66,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:66,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:66,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:69,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:71,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:71,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:72,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:74,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:74,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:76,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:77,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:78,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:78,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:79,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:81,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:81,1
    - Dst: Span*::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:82,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:82,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:84,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:85,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:86,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:87,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:87,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:90,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:90,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:91,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:91,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:92,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:92,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:92,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:94,1
    - Dst: Span*::FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:95,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:96,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:101,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:101,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:104,1
    - Dst: Span*::AllocTime
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:104,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:106,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:107,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 108
    functionName: tcmalloc::tcmalloc_internal::FuzzSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - Length
    - std::vector::insert
    - Span*::FreelistPopBatch
    - Span*::AllocTime
    - std::min
    - ::operator delete
    - TC_CHECK_LE
    - PageIdContaining
    - TC_CHECK_GT
    - Span*::BuildFreelist
    - size
    - std::align_val_t
    - data
    - absl::MakeSpan
    - std::vector::resize
    - Range
    - memcpy
    - TC_CHECK_EQ
    - Span::Span
    - tcmalloc_internal::Span::CalcReciprocal
    - std::vector::end
    - free
    - auto::in_bytes
    - std::vector::reserve
    - Span*::FreelistPush
    - std::vector::size
    - posix_memalign
    - Span*::FreelistEmpty
    - Span*::Allocated
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    - TC_CHECK
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void FuzzSpan(const std::string& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:29,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:29,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:29,1
    - Dst: SelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - test_target
    - active
    - disabled
    - unset
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::FuzzSelectExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - SelectExperiments
    linkageType: ''
    returnType: void
    signature: "void FuzzSelectExperiments(absl::string_view test_target,\n                           absl::string_view
      active, absl::string_view disabled,\n                           bool unset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSelectExperiments
    linkageType: ''
    returnType: void
    signature: void TEST(ExperimentTest, FuzzSelectExperiments_b395212979)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:29,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:29,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:29,1
    - Dst: SelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - test_target
    - active
    - disabled
    - unset
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::FuzzSelectExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment_fuzz.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::empty
    - SelectExperiments
    linkageType: ''
    returnType: void
    signature: "void FuzzSelectExperiments(absl::string_view test_target,\n                           absl::string_view
      active, absl::string_view disabled,\n                           bool unset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSelectExperiments
    linkageType: ''
    returnType: void
    signature: void TEST(ExperimentTest, FuzzSelectExperiments_b395212979)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:29,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:29,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:29,1
    - Dst: SelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - test_target
    - active
    - disabled
    - unset
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::FuzzSelectExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::string_view::empty
    - SelectExperiments
    linkageType: ''
    returnType: void
    signature: "void FuzzSelectExperiments(absl::string_view test_target,\n                           absl::string_view
      active, absl::string_view disabled,\n                           bool unset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSelectExperiments
    linkageType: ''
    returnType: void
    signature: void TEST(ExperimentTest, FuzzSelectExperiments_b395212979)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:29,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:29,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:29,1
    - Dst: SelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - test_target
    - active
    - disabled
    - unset
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::FuzzSelectExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment_fuzz.cc
    functionUses: 3
    functionsReached:
    - absl::string_view::empty
    - SelectExperiments
    linkageType: ''
    returnType: void
    signature: "void FuzzSelectExperiments(absl::string_view test_target,\n                           absl::string_view
      active, absl::string_view disabled,\n                           bool unset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment_fuzz.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSelectExperiments
    linkageType: ''
    returnType: void
    signature: void TEST(ExperimentTest, FuzzSelectExperiments_b395212979)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: MallocHook_InitAtFirstAllocation_HeapLeakChecker
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: ABSL_ATTRIBUTE_WEAK MallocHook_InitAtFirstAllocation_HeapLeakChecker()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: MallocHook_HooksChanged
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: ABSL_ATTRIBUTE_WEAK MallocHook_HooksChanged()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:42,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:44,1
    - Dst: ABSL_RAW_CHECK
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:54,1
    - Dst: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:54,1
    - Dst: MallocHook_InitAtFirstAllocation_HeapLeakChecker
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:57,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:63,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:65,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:71,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:73,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:79,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:81,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:87,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:89,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:95,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:99,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:103,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:107,1
    - Dst: INVOKE_HOOKS
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:125,1
    - Dst: INVOKE_HOOKS
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:129,1
    - Dst: INVOKE_HOOKS
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:133,1
    - Dst: INVOKE_HOOKS
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 144
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached:
    - MallocHook::InvokeNewHook
    - ABSL_RAW_CHECK
    - MallocHook_HooksChanged
    - Add
    - MallocHook_InitAtFirstAllocation_HeapLeakChecker
    - MallocHook::RemoveNewHook
    - INVOKE_HOOKS
    - Remove
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:42,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - MallocHook::NewInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::InitialNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached:
    - MallocHook::InvokeNewHook
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitialNewHook(const MallocHook::NewInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_RAW_CHECK
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:54,1
    - Dst: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:54,1
    - Dst: MallocHook_InitAtFirstAllocation_HeapLeakChecker
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::RemoveInitialHooksAndCallInitializers
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached:
    - MallocHook_InitAtFirstAllocation_HeapLeakChecker
    - ABSL_RAW_CHECK
    - MallocHook::RemoveNewHook
    linkageType: ''
    returnType: void
    signature: void RemoveInitialHooksAndCallInitializers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:42,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - MallocHook::NewInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::InitialNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached:
    - MallocHook::InvokeNewHook
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitialNewHook(const MallocHook::NewInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_RAW_CHECK
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:54,1
    - Dst: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:54,1
    - Dst: MallocHook_InitAtFirstAllocation_HeapLeakChecker
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::RemoveInitialHooksAndCallInitializers
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached:
    - MallocHook_InitAtFirstAllocation_HeapLeakChecker
    - ABSL_RAW_CHECK
    - MallocHook::RemoveNewHook
    linkageType: ''
    returnType: void
    signature: void RemoveInitialHooksAndCallInitializers()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:63,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hook
    argTypes:
    - NewHook
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: MallocHook::AddNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached:
    - MallocHook_HooksChanged
    - Add
    linkageType: ''
    returnType: bool
    signature: bool MallocHook::AddNewHook(NewHook hook)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:71,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hook
    argTypes:
    - NewHook
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: MallocHook::RemoveNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 3
    functionsReached:
    - Remove
    - MallocHook_HooksChanged
    linkageType: ''
    returnType: bool
    signature: bool MallocHook::RemoveNewHook(NewHook hook)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:79,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hook
    argTypes:
    - DeleteHook
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: MallocHook::AddDeleteHook
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached:
    - MallocHook_HooksChanged
    - Add
    linkageType: ''
    returnType: bool
    signature: bool MallocHook::AddDeleteHook(DeleteHook hook)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:87,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hook
    argTypes:
    - DeleteHook
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: MallocHook::RemoveDeleteHook
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached:
    - Remove
    - MallocHook_HooksChanged
    linkageType: ''
    returnType: bool
    signature: bool MallocHook::RemoveDeleteHook(DeleteHook hook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hook
    argTypes:
    - SampledNewHook
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: MallocHook::AddSampledNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: bool
    signature: bool MallocHook::AddSampledNewHook(SampledNewHook hook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hook
    argTypes:
    - SampledNewHook
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: MallocHook::RemoveSampledNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached:
    - Remove
    linkageType: ''
    returnType: bool
    signature: bool MallocHook::RemoveSampledNewHook(SampledNewHook hook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hook
    argTypes:
    - SampledDeleteHook
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: MallocHook::AddSampledDeleteHook
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: bool
    signature: bool MallocHook::AddSampledDeleteHook(SampledDeleteHook hook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hook
    argTypes:
    - SampledDeleteHook
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: MallocHook::RemoveSampledDeleteHook
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached:
    - Remove
    linkageType: ''
    returnType: bool
    signature: bool MallocHook::RemoveSampledDeleteHook(SampledDeleteHook hook)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - HookType
    - ','
    - hook_list
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: INVOKE_HOOKS
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVOKE_HOOKS(HookType, hook_list, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INVOKE_HOOKS
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - NewInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: MallocHook::InvokeNewHookSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached:
    - INVOKE_HOOKS
    linkageType: ''
    returnType: void
    signature: void MallocHook::InvokeNewHookSlow(const NewInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INVOKE_HOOKS
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - DeleteInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: MallocHook::InvokeDeleteHookSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached:
    - INVOKE_HOOKS
    linkageType: ''
    returnType: void
    signature: void MallocHook::InvokeDeleteHookSlow(const DeleteInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INVOKE_HOOKS
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: MallocHook::InvokeSampledNewHookSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached:
    - INVOKE_HOOKS
    linkageType: ''
    returnType: void
    signature: void MallocHook::InvokeSampledNewHookSlow(const SampledAlloc& sampled_alloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INVOKE_HOOKS
      Src: /src/tcmalloc/tcmalloc/malloc_hook.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: MallocHook::InvokeSampledDeleteHookSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.cc
    functionUses: 0
    functionsReached:
    - INVOKE_HOOKS
    linkageType: ''
    returnType: void
    signature: "void MallocHook::InvokeSampledDeleteHookSlow(\n    const\n    SampledAlloc&
      sampled_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: tcmalloc::tcmalloc_internal::default_want_disable_dynamic_slabs
    functionSourceFile: /src/tcmalloc/tcmalloc/want_disable_dynamic_slabs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: ABSL_ATTRIBUTE_UNUSED default_want_disable_dynamic_slabs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: tcmalloc::tcmalloc_internal::default_want_disable_dynamic_slabs
    functionSourceFile: /src/tcmalloc/tcmalloc/want_disable_dynamic_slabs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: ABSL_ATTRIBUTE_UNUSED default_want_disable_dynamic_slabs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: tcmalloc::tcmalloc_internal::default_want_disable_dynamic_slabs
    functionSourceFile: /src/tcmalloc/tcmalloc/want_disable_dynamic_slabs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: ABSL_ATTRIBUTE_UNUSED default_want_disable_dynamic_slabs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: tcmalloc::tcmalloc_internal::default_want_disable_dynamic_slabs
    functionSourceFile: /src/tcmalloc/tcmalloc/want_disable_dynamic_slabs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: ABSL_ATTRIBUTE_UNUSED default_want_disable_dynamic_slabs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 40
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: MetadataAllocator::MetadataAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetadataAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~MetadataAllocator()
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MetadataAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: MetadataAllocator::MetadataAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetadataAllocator(const MetadataAllocator&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: MetadataAllocator::MetadataAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetadataAllocator(MetadataAllocator&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const MetadataAllocator&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MetadataAllocator
    signature: MetadataAllocator & operator=(const MetadataAllocator&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(MetadataAllocator&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/metadata_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MetadataAllocator
    signature: MetadataAllocator & operator=(MetadataAllocator&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_stats.h:41,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_stats.h:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 47
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/span_stats.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: tcmalloc_internal::num_live_spans
    functionSourceFile: /src/tcmalloc/tcmalloc/span_stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_live_spans()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_stats.h:41,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_stats.h:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tcmalloc_internal::prob_returned
    functionSourceFile: /src/tcmalloc/tcmalloc/span_stats.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: double
    signature: double prob_returned()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: tcmalloc_internal::num_live_spans
    functionSourceFile: /src/tcmalloc/tcmalloc/span_stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_live_spans()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_stats.h:41,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_stats.h:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tcmalloc_internal::prob_returned
    functionSourceFile: /src/tcmalloc/tcmalloc/span_stats.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: double
    signature: double prob_returned()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:154,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:154,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:155,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:164,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:164,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 65
    argCount: 1
    argNames:
    - ABSL_FLAG
    argTypes:
    - baseline
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 167
    functionName: ABSL_FLAG
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - HugePageContaining
    - absl::base_internal::CycleClock::Now
    - end
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: "void ABSL_FLAG(uint64_t, bytes, 1024 * 1024 * 1024, \"baseline usage\");\nABSL_FLAG(double,
      growth_factor, 2.0, \"growth over baseline\");\n\nnamespace tcmalloc {\nnamespace
      tcmalloc_internal {\nnamespace {\n\n// This is an arbitrary distribution taken
      from page requests from\n// an empirical driver test.  It seems realistic enough.
      We trim it to\n// [1, last].\n//\nstd::discrete_distribution<size_t> EmpiricalDistribution(Length
      last) {\n  std::vector<size_t> page_counts = []() {\n    std::vector<size_t>
      ret(12289);\n    ret[1] = 375745576;\n    ret[2] = 59737961;\n    ret[3] = 35549390;\n
      \   ret[4] = 43896034;\n    ret[5] = 17484968;\n    ret[6] = 15830888;\n    ret[7]
      = 9021717;\n    ret[8] = 208779231;\n    ret[9] = 3775073;\n    ret[10] = 25591620;\n
      \   ret[11] = 2483221;\n    ret[12] = 3595343;\n    ret[13] = 2232402;\n    ret[16]
      = 17639345;\n    ret[21] = 4215603;\n    ret[25] = 4212756;\n    ret[28] = 760576;\n
      \   ret[30] = 2166232;\n    ret[32] = 3021000;\n    ret[40] = 1186302;\n    ret[44]
      = 479142;\n    ret[48] = 570030;\n    ret[49] = 101262;\n    ret[55] = 592333;\n
      \   ret[57] = 236637;\n    ret[64] = 785066;\n    ret[65] = 44700;\n    ret[73]
      = 539659;\n    ret[80] = 342091;\n    ret[96] = 488829;\n    ret[97] = 504;\n
      \   ret[113] = 242921;\n    ret[128] = 157206;\n    ret[129] = 145;\n    ret[145]
      = 117191;\n    ret[160] = 91818;\n    ret[192] = 67824;\n    ret[193] = 144;\n
      \   ret[225] = 40711;\n    ret[256] = 38569;\n    ret[257] = 1;\n    ret[297]
      = 21738;\n    ret[320] = 13510;\n    ret[384] = 19499;\n    ret[432] = 13856;\n
      \   ret[490] = 9849;\n    ret[512] = 3024;\n    ret[640] = 3655;\n    ret[666]
      = 3963;\n    ret[715] = 2376;\n    ret[768] = 288;\n    ret[1009] = 6389;\n
      \   ret[1023] = 2788;\n    ret[1024] = 144;\n    ret[1280] = 1656;\n    ret[1335]
      = 2592;\n    ret[1360] = 3024;\n    ret[1536] = 432;\n    ret[2048] = 288;\n
      \   ret[2560] = 72;\n    ret[3072] = 360;\n    ret[12288] = 216;\n    return
      ret;\n  }();\n\n  Length lim = last;\n  auto i = page_counts.begin();\n  //
      remember lim might be too big (in which case we use the whole\n  // vector...)\n\n
      \ auto j = page_counts.size() > lim.raw_num() ? i + (lim.raw_num() + 1)\n                                              :
      page_counts.end();\n\n  return std::discrete_distribution<size_t>(i, j);\n}\n\nclass
      PageTrackerTest : public testing::Test {\n protected:\n  PageTrackerTest()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: ~PageTrackerTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - VerifyAndClear
    linkageType: ''
    returnType: void
    signature: void ~PageTrackerTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pp
    - nn
    - s
    argTypes:
    - PageId
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: PAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PAlloc(PageId pp, Length nn, SpanAllocInfo s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:181,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:181,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:182,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:182,1
    - Dst: PAlloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:183,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:184,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - mark
    argTypes:
    - PAlloc
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 6
    functionsReached:
    - EXPECT_LE
    - raw_num
    - first_page
    - PAlloc::n::raw_num
    linkageType: ''
    returnType: void
    signature: void Mark(PAlloc a, size_t mark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:193,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:193,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:195,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - ABSL_ARRAYSIZE
    - TC_CHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:203,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - len
    - success
    argTypes:
    - PageId
    - Length
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: MockMemoryInterface::Expect
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Range
    - TC_CHECK_LT
    linkageType: ''
    returnType: void
    signature: void Expect(PageId p, Length len, bool success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:209,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 217
    functionName: MockMemoryInterface::VerifyAndClear
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::min
    linkageType: ''
    returnType: void
    signature: void VerifyAndClear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:235,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:235,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:236,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:236,1
    - Dst: PAlloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:237,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:238,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - mark
    argTypes:
    - PAlloc
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - PAlloc::n::raw_num
    - EXPECT_EQ
    - EXPECT_LE
    - first_page
    linkageType: ''
    returnType: void
    signature: void Check(PAlloc a, size_t mark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Expect
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - PAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: ExpectUnbackPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Expect
    linkageType: ''
    returnType: void
    signature: void ExpectUnbackPages(PAlloc a, bool success = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Expect
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - PAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: ExpectCollapsedPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Expect
    linkageType: ''
    returnType: void
    signature: void ExpectCollapsedPages(PAlloc a, bool success = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 11
    functionsReached:
    - Get
    linkageType: ''
    returnType: PAlloc
    signature: PAlloc Get(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:259,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - PAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: Put
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 11
    functionsReached:
    - Put
    - Range
    linkageType: ''
    returnType: void
    signature: void Put(PAlloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: ReleaseFree
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 4
    functionsReached:
    - ReleaseFree
    linkageType: ''
    returnType: Length
    signature: Length ReleaseFree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: Collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 6
    functionsReached:
    - Collapse
    linkageType: ''
    returnType: bool
    signature: bool Collapse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: FakePageFlags::FakePageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakePageFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: FakePageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<PageStats>
    signature: std::optional<PageStats> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:286,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:287,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - is_hugepage_backed
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: FakePageFlags::MarkHugePageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - HugePage::start_addr
    - PageIdContaining
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void MarkHugePageBacked(void* addr, bool is_hugepage_backed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:292,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:293,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:294,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:294,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: FakePageFlags::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - HugePage::start_addr
    - PageIdContaining
    - contains
    - HugePageContaining
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const void* addr) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: FakeResidency::FakeResidency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeResidency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: FakeResidency::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Info>
    signature: std::optional<Info> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:310,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:311,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:312,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:312,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:312,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: FakeResidency::GetUnbackedAndSwappedBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - contains
    - HugePageContaining
    - HugePage::start_addr
    - EXPECT_TRUE
    - PageIdContaining
    linkageType: ''
    returnType: SinglePageBitmaps
    signature: SinglePageBitmaps GetUnbackedAndSwappedBitmaps(const void* addr) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:319,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:320,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - addr
    - ' unbacked'
    - ' swapped'
    argTypes:
    - void*
    - Bitmap<kMaxResidencyBits>
    - Bitmap<kMaxResidencyBits>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: FakeResidency::SetUnbackedAndSwappedBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - HugePage::start_addr
    - PageIdContaining
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: "void SetUnbackedAndSwappedBitmaps(const void* addr,\n                                    const
      Bitmap<kMaxResidencyBits>& unbacked,\n                                    const
      Bitmap<kMaxResidencyBits>& swapped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: FakeResidency::GetNativePagesInHugePage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GetNativePagesInHugePage() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:336,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:340,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:341,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:342,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:342,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:343,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:344,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:344,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:345,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:352,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 354
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Check
    - auto::raw_num
    - used_pages
    - n::raw_num
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - ASSERT_GE
    - Get
    - free_pages
    - Mark
    - longest_free_range
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, AllocSane)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:359,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:360,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:361,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:362,1
    - Dst: PAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:364,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:364,1
    - Dst: ExpectCollapsedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:365,1
    - Dst: Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:366,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:367,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:369,1
    - Dst: ExpectCollapsedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:370,1
    - Dst: Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:371,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:372,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:374,1
    - Dst: ExpectCollapsedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:375,1
    - Dst: Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:376,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:377,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:379,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 381
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - ExpectCollapsedPages
    - Put
    - Get
    - PAlloc
    - VerifyAndClear
    - Collapse
    - first_page
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, Collapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:386,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:387,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:388,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:389,1
    - Dst: PAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:391,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:391,1
    - Dst: ExpectCollapsedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:392,1
    - Dst: Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:393,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:394,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:396,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:397,1
    - Dst: ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:398,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:399,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:402,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:402,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:403,1
    - Dst: Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:403,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:405,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:406,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:406,1
    - Dst: ExpectCollapsedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:407,1
    - Dst: Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:408,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:409,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:411,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:412,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 414
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - released
    - ExpectCollapsedPages
    - Put
    - ExpectUnbackPages
    - ASSERT_FALSE
    - ReleaseFree
    - Get
    - PAlloc
    - VerifyAndClear
    - ASSERT_TRUE
    - Collapse
    - EXPECT_FALSE
    - first_page
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, CollapseReleasedPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:419,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:419,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:420,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:421,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:421,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:422,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:422,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:424,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:425,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:429,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:430,1
    - Dst: ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:431,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:432,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:434,1
    - Dst: released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:435,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:435,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:437,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 439
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - released_pages
    - Length
    - EXPECT_EQ
    - Put
    - ExpectUnbackPages
    - ReleaseFree
    - Get
    - VerifyAndClear
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, ReleasingReturn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:444,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:444,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:445,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:446,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:446,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:447,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:447,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:449,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:450,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:454,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:455,1
    - Dst: ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:456,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:457,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:460,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:461,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:463,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:466,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:467,1
    - Dst: ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:468,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 470
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Put
    - ExpectUnbackPages
    - ReleaseFree
    - Get
    - VerifyAndClear
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, ReleasingRetain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:475,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:475,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:476,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:477,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:477,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:478,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:478,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:480,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:481,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:485,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:486,1
    - Dst: ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:487,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:490,1
    - Dst: released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:491,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:491,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:494,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:495,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:497,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:501,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:502,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:502,1
    - Dst: ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:504,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:505,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:507,1
    - Dst: released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:507,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:508,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 509
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - released_pages
    - Length
    - EXPECT_EQ
    - Put
    - ExpectUnbackPages
    - ReleaseFree
    - Get
    - VerifyAndClear
    - std::min
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, ReleasingRetainFailure)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:513,1
    - Dst: EmpiricalDistribution
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:515,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:520,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:520,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:523,1
    - Dst: dist
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:523,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:524,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:525,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:526,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:526,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:530,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:537,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:538,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:540,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:543,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:544,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:545,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:545,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:545,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:549,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:549,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:550,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:552,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:553,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:557,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:557,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:558,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:558,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:559,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:559,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:560,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:560,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:561,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:561,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:562,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:566,1
    - Dst: dist
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:566,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:567,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:568,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:568,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:572,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:572,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:572,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:573,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:573,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:573,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:581,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:582,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:587,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:596,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:597,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:597,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:598,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:598,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:598,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:598,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:604,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:604,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:608,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 610
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::back
    - Length
    - dist
    - Length::raw_num
    - printf
    - std::sort
    - longest_free_range
    - absl::Uniform<int32_t>
    - std::swap
    - EmpiricalDistribution
    - std::vector::begin
    - push_back
    - std::vector::pop_back
    - used_pages
    - absl::GetFlag
    - Put
    - Get
    - std::vector::empty
    - std::vector::end
    - std::vector::reserve
    - std::vector::push_back
    - absl::Bernoulli
    - std::vector::size
    - EXPECT_GE
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, Defrag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:619,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:620,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:621,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:622,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:623,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:624,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:625,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:628,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:629,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:638,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:640,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:643,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:644,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:645,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:646,1
    - Dst: Stat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:648,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:649,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:649,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:650,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:652,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:652,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:653,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:653,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:657,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:657,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:658,1
    - Dst: Stat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:659,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:660,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:660,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:660,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:661,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:662,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:663,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:663,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:664,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:664,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:668,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:668,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:669,1
    - Dst: Stat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:670,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:671,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:671,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:671,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:671,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:672,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:673,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:674,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:675,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:675,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:679,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:679,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:680,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:681,1
    - Dst: Stat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:682,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:683,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:684,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:684,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:684,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:684,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:685,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:685,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:686,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:687,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:687,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:688,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:688,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:690,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:691,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:692,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:692,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:692,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:693,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:693,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:693,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:694,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:694,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:694,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:695,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:695,1
    - Dst: ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:695,1
    - Dst: Stat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:696,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:697,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:697,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:698,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:699,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:699,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:699,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:701,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:702,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 703
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - raw_num
    - ASSERT_LE
    - Length
    - EXPECT_EQ
    - Put
    - testing::ElementsAre
    - EXPECT_THAT
    - LargeSpanStats
    - Length::raw_num
    - ExpectUnbackPages
    - AddSpanStats
    - push_back
    - Get
    - ReleaseFree
    - clear
    - Stat
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:619,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:620,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:621,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:622,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:623,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:624,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:625,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:628,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ' tracker'
    - small_backed
    - small_unbacked
    - large
    argTypes:
    - PageTracker
    - std::vector<Length>*
    - std::vector<Length>*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 632
    functionName: Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 1
    functionsReached:
    - std::vector<Length>*::clear
    - auto::raw_num
    - Length
    - LargeSpanStats
    - AddSpanStats
    - std::vector<Length>*::push_back
    linkageType: ''
    returnType: void
    signature: "void Stat(const PageTracker& tracker,\n                     std::vector<Length>*
      small_backed,\n                     std::vector<Length>* small_unbacked,\n                     LargeSpanStats*
      large)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:721,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:721,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:723,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:724,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:724,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:724,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:727,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:727,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:727,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:730,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:730,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:731,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:731,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:731,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:733,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:733,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:733,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:740,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:741,1
    - Dst: testing::AllOfArray
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:742,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 744
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - raw_num
    - used_pages
    - std::vector::back
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - Put
    - std::vector::size
    - std::vector::begin
    - std::vector::erase
    - EXPECT_THAT
    - std::vector::end
    - AddSpanStats
    - Get
    - testing::AllOfArray
    - std::sort
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, b151915873)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 748
    functionName: MockCollapse::MockCollapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCollapse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:750,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 753
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Range::start_addr
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:756,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:757,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:758,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 759
    functionName: MockCollapse::TriedCollapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - HugePage::start_addr
    - PageIdContaining
    - contains
    - HugePageContaining
    linkageType: ''
    returnType: bool
    signature: bool TriedCollapse(void* addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:762,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:763,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:764,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:764,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 766
    functionName: MockCollapse::TimesCollapsed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - HugePage::start_addr
    - PageIdContaining
    - contains
    - HugePageContaining
    linkageType: ''
    returnType: int
    signature: int TimesCollapsed(void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - success
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 768
    functionName: MockCollapse::SetSuccess
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSuccess(bool success)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 777
    functionName: MockSetAnonVmaName::MockSetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockSetAnonVmaName()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:779,1
    - Dst: std::optional<absl::string_view>::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:780,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 786
    functionName: operator()(Range r, std::optional<absl::string_view> name) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - std::optional<absl::string_view>::has_value
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void operator()(Range r, std::optional<absl::string_view> name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 787
    functionName: MockSetAnonVmaName::SetExpectedName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetExpectedName(absl::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 788
    functionName: MockSetAnonVmaName::TimesCalled
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TimesCalled()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 797
    functionName: BlockingUnback::BlockingUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockingUnback()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DecrementCount
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:805,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:808,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 811
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Lock
    - DecrementCount
    - Unlock
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 826
    functionName: FillerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:828,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 829
    functionName: FillerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:831,1
    - Dst: FillerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 832
    functionName: FillerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FillerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 833
    functionName: FillerTest::ResetClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResetClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:839,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:840,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:840,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:842,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:843,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 844
    functionName: FillerTest::GetBacking
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - resize
    - HugePageContaining
    - size
    - TC_CHECK_EQ
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: HugePage
    signature: HugePage GetBacking()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 846
    functionName: FillerTest::GetFakePage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - PageId::index
    linkageType: ''
    returnType: size_t
    signature: size_t * GetFakePage(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:849,1
    - Dst: FillerTest::GetFakePage
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p
    - n
    - mark
    argTypes:
    - PageId
    - Length
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 852
    functionName: FillerTest::MarkRange
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FillerTest::GetFakePage
    - Length
    linkageType: ''
    returnType: void
    signature: void MarkRange(PageId p, Length n, size_t mark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:855,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:856,1
    - Dst: FillerTest::GetFakePage
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p
    - n
    - mark
    argTypes:
    - PageId
    - Length
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 858
    functionName: FillerTest::CheckRange
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - FillerTest::GetFakePage
    - Length
    linkageType: ''
    returnType: void
    signature: void CheckRange(PageId p, Length n, size_t mark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:867,1
    - Dst: FillerTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 873
    functionName: FillerTest::FillerTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FillerTest::ResetClock
    - GetParam
    linkageType: ''
    returnType: void
    signature: void FillerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:875,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:875,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 875
    functionName: ~FillerTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - NHugePages
    - size
    linkageType: ''
    returnType: void
    signature: void ~FillerTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillerTest::MarkRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' alloc'
    argTypes:
    - PAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 886
    functionName: FillerTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FillerTest::MarkRange
    linkageType: ''
    returnType: void
    signature: void Mark(const PAlloc& alloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillerTest::CheckRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' alloc'
    argTypes:
    - PAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 888
    functionDepth: 2
    functionLinenumber: 888
    functionLinenumberEnd: 888
    functionName: FillerTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FillerTest::CheckRange
    linkageType: ''
    returnType: void
    signature: void Check(const PAlloc& alloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:902,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:902,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:903,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:906,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:907,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:908,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 909
    functionName: FillerTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - in_pages
    - EXPECT_EQ
    - stats
    - size
    - in_bytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:913,1
    - Dst: FillerTest::AllocateRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:914,1
    - Dst: FillerTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:916,1
    - Dst: FillerTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 911
    functionDepth: 3
    functionLinenumber: 911
    functionLinenumberEnd: 919
    functionName: FillerTest::AllocateWithSpanAllocInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FillerTest::AllocateRaw
    - TC_CHECK_LE
    - FillerTest::CheckStats
    - FillerTest::Mark
    linkageType: ''
    returnType: PAlloc
    signature: "PAlloc AllocateWithSpanAllocInfo(Length n, SpanAllocInfo span_alloc_info,\n
      \                                  bool donated = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:923,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:927,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:930,1
    - Dst: FillerTest::AllocateRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:930,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:931,1
    - Dst: FillerTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:932,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:932,1
    - Dst: FillerTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 921
    functionDepth: 3
    functionLinenumber: 921
    functionLinenumberEnd: 937
    functionName: FillerTest::AllocateVectorWithSpanAllocInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::back
    - std::vector::push_back
    - Length
    - FillerTest::AllocateRaw
    - FillerTest::Mark
    - FillerTest::CheckStats
    - TC_CHECK_LE
    linkageType: ''
    returnType: std::vector<PAlloc>
    signature: "std::vector<PAlloc> AllocateVectorWithSpanAllocInfo(\n      Length
      n, SpanAllocInfo span_alloc_info, bool donated = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:942,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:945,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:954,1
    - Dst: FillerTest::AllocateRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:954,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:955,1
    - Dst: FillerTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:956,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:956,1
    - Dst: FillerTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 939
    functionDepth: 3
    functionLinenumber: 939
    functionLinenumberEnd: 961
    functionName: FillerTest::AllocateVector
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::back
    - Length
    - std::vector::push_back
    - absl::Bernoulli
    - absl::Uniform<size_t>
    - FillerTest::AllocateRaw
    - FillerTest::CheckStats
    - FillerTest::Mark
    linkageType: ''
    returnType: std::vector<PAlloc>
    signature: std::vector<PAlloc> AllocateVector(Length n, bool donated = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:964,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:967,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:971,1
    - Dst: FillerTest::AllocateRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:975,1
    - Dst: FillerTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:977,1
    - Dst: FillerTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 963
    functionDepth: 3
    functionLinenumber: 963
    functionLinenumberEnd: 980
    functionName: FillerTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::Uniform<size_t>
    - FillerTest::AllocateRaw
    - FillerTest::Mark
    - FillerTest::CheckStats
    - TC_CHECK_LE
    linkageType: ''
    returnType: PAlloc
    signature: PAlloc Allocate(Length n, bool donated = false)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pt::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:984,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' pv'
    argTypes:
    - std::vector<PAlloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 987
    functionName: FillerTest::AllReleased
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - pt::released
    linkageType: ''
    returnType: bool
    signature: bool AllReleased(const std::vector<PAlloc>& pv) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillerTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:991,1
    - Dst: FillerTest::DeleteRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:992,1
    - Dst: FillerTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - PAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 990
    functionDepth: 3
    functionLinenumber: 990
    functionLinenumberEnd: 995
    functionName: FillerTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FillerTest::CheckStats
    - FillerTest::Check
    - FillerTest::DeleteRaw
    linkageType: ''
    returnType: bool
    signature: bool Delete(const PAlloc& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillerTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pv'
    argTypes:
    - std::vector<PAlloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 998
    functionDepth: 4
    functionLinenumber: 998
    functionLinenumberEnd: 1004
    functionName: FillerTest::DeleteVector
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FillerTest::Delete
    linkageType: ''
    returnType: bool
    signature: bool DeleteVector(const std::vector<PAlloc>& pv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillerTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - std::vector<PAlloc>::iterator
    - std::vector<PAlloc>::iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1005
    functionDepth: 4
    functionLinenumber: 1005
    functionLinenumberEnd: 1012
    functionName: FillerTest::DeleteRange
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FillerTest::Delete
    linkageType: ''
    returnType: bool
    signature: "bool DeleteRange(std::vector<PAlloc>::iterator begin,\n                   std::vector<PAlloc>::iterator
      end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillerTest::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1019
    functionName: FillerTest::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 1
    functionsReached:
    - FillerTest::ReleasePages
    linkageType: ''
    returnType: Length
    signature: Length ReleasePages(Length desired, SkipSubreleaseIntervals intervals
      = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillerTest::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1021
    functionDepth: 2
    functionLinenumber: 1021
    functionLinenumberEnd: 1027
    functionName: FillerTest::ReleasePartialPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FillerTest::ReleasePages
    linkageType: ''
    returnType: Length
    signature: "Length ReleasePartialPages(Length desired,\n                             SkipSubreleaseIntervals
      intervals = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillerTest::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1029
    functionDepth: 2
    functionLinenumber: 1029
    functionLinenumberEnd: 1034
    functionName: FillerTest::HardReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FillerTest::ReleasePages
    linkageType: ''
    returnType: Length
    signature: Length HardReleasePages(Length desired)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1042,1
    - Dst: FillerTest::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1043,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1048,1
    - Dst: FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1048,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - enable_collapse
    - pageflags
    - residency
    argTypes:
    - bool
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1050
    functionName: FillerTest::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 1
    functionsReached:
    - FillerTest::TreatHugepageTrackers
    - Lock
    - EXPECT_EQ
    - Unlock
    - FetchFullyFreedTracker
    linkageType: ''
    returnType: void
    signature: "void TreatHugepageTrackers(bool enable_collapse, PageFlagsBase* pageflags,\n
      \                            Residency* residency)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1061,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1064,1
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1073,1
    - Dst: FillerTest::GetBacking
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1079,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1079,1
    - Dst: PAlloc::pt::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1082,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - donated
    argTypes:
    - Length
    - SpanAllocInfo
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1060
    functionDepth: 2
    functionLinenumber: 1060
    functionLinenumberEnd: 1090
    functionName: FillerTest::AllocateRaw
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 4
    functionsReached:
    - PAlloc::pt::Get
    - Contribute
    - EXPECT_TRUE
    - PageTracker::PageTracker
    - EXPECT_LT
    - FillerTest::GetBacking
    - TryGet
    linkageType: ''
    returnType: PAlloc
    signature: PAlloc AllocateRaw(Length n, SpanAllocInfo span_alloc_info, bool donated)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1097,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1097,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1101,1
    - Dst: PageTracker*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1102,1
    - Dst: PageTracker*::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - PAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1109
    functionName: FillerTest::DeleteRaw
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 1
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - Put
    - Range
    - PageTracker*::empty
    - PageTracker*::longest_free_range
    linkageType: ''
    returnType: bool
    signature: bool DeleteRaw(const PAlloc& p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1122,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1122,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1123,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1123,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1124,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1124,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1125,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1126,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1128,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1132,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1134,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1134,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1134,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1135,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1135,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1137,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1141,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1144,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1146,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1146,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1146,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1150,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1150,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1150,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1151,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1155,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1156,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1156,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1158
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - HugeLength::in_pages
    - Length
    - std::vector::push_back
    - pages_allocated
    - absl::Bernoulli
    - std::vector::size
    - size
    - EXPECT_GE
    - EXPECT_LE
    - absl::c_shuffle
    - Delete
    - Allocate
    - NHugePages
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, Density)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1164,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1164,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1165,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1165,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1166,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1167,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1170,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1172,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1172,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1172,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1174,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1174,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1177,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1177,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1177,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1178,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1181,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1181,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1181,1
    - Dst: GetCollapseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1183,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1184,1
    - Dst: eligible::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1185,1
    - Dst: attempted::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1186,1
    - Dst: succeeded::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1186,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1188
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - FakePageFlags::IsHugepageBacked
    - attempted::load
    - FakeResidency::FakeResidency
    - succeeded::load
    - TriedCollapse
    - NHugePages
    - p::start_addr
    - FakePageFlags::MarkHugePageBacked
    - size
    - EXPECT_FALSE
    - ASSERT_EQ
    - TreatHugepageTrackers
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - EXPECT_TRUE
    - EXPECT_EQ
    - DeleteVector
    - FakePageFlags::FakePageFlags
    - ASSERT_TRUE
    - eligible::load
    - std::vector::empty
    - AllocateVector
    - GetCollapseStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, DontCollapseAlreadyHugepages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1192,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1192,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1193,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1193,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1194,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1195,1
    - Dst: GetCollapseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1199,1
    - Dst: eligible::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1201,1
    - Dst: attempted::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1203,1
    - Dst: succeeded::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1203,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1208,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1208,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1210,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1210,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1210,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1212,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1212,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1215,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1215,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1215,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1216,1
    - Dst: check_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1217,1
    - Dst: GetCollapseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1221,1
    - Dst: eligible::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1222,1
    - Dst: attempted::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1223,1
    - Dst: succeeded::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1223,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1226,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1226,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1226,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1227,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1227,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1227,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1234,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1234,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1234,1
    - Dst: check_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1236,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1239
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - attempted::load
    - FakePageFlags::IsHugepageBacked
    - FakeResidency::FakeResidency
    - succeeded::load
    - TriedCollapse
    - NHugePages
    - p::start_addr
    - FakePageFlags::MarkHugePageBacked
    - size
    - TimesCollapsed
    - ASSERT_EQ
    - EXPECT_FALSE
    - check_stats
    - TreatHugepageTrackers
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - EXPECT_EQ
    - EXPECT_TRUE
    - DeleteVector
    - FakePageFlags::FakePageFlags
    - ASSERT_TRUE
    - eligible::load
    - std::vector::empty
    - AllocateVector
    - GetCollapseStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, DontCollapseAlreadyCollapsed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1244,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1245,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1249,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1249,1
    - Dst: PAlloc::pt::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1250,1
    - Dst: SetExpectedName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1251,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1254,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1254,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1256,1
    - Dst: TimesCalled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1256,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1260,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1260,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1261,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1262,1
    - Dst: TimesCalled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1262,1
    - Dst: SetExpectedName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1263,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1264,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1265,1
    - Dst: TimesCalled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1266
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - TimesCalled
    - absl::Minutes
    - TreatHugepageTrackers
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Length
    - EXPECT_EQ
    - FakeResidency::FakeResidency
    - AllocateWithSpanAllocInfo
    - PAlloc::pt::SetTagState
    - Advance
    - Delete
    - FakePageFlags::FakePageFlags
    - SetExpectedName
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, SetAnonVmaName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1271,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1271,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1272,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1272,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1274,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1275,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1277,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1277,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1279,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1279,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1279,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1282,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1283,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1284,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1284,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1288,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1288,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1289,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1291,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1291,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1292,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1292,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1292,1
    - Dst: GetCollapseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1295,1
    - Dst: eligible::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1296,1
    - Dst: attempted::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1296,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1297,1
    - Dst: succeeded::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1297,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1300
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - FakePageFlags::IsHugepageBacked
    - attempted::load
    - FakeResidency::FakeResidency
    - succeeded::load
    - TriedCollapse
    - NHugePages
    - p::start_addr
    - FakePageFlags::MarkHugePageBacked
    - Bitmap::SetRange
    - size
    - TimesCollapsed
    - ASSERT_EQ
    - EXPECT_FALSE
    - TreatHugepageTrackers
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - EXPECT_TRUE
    - EXPECT_EQ
    - DeleteVector
    - FakePageFlags::FakePageFlags
    - ASSERT_TRUE
    - eligible::load
    - std::vector::empty
    - SetRange
    - AllocateVector
    - GetCollapseStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CollapseHugepages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1308,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1308,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1309,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1309,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1311,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1312,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1314,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1314,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1316,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1316,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1316,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1319,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1320,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1321,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1321,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1325,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1325,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1325,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1326,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1328,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1328,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1328,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1331,1
    - Dst: test_collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1336,1
    - Dst: GetCollapseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1341,1
    - Dst: eligible::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1342,1
    - Dst: attempted::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1343,1
    - Dst: succeeded::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1344
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - FakePageFlags::IsHugepageBacked
    - attempted::load
    - FakeResidency::FakeResidency
    - succeeded::load
    - TriedCollapse
    - test_collapse
    - NHugePages
    - p::start_addr
    - FakePageFlags::MarkHugePageBacked
    - Bitmap::SetRange
    - size
    - ASSERT_EQ
    - EXPECT_FALSE
    - TreatHugepageTrackers
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - DeleteVector
    - EXPECT_EQ
    - FakePageFlags::FakePageFlags
    - ASSERT_TRUE
    - eligible::load
    - std::vector::empty
    - SetRange
    - AllocateVector
    - GetCollapseStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, DontCollapseHugepages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1348,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1349,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1352,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1354,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1354,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1355,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1355,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1356,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1356,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1358,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1359,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1361,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1361,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1363,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1363,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1363,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1366,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1367,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1368,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1368,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1373,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1373,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1374,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1374,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1375,1
    - Dst: AllReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1375,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1377,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1377,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1377,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1378,1
    - Dst: GetCollapseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1380,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1381,1
    - Dst: eligible::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1381,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1382,1
    - Dst: attempted::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1382,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1383,1
    - Dst: succeeded::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1383,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1385,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1385,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1385,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1389
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - unmapped_pages
    - attempted::load
    - FakePageFlags::IsHugepageBacked
    - FakeResidency::FakeResidency
    - succeeded::load
    - TriedCollapse
    - GetParam
    - NHugePages
    - p::start_addr
    - FakePageFlags::MarkHugePageBacked
    - Bitmap::SetRange
    - size
    - std::vector::front
    - EXPECT_FALSE
    - ASSERT_EQ
    - TreatHugepageTrackers
    - ReleasePartialPages
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - DeleteVector
    - EXPECT_EQ
    - AllReleased
    - ASSERT_TRUE
    - FakePageFlags::FakePageFlags
    - eligible::load
    - std::vector::empty
    - SetRange
    - GTEST_SKIP
    - AllocateVectorWithSpanAllocInfo
    - AllocateVector
    - GetCollapseStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, DontCollapseReleasedPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1395,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1395,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1396,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1396,1
    - Dst: SetSuccess
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1399,1
    - Dst: GetCollapseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1403,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1404,1
    - Dst: eligible::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1404,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1406,1
    - Dst: attempted::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1406,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1408,1
    - Dst: succeeded::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1408,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1412,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1413,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1415,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1415,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1417,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1417,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1417,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1420,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1421,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1422,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1422,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1425,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1425,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1425,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1426,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1428,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1428,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1429,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1429,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1429,1
    - Dst: check_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1431,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1434,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1434,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1436,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1436,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1438,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1438,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1438,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1441,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1443,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1443,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1443,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1444,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1444,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1444,1
    - Dst: check_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1446,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1449,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1449,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1450,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1452,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1452,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1452,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1453,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1453,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1453,1
    - Dst: check_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1455,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1459
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - attempted::load
    - FakePageFlags::IsHugepageBacked
    - FakeResidency::FakeResidency
    - succeeded::load
    - TriedCollapse
    - NHugePages
    - p::start_addr
    - FakePageFlags::MarkHugePageBacked
    - Bitmap::SetRange
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - SetSuccess
    - size
    - TimesCollapsed
    - EXPECT_FALSE
    - ASSERT_EQ
    - check_stats
    - TreatHugepageTrackers
    - absl::Minutes
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - EXPECT_EQ
    - EXPECT_TRUE
    - DeleteVector
    - Advance
    - ASSERT_TRUE
    - FakePageFlags::FakePageFlags
    - eligible::load
    - std::vector::empty
    - SetRange
    - AllocateVector
    - GetCollapseStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CollapseClock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1465,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1466,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1471,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1472,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1472,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1474,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1474,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1476,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1476,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1477,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1477,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1478,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1479,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1479,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1481,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1481,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1481,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1482,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1483,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1485,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1485,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1485,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1486,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1486,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1486,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1487,1
    - Dst: AllReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1487,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1488,1
    - Dst: AllReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1488,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1490,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1494,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1495,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1496,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1496,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1499,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1500,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1500,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1502,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1502,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1502,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1505,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1506,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1507,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1508
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - unmapped_pages
    - Length
    - ReleasePartialPages
    - GTEST_SKIP
    - DeleteVector
    - EXPECT_EQ
    - AllReleased
    - ASSERT_FALSE
    - AllocateVectorWithSpanAllocInfo
    - ASSERT_TRUE
    - std::vector::front
    - AllocateVector
    - GetParam
    - std::vector::empty
    - ASSERT_EQ
    - subrelease_stats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleaseFromFullAllocs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1513,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1514,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1519,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1519,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1520,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1520,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1523,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1524,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1524,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1525,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1526
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - GTEST_SKIP
    - AllocateWithSpanAllocInfo
    - ASSERT_FALSE
    - Delete
    - ASSERT_TRUE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CoarseLongestFreeRangeUsesSameHugePageForSmallAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1532,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1532,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1533,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1533,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1536,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1537,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1537,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1538,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1539
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - AllocateWithSpanAllocInfo
    - ASSERT_FALSE
    - Delete
    - ASSERT_TRUE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CoarseLongestFreeRangeUsesSameHugepagesForAlignedAllocs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1544,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1545,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1548,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1552,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1552,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1553,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1555,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1557,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1557,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1566,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1568,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1570,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1571,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1571,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1572,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1573
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - GTEST_SKIP
    - AllocateWithSpanAllocInfo
    - Delete
    - ASSERT_TRUE
    - GetParam
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: "void TEST_P(FillerTest,\n       CoarseLongestFreeRangeChoosesHugePageFromHigherBinForLargeAllocs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1576,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1577,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1580,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1584,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1584,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1585,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1585,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1589,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1590,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1590,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1592,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1593,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1593,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1595,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1596
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - GTEST_SKIP
    - AllocateWithSpanAllocInfo
    - ASSERT_FALSE
    - Delete
    - ASSERT_TRUE
    - GetParam
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CoarseLongestFreeRangeAllocatesNewHugePage)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1603,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1604,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1607,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1608,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1610,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1611,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1612,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1613,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1613,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1615,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1615,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1616,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1617,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1617,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1619,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1622,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1622,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1622,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1624,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1625,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1628,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1629,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1629,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1630,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1634,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1634,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1634,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1635,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1636,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1636,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1639,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1640,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1641,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1641,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1643,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1644,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1646,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1646,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1648,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1648,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1652,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1652,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1653,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1655,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1655,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1656,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1656,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1658,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1658,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1658,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1659,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1659,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1659,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1662,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1663,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1667,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1667,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1670,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1670,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1671,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1671,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1674,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1676,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1679,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1679,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1681,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1682,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1682,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1682,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1685,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1686,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1687,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1687,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1690,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1692
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - used_pages_in_partial_released
    - std::vector::back
    - Length
    - ReleasePartialPages
    - GTEST_SKIP
    - EXPECT_EQ
    - DeleteVector
    - used_pages_in_released
    - AllocateVectorWithSpanAllocInfo
    - ASSERT_TRUE
    - AllocateVector
    - GetParam
    - std::vector::empty
    - subrelease_stats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleaseFreePagesInPartialAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1696,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1699,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1700,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1702,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1703,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1704,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1705,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1705,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1707,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1707,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1708,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1709,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1709,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1711,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1711,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1714,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1714,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1714,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1716,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1717,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1720,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1721,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1721,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1722,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1722,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1726,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1726,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1726,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1727,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1728,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1728,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1731,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1732,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1733,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1733,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1735,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1736,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1738,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1738,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1740,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1740,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1741,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1741,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1741,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1742,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1742,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1742,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1744,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1745,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1748,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1748,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1752,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1753,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1754,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1754,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1758,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1759,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1759,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1761,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1763
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - used_pages_in_partial_released
    - Length
    - ReleasePartialPages
    - EXPECT_EQ
    - DeleteVector
    - used_pages_in_released
    - EXPECT_TRUE
    - AllocateVectorWithSpanAllocInfo
    - ASSERT_TRUE
    - std::vector::front
    - std::vector::empty
    - subrelease_stats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleaseFreePagesInPartialAllocs_SpansAllocated)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1766,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1767,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1770,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1771,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1772,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1773,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1773,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1774,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1775,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1775,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1779,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1779,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1781,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1781,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1784,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1787,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1788,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1792,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1792,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1794,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1794,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1795,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1795,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1796,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1798,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1799,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1800,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1800,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1803,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1805,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1805,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1805,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1806,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1808
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - used_pages_in_partial_released
    - Length
    - used_pages_in_released
    - GTEST_SKIP
    - EXPECT_TRUE
    - DeleteVector
    - EXPECT_EQ
    - AllocateVectorWithSpanAllocInfo
    - ASSERT_TRUE
    - std::vector::front
    - AllocateVector
    - GetParam
    - std::vector::empty
    - ASSERT_EQ
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, AccountingForUsedPartialReleased)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1811,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1812,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1818,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1818,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1819,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1819,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1820,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1821,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1821,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1823,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1823,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1824,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1824,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1825,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1826,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1826,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1828,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1828,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1828,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1829,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1830,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1832,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1832,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1832,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1832,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1833,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1833,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1833,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1834,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1834,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1834,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1835,1
    - Dst: AllReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1835,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1837,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1839,1
    - Dst: AllReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1839,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1841,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1845,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1846,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1846,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1847,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1847,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1847,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1847,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1847,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1849,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1850,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1851,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1852,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1852,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1852,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1853
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - unmapped_pages
    - Length
    - DeleteVector
    - GTEST_SKIP
    - EXPECT_EQ
    - NHugePages
    - AllReleased
    - ASSERT_FALSE
    - AllocateVectorWithSpanAllocInfo
    - ASSERT_TRUE
    - std::vector::front
    - AllocateVector
    - GetParam
    - previously_released_huge_pages
    - std::vector::empty
    - ASSERT_EQ
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1857,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1858,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1858,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1859,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1855
    functionDepth: 1
    functionLinenumber: 1855
    functionLinenumberEnd: 1861
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ReleasePages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleaseZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1864,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1865,1
    - Dst: EmpiricalDistribution
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1869,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1875,1
    - Dst: dist
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1875,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1877,1
    - Dst: FillerTest::AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1877,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1878,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1883,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1884,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1886,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1888,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1889,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1889,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1891,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1892,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1892,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1893,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1893,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1894,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1894,1
    - Dst: FillerTest::DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1895,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1895,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1896,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1897,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1898,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1900,1
    - Dst: dist
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1900,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1901,1
    - Dst: FillerTest::AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1901,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1902,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1907,1
    - Dst: FillerTest::DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1910,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1863
    functionDepth: 5
    functionLinenumber: 1863
    functionLinenumberEnd: 1912
    functionName: FillerTest::FragmentationTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - EmpiricalDistribution
    - std::vector::pop_back
    - std::vector::back
    - std::vector::push_back
    - Length
    - absl::Bernoulli
    - stats
    - std::vector::size
    - FillerTest::DeleteVector
    - dist
    - Length::raw_num
    - EXPECT_LE
    - printf
    - FillerTest::AllocateVector
    - std::max
    - absl::Uniform<int32_t>
    - static_cast<double>
    - std::swap
    linkageType: ''
    returnType: void
    signature: void FillerTest::FragmentationTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FragmentationTest
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1914
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FragmentationTest
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, Fragmentation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1919,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1920,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1922,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1923,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1930,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1936,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1937,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1937,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1938,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1939,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1944,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1945,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1945,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1947,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1947,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1949,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1949,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1951,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1951,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1953,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1954,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1955,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1959,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1959,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1960,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1961,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1961,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1964,1
    - Dst: testing::StartsWith
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1965,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1977,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1978,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1979,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1916
    functionDepth: 1
    functionLinenumber: 1916
    functionLinenumberEnd: 1981
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - std::string::begin
    - Length
    - DeleteVector
    - GTEST_SKIP
    - Printer::SpaceRequired
    - testing::StartsWith
    - EXPECT_THAT
    - AllocateVectorWithSpanAllocInfo
    - std::string::size
    - FakePageFlags::FakePageFlags
    - ASSERT_TRUE
    - AllocateVector
    - GetParam
    - std::vector::front
    - Print
    - std::vector::empty
    - std::string::erase
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, PrintFreeRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 1983
    functionName: BytesToMiB
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BytesToMiB(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1993,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1993,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1993,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1993,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1993,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1996,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1997,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1997,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1998,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1998,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1999,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1999,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2000,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2001,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2001,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2002,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2005,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2006,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2006,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2007,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2009,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2009,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2011,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2014,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2014,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2017,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2017,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2017,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2017,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2018,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2018,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2019,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2019,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2024,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2025,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2025,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2026,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2026,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2028,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2028,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2029,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2029,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2030,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2030,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2033,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2034,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2034,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2034,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2034,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2036,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2036,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2036,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2037,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2037,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2037,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2037,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2040,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2041,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2041,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 2044
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - hugepage_frac
    - Eq
    - auto::empty
    - Length
    - DeleteVector
    - EXPECT_EQ
    - EXPECT_THAT
    - Length::raw_num
    - AllocateVectorWithSpanAllocInfo
    - ASSERT_TRUE
    - ASSERT_EQ
    - AnyOf
    - AllocateVector
    - auto::front
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, HugePageFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2056,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2056,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2057,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2058,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2061,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2062,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2062,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2062,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2066,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2067,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2067,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2067,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2069,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2071,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2073,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2073,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2073,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2075,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2076,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2078,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2080,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2081,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2082,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2084,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2086,1
    - Dst: BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2087,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2054
    functionDepth: 1
    functionLinenumber: 2054
    functionLinenumberEnd: 2089
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - hugepage_frac
    - std::shuffle
    - used_pages
    - ReleasePages
    - std::vector::push_back
    - LengthFromBytes
    - absl::GetFlag
    - Length
    - std::vector::size
    - std::vector::resize
    - std::vector::begin
    - size
    - BytesToMiB
    - Delete
    - printf
    - Allocate
    - std::vector::end
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, DISABLED_ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2095,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2095,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2096,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2096,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2098,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2098,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2098,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2100,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2100,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2100,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2101,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2102,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2102,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2104,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2104,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2106,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2107,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2109,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2109,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2112,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2113,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2113,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2116,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2116,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2116,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2118,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2118,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2118,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2122,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2123,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2123,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2126,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2126,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2126,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2127,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2127,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2128,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2128,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2128,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2131,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2132,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2132,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2133,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2133,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2134,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2134,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2134,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2139,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2139,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2140,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2140,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2143,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2144,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2145,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2146,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2146,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2149,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2149,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2149,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2150,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2150,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2151
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - unmapped_pages
    - Length
    - NHugePages
    - size
    - ASSERT_EQ
    - used_pages
    - auto::empty
    - ReleasePartialPages
    - DeleteVector
    - EXPECT_EQ
    - used_pages_in_released
    - AllocateWithSpanAllocInfo
    - ASSERT_TRUE
    - auto::front
    - used_pages_in_any_subreleased
    - used_pages_in_partial_released
    - AllocateVectorWithSpanAllocInfo
    - Delete
    - AllocateVector
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleasePagesFromPartialAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2155,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2155,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2156,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2156,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2158,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2158,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2158,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2160,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2160,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2160,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2161,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2162,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2162,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2164,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2164,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2165,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2165,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2167,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2168,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2170,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2170,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2173,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2173,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2173,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2174,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2174,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2174,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2177,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2177,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2177,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2179,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2179,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2179,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2180,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2180,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2180,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2183,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2184,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2185,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2185,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2189,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2190,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2190,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2191,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2191,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2194,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2195,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2195,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2196,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2196,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2196,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2197,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2197,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2200,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2201,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2204,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2204,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2205,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2206,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2206,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2207,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2207,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2216,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2216,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2216,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2218,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2218,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2218,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2220,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2221,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2221,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2222,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2223,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2223,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2223,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2224,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2226,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2227,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2227,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2227,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2228,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2228,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2153
    functionDepth: 0
    functionLinenumber: 2153
    functionLinenumberEnd: 2229
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - unmapped_pages
    - Length
    - NHugePages
    - size
    - ASSERT_EQ
    - ReleasePages
    - used_pages
    - auto::empty
    - used_pages_in_released
    - DeleteVector
    - EXPECT_EQ
    - AllocateWithSpanAllocInfo
    - ASSERT_TRUE
    - auto::front
    - used_pages_in_any_subreleased
    - used_pages_in_partial_released
    - AllocateVectorWithSpanAllocInfo
    - Delete
    - AllocateVector
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleaseAccounting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2232,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2233,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2236,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2237,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2237,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2239,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2239,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2241,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2241,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2243,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2244,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2244,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2247,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2248,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2249,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2249,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2254,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2255,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2256,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2256,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2259,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2260,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2261,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2261,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2262,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2262,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2262,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2265,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2265,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2266,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2266,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2266,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2267,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2267,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2267,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2268,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2268,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2268,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2269,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2269,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2269,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2272,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2273,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2275,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2275,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2275,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2276,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2276,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2277,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2277,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2278
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2278
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - unmapped_pages
    - auto::empty
    - Length
    - DeleteVector
    - GTEST_SKIP
    - EXPECT_EQ
    - size
    - AllocateVectorWithSpanAllocInfo
    - ASSERT_TRUE
    - ASSERT_EQ
    - AllocateVector
    - GetParam
    - previously_released_huge_pages
    - NHugePages
    - auto::front
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleaseWithReuse)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2281,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2282,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2284,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2286,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2287,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2287,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2289,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2289,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2291,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2291,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2294,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2294,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2297,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2298,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2298,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2298,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2303,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2303,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2304,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2306,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2306,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2306,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2307,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2307,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2313,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2313,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2314,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2314,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2315,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2315,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2315,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2316,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2316,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2316,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2317,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2320,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2320,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2321,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2324,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2324,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2324,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2325,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2326,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2331,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2332,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2333,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2334,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2334,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2334,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2335,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2338,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2338,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2339,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2341,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2341,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2341,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2342,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2346
      start: 2280
    functionDepth: 1
    functionLinenumber: 2280
    functionLinenumberEnd: 2346
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - GetParam
    - NHugePages
    - size
    - testing::HasSubstr
    - previously_released_huge_pages
    - ASSERT_EQ
    - ReleasePages
    - auto::empty
    - DeleteVector
    - EXPECT_EQ
    - std::string::c_str
    - FakePageFlags::FakePageFlags
    - ASSERT_TRUE
    - std::string::resize
    - std::string::size
    - auto::front
    - std::string::begin
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - AllocateVectorWithSpanAllocInfo
    - Print
    - AllocateVector
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CheckPreviouslyReleasedStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2351,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2352,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2354,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2356,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2357,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2357,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2358,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2358,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2358,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2361,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2361,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2362,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2362,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2362,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2367,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2367,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2368,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2370,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2370,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2370,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2371,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2372,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2378,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2378,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2379,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2379,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2379,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2380,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2380,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2380,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2381,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2384,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2384,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2385,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2388,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2388,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2388,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2389,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2390,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2395,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2396,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2396,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2397,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2397,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2397,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2399,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2402,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2402,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2403,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2405,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2405,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2405,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2406,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2408,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2413,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2414,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2414,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2414,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2415,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2418,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2418,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2419,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2421,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2421,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2421,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2422,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2426
      start: 2350
    functionDepth: 1
    functionLinenumber: 2350
    functionLinenumberEnd: 2426
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - GetParam
    - NHugePages
    - size
    - testing::HasSubstr
    - previously_released_huge_pages
    - ASSERT_EQ
    - ReleasePages
    - auto::empty
    - DeleteVector
    - EXPECT_EQ
    - std::string::c_str
    - FakePageFlags::FakePageFlags
    - ASSERT_TRUE
    - std::string::resize
    - std::string::size
    - auto::front
    - std::string::begin
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - AllocateVectorWithSpanAllocInfo
    - Print
    - AllocateVector
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CheckFullReleasedFullReleasedState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2432,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2433,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2434,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2435,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2435,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2436,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2439,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2441
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - DeleteVector
    - stats
    - EXPECT_LE
    - AllocateVector
    - ASSERT_EQ
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, AvoidArbitraryQuarantineVMGrowth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2451,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2451,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2452,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2452,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2453,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2453,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2463,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2463,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2463,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2465,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2466,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2466,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2471,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2471,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2477
      start: 2443
    functionDepth: 0
    functionLinenumber: 2443
    functionLinenumberEnd: 2477
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Length
    - EXPECT_TRUE
    - DeleteVector
    - ASSERT_GE
    - AllocateVectorWithSpanAllocInfo
    - AllocateVector
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, StronglyPreferNonDonated)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2482,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2483,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2485,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2486,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2489,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2504,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2505,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2506,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2508,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2509,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2511,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2512,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2513,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2518,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2520,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2520,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2521,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2522,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2523,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2524,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2525,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2525,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2528,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2528,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2529,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2531,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2533,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2534,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2536,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2537,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2539,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2540,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2541,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2542,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2543,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2544,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2546,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2546,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2546,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2547,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2548,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2548,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2550,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2550,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2551,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2557,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2558,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2558,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2558,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2558,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2559,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2563,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2563,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2569,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2570,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2571,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2571,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2571,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2572,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2573,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2574,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2578,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2578,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2583,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2584,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2584,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2584,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2584,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2585,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2586,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2590,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2590,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2594,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2595,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2595,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2595,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2595,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2599,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2599,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2604,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2605,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2605,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2605,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2605,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2606,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2607,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2611,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2611,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2616,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2617,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2617,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2617,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2617,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2618,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2619,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2622,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2622,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2627,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2628,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2628,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2628,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2628,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2629,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2633,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2633,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2638,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2639,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2639,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2639,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2639,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2640,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2644,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2644,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2650,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2651,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2652,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2652,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2652,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2653,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2658,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2659,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2659,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2659,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2660,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2661,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2662,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2666,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2666,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2669,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2669,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2670,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2675,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2675,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2676,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2678,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2678,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2678,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2680,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2684
      start: 2479
    functionDepth: 1
    functionLinenumber: 2479
    functionLinenumberEnd: 2684
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - unmapped_pages
    - Length
    - GetParam
    - testing::HasSubstr
    - absl::Milliseconds
    - used_pages
    - absl::Minutes
    - ReleasePartialPages
    - EXPECT_EQ
    - AllocateWithSpanAllocInfo
    - Advance
    - std::string::c_str
    - FakePageFlags::FakePageFlags
    - std::string::resize
    - std::string::size
    - Allocate
    - std::string::begin
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - Delete
    - Print
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, SkipPartialAllocSubrelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2689,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2690,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2693,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2696,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2710,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2711,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2711,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2713,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2713,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2714,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2716,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2717,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2719,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2720,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2720,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2722,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2722,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2724,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2724,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2730,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2731,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2731,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2733,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2733,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2734,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2734,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2735,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2736,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2737,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2738,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2739,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2739,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2739,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2741,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2741,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2742,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2744,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2745,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2745,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2748,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2749,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2749,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2751,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2751,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2754,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2755,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2755,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2757,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2757,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2759,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2760,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2761,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2762,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2763,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2764,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2767,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2767,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2767,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2768,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2768,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2768,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2769,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2769,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2769,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2771,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2771,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2771,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2777,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2778,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2778,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2778,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2778,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2779,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2783,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2783,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2789,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2790,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2791,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2791,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2791,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2792,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2793,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2794,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2798,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2798,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2803,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2804,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2804,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2804,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2804,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2805,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2806,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2810,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2810,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2814,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2815,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2815,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2815,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2815,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2819,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2819,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2824,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2825,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2825,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2825,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2825,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2826,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2827,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2831,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2831,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2836,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2837,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2837,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2837,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2837,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2839,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2842,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2842,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2847,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2848,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2848,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2848,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2848,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2849,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2853,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2853,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2858,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2859,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2859,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2859,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2859,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2860,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2864,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2864,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2870,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2871,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2872,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2872,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2872,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2873,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2878,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2879,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2879,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2879,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2880,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2881,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2882,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2886,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2886,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2889,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2889,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2890,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2895,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2895,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2896,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2898,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2898,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2898,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2904
      start: 2686
    functionDepth: 1
    functionLinenumber: 2686
    functionLinenumberEnd: 2904
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - unmapped_pages
    - Length
    - raw_num
    - testing::HasSubstr
    - std::vector::front
    - absl::Milliseconds
    - used_pages
    - absl::Minutes
    - ReleasePartialPages
    - DeleteVector
    - EXPECT_EQ
    - Advance
    - std::string::c_str
    - FakePageFlags::FakePageFlags
    - ASSERT_TRUE
    - std::string::resize
    - std::string::size
    - Allocate
    - std::vector::empty
    - std::string::begin
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - AllocateVectorWithSpanAllocInfo
    - Delete
    - Print
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, SkipPartialAllocSubrelease_SpansAllocated)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2909,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2912,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2913,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2916,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2931,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2932,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2933,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2935,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2936,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2938,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2939,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2940,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2945,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2947,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2947,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2948,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2949,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2950,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2952,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2952,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2952,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2954,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2954,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2955,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2957,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2959,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2960,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2962,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2963,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2965,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2966,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2967,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2968,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2969,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2970,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2972,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2972,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2972,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2973,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2973,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2974,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2974,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2974,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2975,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2975,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2975,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2981,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2982,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2982,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2982,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2982,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2983,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2987,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2987,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2993,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2994,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2995,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2995,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2995,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2996,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2997,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2998,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3002,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3002,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3007,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3008,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3008,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3008,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3008,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3009,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3010,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3014,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3014,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3018,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3019,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3019,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3019,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3019,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3023,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3023,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3028,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3029,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3029,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3029,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3029,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3030,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3031,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3035,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3035,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3040,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3041,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3041,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3041,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3041,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3042,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3043,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3046,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3046,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3051,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3052,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3052,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3052,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3052,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3053,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3057,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3057,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3062,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3063,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3063,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3063,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3063,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3064,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3068,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3068,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3074,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3075,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3076,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3076,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3076,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3077,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3082,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3083,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3083,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3083,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3084,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3085,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3086,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3090,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3090,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3093,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3093,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3094,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3099,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3099,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3100,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3102,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3102,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3102,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3104,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3108
      start: 2906
    functionDepth: 1
    functionLinenumber: 2906
    functionLinenumberEnd: 3108
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - unmapped_pages
    - Length
    - GetParam
    - testing::HasSubstr
    - absl::Milliseconds
    - ReleasePages
    - used_pages
    - absl::Minutes
    - EXPECT_EQ
    - AllocateWithSpanAllocInfo
    - Advance
    - std::string::c_str
    - FakePageFlags::FakePageFlags
    - std::string::resize
    - std::string::size
    - Allocate
    - std::string::begin
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - Delete
    - Print
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, SkipSubrelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3113,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3114,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3117,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3118,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3134,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3135,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3135,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3137,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3137,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3138,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3140,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3141,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3143,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3144,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3144,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3146,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3146,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3148,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3148,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3154,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3155,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3155,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3157,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3158,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3158,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3159,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3160,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3161,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3162,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3163,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3163,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3165,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3165,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3166,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3168,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3171,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3172,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3172,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3174,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3174,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3177,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3178,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3178,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3180,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3180,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3182,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3183,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3184,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3185,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3186,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3189,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3190,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3190,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3191,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3192,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3192,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3192,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3198,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3199,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3199,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3199,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3199,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3200,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3204,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3204,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3210,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3211,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3212,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3212,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3212,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3213,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3214,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3215,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3219,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3219,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3224,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3225,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3225,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3225,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3225,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3226,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3227,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3231,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3231,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3235,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3236,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3236,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3236,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3236,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3240,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3240,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3245,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3246,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3246,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3246,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3246,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3247,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3248,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3252,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3252,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3257,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3258,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3258,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3258,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3258,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3259,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3260,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3263,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3263,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3268,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3269,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3269,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3269,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3269,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3270,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3274,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3274,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3279,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3280,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3280,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3280,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3280,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3281,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3285,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3285,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3291,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3292,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3293,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3293,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3293,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3294,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3299,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3300,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3300,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3300,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3301,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3302,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3303,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3307,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3307,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3310,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3310,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3311,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3316,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3316,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3317,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3319,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3319,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3319,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3321,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3325
      start: 3110
    functionDepth: 1
    functionLinenumber: 3110
    functionLinenumberEnd: 3325
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - unmapped_pages
    - Length
    - raw_num
    - testing::HasSubstr
    - std::vector::front
    - absl::Milliseconds
    - ReleasePages
    - used_pages
    - absl::Minutes
    - DeleteVector
    - EXPECT_EQ
    - Advance
    - std::string::c_str
    - FakePageFlags::FakePageFlags
    - ASSERT_TRUE
    - std::string::resize
    - std::string::size
    - Allocate
    - std::vector::empty
    - std::string::begin
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - AllocateVectorWithSpanAllocInfo
    - Delete
    - Print
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, SkipSubrelease_SpansAllocated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3330,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3330,1
    - Dst: PAlloc::pt::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3331,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3332,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3332,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3333,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3333,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3334,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3335,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3335,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3336,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3337,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3337,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3338,1
    - Dst: PAlloc::pt::last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3338,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3340,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3340,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3342,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3343,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3344,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3345,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3345,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3346,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3346,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3347,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3347,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3347,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3348,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3349,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3350,1
    - Dst: PAlloc::pt::last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3350,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3351,1
    - Dst: GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3351,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3353,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3353,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3355,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3357,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3357,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3358,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3358,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3359,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3359,1
    - Dst: GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3360,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3361,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3361,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3361,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3362,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3363,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3364,1
    - Dst: PAlloc::pt::last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3364,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3365,1
    - Dst: GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3365,1
    - Dst: ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3368,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3371,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3371,1
    - Dst: PAlloc::pt::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3372,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3373,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3374,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3374,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3375,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3375,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3376,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3376,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3377,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3377,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3377,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3378,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3378,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3381,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3381,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3382,1
    - Dst: PAlloc::pt::last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3382,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3384,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3384,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3386,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3386,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3387,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3387,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3388,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3388,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3389,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3389,1
    - Dst: GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3390,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3391,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3391,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3391,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3392,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3392,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3393,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3393,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3394,1
    - Dst: PAlloc::pt::last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3394,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3395,1
    - Dst: GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3395,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3397,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3397,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3399,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3399,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3400,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3400,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3401,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3401,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3402,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3402,1
    - Dst: GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3403,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3404,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3404,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3404,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3405,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3405,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3406,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3406,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3407,1
    - Dst: PAlloc::pt::last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3407,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3408,1
    - Dst: GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3408,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3410,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3411,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3412,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3414,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3415,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3419
      start: 3327
    functionDepth: 1
    functionLinenumber: 3327
    functionLinenumberEnd: 3419
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - PAlloc::pt::features
    - EXPECT_FLOAT_EQ
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_NE
    - Length
    - EXPECT_EQ
    - static_cast<uint64_t>
    - AllocateWithSpanAllocInfo
    - PAlloc::pt::SetTagState
    - Advance
    - ResetClock
    - AllocateVectorWithSpanAllocInfo
    - Delete
    - PAlloc::pt::last_page_allocation_time
    - GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, RecordFeatureVectorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3422,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3426,1
    - Dst: PAlloc::pt::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3427,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3431,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3431,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3432,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3434,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3434,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3434,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3435,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3435,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3439,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3439,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3441,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3442,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3443,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3443,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3444,1
    - Dst: PAlloc::pt::last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3444,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3445,1
    - Dst: GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3445,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3446,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3446,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3449,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3449,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3450,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3452,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3452,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3452,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3453,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3453,1
    - Dst: ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3457,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3459,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3459,1
    - Dst: PAlloc::pt::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3460,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3461,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3461,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3464,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3464,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3465,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3467,1
    - Dst: PAlloc::pt::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3467,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3470,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3470,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3471,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3473,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3473,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3477,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3477,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3479,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3479,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3482,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3482,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3483,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3485,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3485,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3485,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3488,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3488,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3492,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3493,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3494,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3495,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3421
    functionDepth: 1
    functionLinenumber: 3421
    functionLinenumberEnd: 3500
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - static_cast<uint64_t>
    - PAlloc::pt::location
    - GetFakeClockFrequency
    - FakePageFlags::MarkHugePageBacked
    - PAlloc::pt::features
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - PAlloc::pt::SetTagState
    - testing::HasSubstr
    - EXPECT_EQ
    - AllocateWithSpanAllocInfo
    - Advance
    - std::string::c_str
    - ResetClock
    - FakePageFlags::FakePageFlags
    - std::string::resize
    - std::string::size
    - PAlloc::pt::last_page_allocation_time
    - std::string::begin
    - strlen
    - EXPECT_THAT
    - AllocateVectorWithSpanAllocInfo
    - Print
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, PrintFeatureVectorTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3505,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3506,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3508,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3509,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3512,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3515,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3517,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3522,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3522,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3523,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3525,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3525,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3525,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3526,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3526,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3642,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3642,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3645,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3645,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3646,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3649,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3649,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3655,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3655,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3662,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3662,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3673,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3675
      start: 3502
    functionDepth: 1
    functionLinenumber: 3502
    functionLinenumberEnd: 3675
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - std::string::begin
    - strlen
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Length
    - GTEST_SKIP
    - AllocateWithSpanAllocInfo
    - EXPECT_THAT
    - std::string::c_str
    - Advance
    - testing::HasSubstr
    - Print
    - FakePageFlags::FakePageFlags
    - Delete
    - GetParam
    - std::string::size
    - std::string::resize
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, LifetimeTelemetryTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3678,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3679,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3692,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3693,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3693,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3694,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3695,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3697,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3697,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3699,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3700,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3700,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3701,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3701,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3704,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3706,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3706,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3707,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3707,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3708,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3708,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3709,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3709,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3716,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3716,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3717,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3718,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3719,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3720,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3721,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3722,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3724
      start: 3677
    functionDepth: 0
    functionLinenumber: 3677
    functionLinenumberEnd: 3724
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - absl::Minutes
    - ReleasePages
    - Length
    - DeleteVector
    - GTEST_SKIP
    - EXPECT_EQ
    - Advance
    - AllocateVectorWithSpanAllocInfo
    - ASSERT_TRUE
    - std::vector::front
    - AllocateVector
    - GetParam
    - std::vector::empty
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, SkipSubreleaseDemandPeak)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3735,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3736,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3738,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3739,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3742,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3748,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3749,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3750,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3751,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3752,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3753,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3753,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3754,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3755,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3756,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3758,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3758,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3760,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3761,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3762,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3763,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3763,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3764,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3765,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3766,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3766,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3767,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3767,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3767,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3768,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3769,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3770,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3771,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3772,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3772,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3772,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3773,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3773,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3774,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3774,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3776,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3776,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3778,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3778,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3783,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3784,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3785,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3786,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3787,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3787,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3788,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3789,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3790,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3791,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3792,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3793,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3793,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3794,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3795,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3796,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3797,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3798,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3800,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3800,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3801,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3801,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3802,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3802,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3802,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3803,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3803,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3803,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3804,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3804,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3806,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3806,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3807,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3811,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3811,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3812,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3814,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3814,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3814,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3816,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3820
      start: 3726
    functionDepth: 1
    functionLinenumber: 3726
    functionLinenumberEnd: 3820
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - unmapped_pages
    - Length
    - GetParam
    - testing::HasSubstr
    - ReleasePages
    - absl::Minutes
    - used_pages
    - EXPECT_EQ
    - AllocateWithSpanAllocInfo
    - Advance
    - std::string::c_str
    - FakePageFlags::FakePageFlags
    - std::string::resize
    - std::string::size
    - Allocate
    - std::string::begin
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - Delete
    - Print
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReportSkipSubreleases)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3831,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3832,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3836,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3841,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3842,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3842,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3844,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3844,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3845,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3846,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3848,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3848,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3850,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3850,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3851,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3851,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3852,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3853,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3854,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3855,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3857,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3859,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3860,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3861,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3862,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3862,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3864,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3864,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3865,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3865,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3866,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3867,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3867,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3867,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3868,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3869,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3870,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3872,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3872,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3873,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3873,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3874,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3874,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3874,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3876,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3876,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3878,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3878,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3883,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3884,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3884,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3886,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3886,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3887,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3888,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3888,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3890,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3890,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3891,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3891,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3892,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3893,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3894,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3895,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3896,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3897,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3897,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3898,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3899,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3900,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3900,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3901,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3902,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3903,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3904,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3904,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3905,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3905,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3906,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3906,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3907,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3907,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3907,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3908,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3908,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3910,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3910,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3911,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3914,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3916,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3916,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3917,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3919,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3919,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3919,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3921,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3925
      start: 3822
    functionDepth: 1
    functionLinenumber: 3822
    functionLinenumberEnd: 3925
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - unmapped_pages
    - Length
    - raw_num
    - testing::HasSubstr
    - std::vector::front
    - ReleasePages
    - absl::Minutes
    - used_pages
    - DeleteVector
    - EXPECT_EQ
    - Advance
    - std::string::c_str
    - ASSERT_TRUE
    - FakePageFlags::FakePageFlags
    - std::string::resize
    - std::string::size
    - Allocate
    - std::vector::empty
    - std::string::begin
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - AllocateVectorWithSpanAllocInfo
    - Delete
    - Print
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReportSkipSubreleases_SpansAllocated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3929,1
    - Dst: FillerTest::AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3932,1
    - Dst: FillerTest::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3932,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3932,1
    - Dst: FillerTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3935,1
    - Dst: FillerTest::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3935,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3935,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3940,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3942,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3942,1
    - Dst: FillerTest::AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3943,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3944,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3945,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3945,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3945,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3945,1
    - Dst: FillerTest::AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3946,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3946,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3948,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3948,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3948,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3948,1
    - Dst: FillerTest::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3952,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3952,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3953,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3953,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3953,1
    - Dst: FillerTest::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3954,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3955,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3955,1
    - Dst: FillerTest::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3956,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3957,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3957,1
    - Dst: FillerTest::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3958,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3958,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3959,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3959,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3959,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3963,1
    - Dst: FillerTest::AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3964,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3964,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3965,1
    - Dst: FillerTest::AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3966,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3966,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3970,1
    - Dst: FillerTest::AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3970,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3973
      start: 3927
    functionDepth: 4
    functionLinenumber: 3927
    functionLinenumberEnd: 3973
    functionName: FillerTest::GenerateInterestingAllocs
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FillerTest::AllocateVectorWithSpanAllocInfo
    - raw_num
    - FillerTest::ReleasePages
    - FillerTest::AllocateWithSpanAllocInfo
    - Length
    - std::vector::insert
    - EXPECT_EQ
    - EXPECT_TRUE
    - std::vector::push_back
    - std::vector::begin
    - FillerTest::Delete
    - std::vector::end
    linkageType: ''
    returnType: std::vector<FillerTest::PAlloc>
    signature: std::vector<FillerTest::PAlloc> FillerTest::GenerateInterestingAllocs()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3978,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3979,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3982,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3982,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3984,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3988,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3990,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3990,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3991,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3995,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3995,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3996,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4001,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4001,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4001,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4001,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4002,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4002,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4002,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4002,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4005,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4005,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4005,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4005,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4006,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4006,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4006,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4006,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4009,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4009,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4010,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4011,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4011,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4012,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4013,1
    - Dst: SubreleaseStats::total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4013,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4015,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4016,1
    - Dst: SubreleaseStats::num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4016,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4017,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4017,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4018,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4018,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4020,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4021,1
    - Dst: SubreleaseStats::num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4021,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4022,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4022,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4023,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4023,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4028,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4028,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4028,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4032,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4032,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4033,1
    - Dst: SubreleaseStats::total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4033,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4034,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4034,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4035,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4035,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4037,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4038,1
    - Dst: SubreleaseStats::total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4039,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4039,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4040,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4040,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4042,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4042,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4043,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4043,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4044,1
    - Dst: SubreleaseStats::num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4048,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4048,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4048,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4048,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4049,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4049,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4049,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4049,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4050,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4050,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4050,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4050,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4052,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4052,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4052,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4052,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4053,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4053,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4053,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4053,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4054,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4054,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4054,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4054,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4057,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4059,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4059,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4060,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4060,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4061,1
    - Dst: SubreleaseStats::total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4061,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4062,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4062,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4063,1
    - Dst: SubreleaseStats::num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4063,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4064,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4064,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4065,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4065,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4068,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4068,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4071,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4071,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4071,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4073,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4075,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4075,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4076,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4077,1
    - Dst: SubreleaseStats::total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4077,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4078,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4079,1
    - Dst: SubreleaseStats::num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4080,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4080,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4081,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4081,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4083,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4083,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4084,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4085,1
    - Dst: SubreleaseStats::total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4085,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4086,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4087,1
    - Dst: SubreleaseStats::num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4088,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4088,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4089,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4089,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4093,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4096,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4096,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4097,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4098,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4098,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4102,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4104,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4108,1
    - Dst: testing::EndsWith
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4110,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4116,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4118
      start: 3977
    functionDepth: 1
    functionLinenumber: 3977
    functionLinenumberEnd: 4118
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Printer::SpaceRequired
    - SubreleaseStats::num_hugepages_broken::raw_num
    - GetParam
    - subrelease_stats
    - testing::EndsWith
    - testing::HasSubstr
    - SubreleaseStats::total_hugepages_broken::raw_num
    - ReleasePages
    - absl::Minutes
    - DeleteVector
    - EXPECT_EQ
    - ASSERT_THAT
    - Advance
    - std::string::erase
    - FakePageFlags::FakePageFlags
    - std::string::size
    - std::string::begin
    - std::vector::push_back
    - GTEST_SKIP
    - absl::Bernoulli
    - SCOPED_TRACE
    - absl::Uniform<size_t>
    - AllocateVectorWithSpanAllocInfo
    - Print
    - HardReleasePages
    - absl::StrCat
    - SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CheckSubreleaseStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4123,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4123,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4126,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4130,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4132,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4136,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4136,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4137,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4138,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4139,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4139,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4146,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4146,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4146,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4147,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4147,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4149,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4149,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4150,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4151,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4152,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4153,1
    - Dst: SubreleaseStats::total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4154,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4155,1
    - Dst: SubreleaseStats::num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4156,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4156,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4157,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4157,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4161,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4161,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4161,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4164,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4165,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4165,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4166,1
    - Dst: SubreleaseStats::total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4166,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4167,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4168,1
    - Dst: SubreleaseStats::num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4169,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4170,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4173,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4173,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4173,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4174,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4174,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4174,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4175,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4175,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4175,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4175,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4177,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4178,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4179,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4180,1
    - Dst: SubreleaseStats::total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4180,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4181,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4181,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4182,1
    - Dst: SubreleaseStats::num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4183,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4183,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4184,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4184,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4186,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4189,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4189,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4189,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4192,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4194,1
    - Dst: SubreleaseStats::total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4195,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4196,1
    - Dst: SubreleaseStats::num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4196,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4197,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4198,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4198,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4201,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4204,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4204,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4205,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4206,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4206,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4209,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4211,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4215,1
    - Dst: testing::EndsWith
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4215,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4223
      start: 4120
    functionDepth: 1
    functionLinenumber: 4120
    functionLinenumberEnd: 4223
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Printer::SpaceRequired
    - SubreleaseStats::num_hugepages_broken::raw_num
    - subrelease_stats
    - testing::EndsWith
    - testing::HasSubstr
    - SubreleaseStats::total_hugepages_broken::raw_num
    - ReleasePages
    - absl::Minutes
    - DeleteVector
    - EXPECT_EQ
    - ASSERT_THAT
    - Advance
    - std::string::erase
    - FakePageFlags::FakePageFlags
    - std::string::size
    - std::string::begin
    - std::vector::push_back
    - absl::Bernoulli
    - absl::Uniform<size_t>
    - AllocateVectorWithSpanAllocInfo
    - Print
    - HardReleasePages
    - SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CheckSubreleaseStats_SpansAllocated)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4226,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4227,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4230,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4230,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4234,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4234,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4236,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4236,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4238,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4238,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4242,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4242,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4242,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4243,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4243,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4243,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4244,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4246,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4246,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4247,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4247,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4247,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4247,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4248,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4249,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4249,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4249,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4249,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4251,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4251,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4255,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4257,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4258,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4258,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4259,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4260,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4263,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4266,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4266,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4267,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4268,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4268,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4271,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4271,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4271,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4271,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4275,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4275,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4275,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4276,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4279,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4280,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4280,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4281,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4281,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4282,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4286,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4287,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4292,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4294
      start: 4225
    functionDepth: 1
    functionLinenumber: 4225
    functionLinenumberEnd: 4294
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::back
    - Length
    - std::vector::insert
    - Printer::SpaceRequired
    - GetParam
    - NHugePages
    - raw_num
    - HugeLength::raw_num
    - std::vector::begin
    - size
    - testing::HasSubstr
    - ASSERT_EQ
    - ReleasePages
    - std::vector::swap
    - ASSERT_THAT
    - std::string::erase
    - FakePageFlags::FakePageFlags
    - std::string::size
    - Allocate
    - std::vector::end
    - std::vector::reserve
    - std::string::begin
    - std::vector::push_back
    - GTEST_SKIP
    - absl::Uniform<size_t>
    - AllocateVectorWithSpanAllocInfo
    - Delete
    - Print
    - absl::StrCat
    - free_pages
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ConstantBrokenHugePages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4300,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4301,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4301,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4304,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4304,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4305,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4306,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4307,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4310,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4313,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4313,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4314,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4318,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4323,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4325
      start: 4298
    functionDepth: 1
    functionLinenumber: 4298
    functionLinenumberEnd: 4325
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - std::string::begin
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Length
    - DeleteVector
    - Printer::SpaceRequired
    - Advance
    - EXPECT_LE
    - PrintInPbtxt
    - FakePageFlags::FakePageFlags
    - AllocateVector
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CheckBufferSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4328,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4329,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4334,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4334,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4340,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4340,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4342,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4342,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4345,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4345,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4348,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4348,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4350,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4351,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4351,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4352,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4353,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4354,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4354,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4355,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4358,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4358,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4361,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4366,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4369,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4369,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4370,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4370,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4377,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4377,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4378,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4378,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4379,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4380,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4385,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4389,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4390,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4397,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4400,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4401,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4401,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4401,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4402,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4403,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4403,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4408,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4408,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4408,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4409,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4410,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4410,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4413,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4413,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4414,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4424,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4424,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4428,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4430
      start: 4327
    functionDepth: 0
    functionLinenumber: 4327
    functionLinenumberEnd: 4430
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::reserve
    - ASSERT_LE
    - Length
    - Length::raw_num
    - GetParam
    - NHugePages
    - raw_num
    - absl::LogUniform<size_t>
    - released
    - HugeLength::raw_num
    - size
    - push_back
    - std::vector::front
    - absl::StrJoin
    - EXPECT_FALSE
    - ASSERT_EQ
    - ReleasePages
    - auto::raw_num
    - used_pages
    - DeleteVector
    - EXPECT_TRUE
    - ASSERT_TRUE
    - std::vector::empty
    - std::vector::reserve
    - std::vector::push_back
    - GTEST_SKIP
    - absl::flat_hash_set::insert
    - absl::Uniform<size_t>
    - AllocateVectorWithSpanAllocInfo
    - AllocateVector
    - absl::StrCat
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleasePriority)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4434,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4434,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4435,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4435,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4436,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4436,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4436,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4438,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4440,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4440,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4440,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4444,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4444,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4445,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4445,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4445,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4450,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4461
      start: 4432
    functionDepth: 0
    functionLinenumber: 4432
    functionLinenumberEnd: 4461
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - auto::empty
    - Length
    - DeleteVector
    - EXPECT_EQ
    - AllocateWithSpanAllocInfo
    - size
    - Delete
    - ASSERT_TRUE
    - AllocateVector
    - HardReleasePages
    - NHugePages
    - auto::front
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, b258965495)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4464,1
    - Dst: GenerateInterestingAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4473,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4475,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4477,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4477,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4480,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4482,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4483,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4485,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4486,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4486,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4487,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4487,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4490,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4492,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4492,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4493,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4493,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4495,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4496,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4496,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4497,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4497,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4500,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4500,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4503,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4506,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4506,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4509,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4509,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4511,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4511,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4513,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4514,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4519
      start: 4463
    functionDepth: 0
    functionLinenumber: 4463
    functionLinenumberEnd: 4519
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - GetStats
    - Length
    - EXPECT_EQ
    - EXPECT_GE
    - Delete
    - GenerateInterestingAllocs
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CheckFillerStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4522,1
    - Dst: GenerateInterestingAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4531,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4533,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4535,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4538,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4540,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4541,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4543,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4544,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4544,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4545,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4548,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4550,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4551,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4553,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4554,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4554,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4555,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4558,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4558,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4561,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4564,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4567,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4567,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4569,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4571,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4572,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4577
      start: 4521
    functionDepth: 0
    functionLinenumber: 4521
    functionLinenumberEnd: 4577
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - GetStats
    - Length
    - EXPECT_EQ
    - EXPECT_GE
    - Delete
    - GenerateInterestingAllocs
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CheckFillerStats_SpansAllocated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4583,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4584,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4585,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4586,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4587,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4588,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4589,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4589,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4590,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4590,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4591,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4591,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4592,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4592,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4592,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4594,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4596,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4596,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4598,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4598,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4598,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4604,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4604,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4605,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4606,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4606,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4608,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4608,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4617,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4618,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4620
      start: 4579
    functionDepth: 1
    functionLinenumber: 4579
    functionLinenumberEnd: 4620
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - FakePageFlags::IsHugepageBacked
    - Printer::SpaceRequired
    - NHugePages
    - p::start_addr
    - FakePageFlags::MarkHugePageBacked
    - size
    - testing::HasSubstr
    - ASSERT_EQ
    - DeleteVector
    - EXPECT_TRUE
    - std::string::erase
    - ASSERT_TRUE
    - FakePageFlags::FakePageFlags
    - std::string::size
    - std::vector::empty
    - std::string::begin
    - EXPECT_THAT
    - AllocateVectorWithSpanAllocInfo
    - Print
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, PrintHugepageBackedStats)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4625,1
    - Dst: GenerateInterestingAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4634,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4637,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4640,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4640,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4641,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4642,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4642,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4645,1
    - Dst: StrEq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4647,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4964,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4966,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4966,1
    - Dst: ForEachHugePage
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4971,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4974,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4976,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4976,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4980,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4980,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4983,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4984,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4984,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4987,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4989
      start: 4624
    functionDepth: 1
    functionLinenumber: 4624
    functionLinenumberEnd: 4989
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - contains
    - Length
    - Printer::SpaceRequired
    - capacity
    - GenerateInterestingAllocs
    - size
    - reserve
    - EXPECT_FALSE
    - std::string::erase
    - FakePageFlags::FakePageFlags
    - insert
    - std::string::size
    - std::string::begin
    - Eq
    - ForEachHugePage
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - Print
    - Delete
    - StrEq
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, Print)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5000,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5002,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5003,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5003,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5004,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5004,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5007,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5008,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5009,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5009,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5010,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5011,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5012,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5014,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5015,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5016,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5017,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5018,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5021,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5021,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5022,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5022,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5022,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5025,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5027,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5027,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5028,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5030,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5032,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5032,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5033,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5034,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5034,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5035
      start: 4994
    functionDepth: 0
    functionLinenumber: 4994
    functionLinenumberEnd: 5035
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - HugeLength::in_pages
    - Length
    - std::vector::push_back
    - pages_allocated
    - absl::Bernoulli
    - EXPECT_EQ
    - std::vector::size
    - AllocateWithSpanAllocInfo
    - size
    - EXPECT_GE
    - EXPECT_LE
    - Delete
    - NHugePages
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, GetsAndPuts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5044,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5046,1
    - Dst: auto::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5046,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5047,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5050,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5052,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5052,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5054,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5054,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5054,1
    - Dst: front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5056,1
    - Dst: released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5056,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5058,1
    - Dst: get_released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5058,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5059,1
    - Dst: get_released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5059,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5059,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5060,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5060,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5060,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5061,1
    - Dst: get_released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5061,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5062,1
    - Dst: get_released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5062,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5063,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5065
      start: 5039
    functionDepth: 0
    functionLinenumber: 5039
    functionLinenumberEnd: 5065
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - auto::size
    - released_pages
    - get_released_pages
    - Length
    - DeleteVector
    - EXPECT_EQ
    - AllocateVectorWithSpanAllocInfo
    - auto::front
    - ASSERT_EQ
    - ReleasePages
    - front
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleasePrioritySparseAndDenseAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5074,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5074,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5075,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5078,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5079,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5079,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5081,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5081,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5081,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5084,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5085,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5085,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5085,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5087,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5087,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5088,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5089,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5091,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5093,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5094,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5097,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5097,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5098,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5100,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5101,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5101,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5104
      start: 5071
    functionDepth: 0
    functionLinenumber: 5071
    functionLinenumberEnd: 5104
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::back
    - Length
    - pages_allocated
    - std::vector::begin
    - size
    - std::vector::pop_back
    - ReleasePages
    - used_pages
    - LengthFromBytes
    - absl::GetFlag
    - EXPECT_EQ
    - std::vector::resize
    - EXPECT_LE
    - Allocate
    - std::vector::empty
    - std::vector::end
    - std::shuffle
    - std::vector::push_back
    - std::vector::size
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, BoundedVSS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5112,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5116,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5120,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5120,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5120,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5126,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5129,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5132,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5134
      start: 5109
    functionDepth: 0
    functionLinenumber: 5109
    functionLinenumberEnd: 5134
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - EXPECT_NE
    - Length
    - DeleteVector
    - EXPECT_EQ
    - AllocateVectorWithSpanAllocInfo
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CounterUnderflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5147,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5149,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5152,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5154,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5154,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5160,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5162,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5164,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5164,1
    - Dst: DeleteRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5168,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5168,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5168,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5168,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5169,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5169,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5169,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5174,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5174,1
    - Dst: DeleteRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5178,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5178,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5178,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5178,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5179,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5179,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5179,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5185,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5186,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5186,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5186,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5191
      start: 5141
    functionDepth: 0
    functionLinenumber: 5141
    functionLinenumberEnd: 5191
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - erase
    - Length
    - std::vector::insert
    - begin
    - EXPECT_EQ
    - DeleteVector
    - Length::raw_num
    - AllocateVectorWithSpanAllocInfo
    - free_pages
    - end
    - std::vector::end
    - DeleteRange
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleasePagesFromDenseAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5199,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5202,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5206,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5207,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5207,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5207,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5207,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5208,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5210,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5210,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5210,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5211,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5215,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5220,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5220,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5224,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5226,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5226,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5226,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5227,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5234,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5237,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5238,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5238,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5238,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5238,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5239,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5241,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5241,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5241,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5242,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5246,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5252,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5253,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5253,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5253,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5256,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5259
      start: 5193
    functionDepth: 0
    functionLinenumber: 5193
    functionLinenumberEnd: 5259
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - Length
    - std::vector::insert
    - DeleteVector
    - EXPECT_EQ
    - std::vector::begin
    - AllocateVectorWithSpanAllocInfo
    - Delete
    - free_pages
    - std::vector::end
    - ReleasePages
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleasePagesFromDenseAlloc_SpansAllocated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5264,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5265,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5265,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5267,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5269,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5269,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5272,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5273,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5274,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5274,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5275,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5275,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5276,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5276,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5281,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5285,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5285,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5286,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5287,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5287,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5288,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5289,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5289,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5295,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5296,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5296,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5297,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5297,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5298,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5298,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5301
      start: 5261
    functionDepth: 0
    functionLinenumber: 5261
    functionLinenumberEnd: 5301
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - used_pages_in_any_subreleased
    - used_pages
    - EXPECT_NE
    - Length
    - used_pages_in_released
    - EXPECT_EQ
    - DeleteVector
    - size
    - AllocateVectorWithSpanAllocInfo
    - ASSERT_TRUE
    - free_pages
    - AllocateVector
    - NHugePages
    - std::vector::front
    - std::vector::empty
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleasedPagesStatistics)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5311,1
    - Dst: SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5312
      start: 5308
    functionDepth: 0
    functionLinenumber: 5308
    functionLinenumberEnd: 5312
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 1
    functionsReached:
    - EXPECT_FALSE
    - SkipSubreleaseEnabled
    linkageType: ''
    returnType: void
    signature: void TEST(SkipSubreleaseIntervalsTest, EmptyIsNotEnabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:54,1
    - Dst: std::make_unique<AlignedPtr>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:54,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:55,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - std::make_unique<AlignedPtr>
    - push_back
    - back
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * Alloc(size_t size, std::align_val_t alignment = kAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ptr
    - alignment
    argTypes:
    - void*
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::AlignedPtr
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignedPtr(void* ptr, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ~AlignedPtr()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ~AlignedPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::ArenaBasedFakeTransferCacheManager
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaBasedFakeTransferCacheManager()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * Alloc(size_t size, std::align_val_t alignment = kAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::used
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t used() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::SetPartialLegacyTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPartialLegacyTransferCache(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::UseGenericCache
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseGenericCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::SetGenericCache
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetGenericCache(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::EnableCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EnableCacheForLargeClassesOnly()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::SetCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCacheForLargeClassesOnly(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::FakeTransferCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void FakeTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ~FakeTransferCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~FakeTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - ShrinkCache
    linkageType: ''
    returnType: bool
    signature: bool Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - IncreaseCacheCapacity
    linkageType: ''
    returnType: bool
    signature: bool Grow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:157,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:158,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:159,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:159,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:160,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - std::vector::resize
    - central_freelist
    - std::min
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void Insert(int n, int batch = kBatchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:168,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:169,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:170,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:170,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:172,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:173,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:174,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - ASSERT_LE
    - absl::MakeSpan
    - std::vector::resize
    - RemoveRange
    - static_cast<size_t>
    - central_freelist
    - std::min
    linkageType: ''
    returnType: void
    signature: void Remove(int n, int batch = kBatchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
    linkageType: ''
    returnType: void
    signature: void TryPlunder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:181,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc_length
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:188,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:190,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:192,1
    - Dst: HasSpareCapacity
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:194,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:196,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:196,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:198,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:198,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:200,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:202,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 206
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    - HasSpareCapacity
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: '& transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TransferCache
    signature: TransferCache & transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: '& central_freelist()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - freelist
    linkageType: ''
    returnType: FreeList
    signature: FreeList & central_freelist()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:237,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:237,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:238,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:238,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:239,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::TwoSizeClassManager
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::make_unique<TransferCache>
    linkageType: ''
    returnType: void
    signature: void TwoSizeClassManager()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TwoSizeClassManager::InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::TwoSizeClassManager::InsertRange
    linkageType: ''
    returnType: void
    signature: void InsertRange(int size_class, absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TwoSizeClassManager::RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::TwoSizeClassManager::RemoveRange
    linkageType: ''
    returnType: int
    signature: int RemoveRange(int size_class, absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TwoSizeClassManager::tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::tc_length
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::TwoSizeClassManager::tc_length
    linkageType: ''
    returnType: size_t
    signature: size_t tc_length(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TwoSizeClassManager::GetStats
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::TwoSizeClassManager::GetStats
    linkageType: ''
    returnType: TransferCacheStats
    signature: TransferCacheStats GetStats(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:285,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - shards
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void Init(int shards)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:291,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::SetCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void SetCurrentCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::NumShards
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned NumShards()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::CurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CurrentCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::CpuShard
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: unsigned
    signature: unsigned CpuShard(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitCaches
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: tcmalloc::tcmalloc_internal::FakeMultiClassTransferCacheManager::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - InitCaches
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::MultiSizeClassTransferCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void MultiSizeClassTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: ~MultiSizeClassTransferCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~MultiSizeClassTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:332,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:335,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:336,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:338,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:338,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:339,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:340,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:341,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size_class
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - ASSERT_LE
    - absl::MakeSpan
    - std::vector::resize
    - std::min<int>
    - central_freelist
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void Insert(int size_class, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:347,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:350,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:351,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:353,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:353,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:355,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:356,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:357,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size_class
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - ASSERT_LE
    - absl::MakeSpan
    - std::vector::resize
    - RemoveRange
    - std::min<int>
    - static_cast<size_t>
    - central_freelist
    - num_objects_to_move
    linkageType: ''
    returnType: void
    signature: void Remove(int size_class, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:365,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc_length
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:372,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:373,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:374,1
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:376,1
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    - absl::Uniform
    - absl::Uniform<size_t>
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
    - num_objects_to_move
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 382
    functionName: '& transfer_cache_manager()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & transfer_cache_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: '& central_freelist(int size_class)'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - central_freelist
    linkageType: ''
    returnType: FreeList
    signature: FreeList & central_freelist(int size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetGenericCache
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:403,1
    - Dst: SetCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:405,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:408,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - num_shards
    - use_generic_cache
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 410
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::FakeShardedTransferCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - SetCacheForLargeClassesOnly
    - Init
    - SetGenericCache
    linkageType: ''
    returnType: void
    signature: "void FakeShardedTransferCacheEnvironment(int num_shards,\n                                               bool
      use_generic_cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: ~FakeShardedTransferCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~FakeShardedTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:415,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:418,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:420,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cpu
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 423
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Pop
    - central_freelist
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
    linkageType: ''
    returnType: void
    signature: void Remove(int cpu, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:427,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc_length
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 431
    functionName: '& sharded_manager()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: '& transfer_cache_manager()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & transfer_cache_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 433
    functionName: '& central_freelist()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MinimalFakeCentralFreeList
    signature: MinimalFakeCentralFreeList & central_freelist()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 434
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
    linkageType: ''
    returnType: void
    signature: void SetCurrentCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::MetadataAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - used
    linkageType: ''
    returnType: size_t
    signature: size_t MetadataAllocated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:54,1
    - Dst: std::make_unique<AlignedPtr>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:54,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:55,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - std::make_unique<AlignedPtr>
    - push_back
    - back
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * Alloc(size_t size, std::align_val_t alignment = kAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ptr
    - alignment
    argTypes:
    - void*
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::AlignedPtr
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignedPtr(void* ptr, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ~AlignedPtr()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ~AlignedPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::ArenaBasedFakeTransferCacheManager
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaBasedFakeTransferCacheManager()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * Alloc(size_t size, std::align_val_t alignment = kAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::used
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t used() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::SetPartialLegacyTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPartialLegacyTransferCache(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::UseGenericCache
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseGenericCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::SetGenericCache
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetGenericCache(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::EnableCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EnableCacheForLargeClassesOnly()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::SetCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCacheForLargeClassesOnly(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::FakeTransferCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void FakeTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ~FakeTransferCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~FakeTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 1
    functionsReached:
    - ShrinkCache
    linkageType: ''
    returnType: bool
    signature: bool Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 1
    functionsReached:
    - IncreaseCacheCapacity
    linkageType: ''
    returnType: bool
    signature: bool Grow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:157,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:158,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:159,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:159,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:160,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 1
    functionsReached:
    - absl::MakeSpan
    - std::vector::resize
    - central_freelist
    - std::min
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void Insert(int n, int batch = kBatchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:168,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:169,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:170,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:170,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:172,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:173,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:174,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - ASSERT_GT
    - ASSERT_LE
    - absl::MakeSpan
    - std::vector::resize
    - RemoveRange
    - static_cast<size_t>
    - central_freelist
    - std::min
    linkageType: ''
    returnType: void
    signature: void Remove(int n, int batch = kBatchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
    linkageType: ''
    returnType: void
    signature: void TryPlunder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:181,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc_length
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:188,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:190,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:192,1
    - Dst: HasSpareCapacity
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:194,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:196,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:196,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:198,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:198,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:200,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:202,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 206
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    - HasSpareCapacity
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: '& transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TransferCache
    signature: TransferCache & transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: '& central_freelist()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - freelist
    linkageType: ''
    returnType: FreeList
    signature: FreeList & central_freelist()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:237,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:237,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:238,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:238,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:239,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::TwoSizeClassManager
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::make_unique<TransferCache>
    linkageType: ''
    returnType: void
    signature: void TwoSizeClassManager()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TwoSizeClassManager::InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::TwoSizeClassManager::InsertRange
    linkageType: ''
    returnType: void
    signature: void InsertRange(int size_class, absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TwoSizeClassManager::RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::TwoSizeClassManager::RemoveRange
    linkageType: ''
    returnType: int
    signature: int RemoveRange(int size_class, absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TwoSizeClassManager::tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::tc_length
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::TwoSizeClassManager::tc_length
    linkageType: ''
    returnType: size_t
    signature: size_t tc_length(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TwoSizeClassManager::GetStats
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::TwoSizeClassManager::GetStats
    linkageType: ''
    returnType: TransferCacheStats
    signature: TransferCacheStats GetStats(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:285,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - shards
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void Init(int shards)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:291,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::SetCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void SetCurrentCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::NumShards
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned NumShards()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::CurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CurrentCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::CpuShard
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: unsigned
    signature: unsigned CpuShard(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitCaches
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: tcmalloc::tcmalloc_internal::FakeMultiClassTransferCacheManager::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - InitCaches
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::MultiSizeClassTransferCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void MultiSizeClassTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: ~MultiSizeClassTransferCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~MultiSizeClassTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:332,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:335,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:336,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:338,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:338,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:339,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:340,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:341,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size_class
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 1
    functionsReached:
    - ASSERT_GT
    - ASSERT_LE
    - absl::MakeSpan
    - std::vector::resize
    - std::min<int>
    - central_freelist
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void Insert(int size_class, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:347,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:350,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:351,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:353,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:353,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:355,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:356,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:357,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size_class
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - ASSERT_GT
    - ASSERT_LE
    - absl::MakeSpan
    - std::vector::resize
    - RemoveRange
    - std::min<int>
    - static_cast<size_t>
    - central_freelist
    - num_objects_to_move
    linkageType: ''
    returnType: void
    signature: void Remove(int size_class, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:365,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc_length
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:372,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:373,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:374,1
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:376,1
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    - absl::Uniform
    - absl::Uniform<size_t>
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
    - num_objects_to_move
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 382
    functionName: '& transfer_cache_manager()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & transfer_cache_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: '& central_freelist(int size_class)'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - central_freelist
    linkageType: ''
    returnType: FreeList
    signature: FreeList & central_freelist(int size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetGenericCache
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:403,1
    - Dst: SetCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:405,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:408,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - num_shards
    - use_generic_cache
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 410
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::FakeShardedTransferCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - SetCacheForLargeClassesOnly
    - Init
    - SetGenericCache
    linkageType: ''
    returnType: void
    signature: "void FakeShardedTransferCacheEnvironment(int num_shards,\n                                               bool
      use_generic_cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: ~FakeShardedTransferCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~FakeShardedTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:415,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:418,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:420,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cpu
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 423
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 1
    functionsReached:
    - Pop
    - central_freelist
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
    linkageType: ''
    returnType: void
    signature: void Remove(int cpu, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:427,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc_length
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 431
    functionName: '& sharded_manager()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: '& transfer_cache_manager()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & transfer_cache_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 433
    functionName: '& central_freelist()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MinimalFakeCentralFreeList
    signature: MinimalFakeCentralFreeList & central_freelist()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 434
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
    linkageType: ''
    returnType: void
    signature: void SetCurrentCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::MetadataAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - used
    linkageType: ''
    returnType: size_t
    signature: size_t MetadataAllocated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:54,1
    - Dst: std::make_unique<AlignedPtr>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:54,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:55,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - std::make_unique<AlignedPtr>
    - push_back
    - back
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * Alloc(size_t size, std::align_val_t alignment = kAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ptr
    - alignment
    argTypes:
    - void*
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::AlignedPtr
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignedPtr(void* ptr, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ~AlignedPtr()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ~AlignedPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::ArenaBasedFakeTransferCacheManager
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaBasedFakeTransferCacheManager()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * Alloc(size_t size, std::align_val_t alignment = kAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::used
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t used() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::SetPartialLegacyTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPartialLegacyTransferCache(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::UseGenericCache
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseGenericCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::SetGenericCache
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetGenericCache(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::EnableCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EnableCacheForLargeClassesOnly()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::SetCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCacheForLargeClassesOnly(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::FakeTransferCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void FakeTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ~FakeTransferCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~FakeTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - ShrinkCache
    linkageType: ''
    returnType: bool
    signature: bool Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - IncreaseCacheCapacity
    linkageType: ''
    returnType: bool
    signature: bool Grow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:157,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:158,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:159,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:159,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:160,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - absl::MakeSpan
    - std::vector::resize
    - central_freelist
    - std::min
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void Insert(int n, int batch = kBatchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:168,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:169,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:170,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:170,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:172,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:173,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:174,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 4
    functionsReached:
    - ASSERT_GT
    - ASSERT_LE
    - absl::MakeSpan
    - std::vector::resize
    - RemoveRange
    - static_cast<size_t>
    - central_freelist
    - std::min
    linkageType: ''
    returnType: void
    signature: void Remove(int n, int batch = kBatchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
    linkageType: ''
    returnType: void
    signature: void TryPlunder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:181,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc_length
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:188,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:190,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:192,1
    - Dst: HasSpareCapacity
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:194,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:196,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:196,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:198,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:198,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:200,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:202,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 206
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    - HasSpareCapacity
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: '& transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TransferCache
    signature: TransferCache & transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: '& central_freelist()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - freelist
    linkageType: ''
    returnType: FreeList
    signature: FreeList & central_freelist()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:237,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:237,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:238,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:238,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:239,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::TwoSizeClassManager
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::make_unique<TransferCache>
    linkageType: ''
    returnType: void
    signature: void TwoSizeClassManager()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TwoSizeClassManager::InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::TwoSizeClassManager::InsertRange
    linkageType: ''
    returnType: void
    signature: void InsertRange(int size_class, absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TwoSizeClassManager::RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::TwoSizeClassManager::RemoveRange
    linkageType: ''
    returnType: int
    signature: int RemoveRange(int size_class, absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TwoSizeClassManager::tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::tc_length
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::TwoSizeClassManager::tc_length
    linkageType: ''
    returnType: size_t
    signature: size_t tc_length(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TwoSizeClassManager::GetStats
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::TwoSizeClassManager::GetStats
    linkageType: ''
    returnType: TransferCacheStats
    signature: TransferCacheStats GetStats(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:285,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - shards
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void Init(int shards)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:291,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::SetCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void SetCurrentCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::NumShards
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned NumShards()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::CurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CurrentCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::CpuShard
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: unsigned
    signature: unsigned CpuShard(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitCaches
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: tcmalloc::tcmalloc_internal::FakeMultiClassTransferCacheManager::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - InitCaches
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::MultiSizeClassTransferCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void MultiSizeClassTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: ~MultiSizeClassTransferCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~MultiSizeClassTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:332,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:335,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:336,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:338,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:338,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:339,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:340,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:341,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size_class
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - ASSERT_GT
    - ASSERT_LE
    - absl::MakeSpan
    - std::vector::resize
    - std::min<int>
    - central_freelist
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void Insert(int size_class, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:347,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:350,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:351,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:353,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:353,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:355,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:356,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:357,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size_class
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 4
    functionsReached:
    - ASSERT_GT
    - ASSERT_LE
    - absl::MakeSpan
    - std::vector::resize
    - RemoveRange
    - std::min<int>
    - static_cast<size_t>
    - central_freelist
    - num_objects_to_move
    linkageType: ''
    returnType: void
    signature: void Remove(int size_class, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:365,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc_length
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:372,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:373,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:374,1
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:376,1
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    - absl::Uniform
    - absl::Uniform<size_t>
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
    - num_objects_to_move
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 382
    functionName: '& transfer_cache_manager()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & transfer_cache_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: '& central_freelist(int size_class)'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - central_freelist
    linkageType: ''
    returnType: FreeList
    signature: FreeList & central_freelist(int size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetGenericCache
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:403,1
    - Dst: SetCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:405,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:408,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - num_shards
    - use_generic_cache
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 410
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::FakeShardedTransferCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - SetCacheForLargeClassesOnly
    - Init
    - SetGenericCache
    linkageType: ''
    returnType: void
    signature: "void FakeShardedTransferCacheEnvironment(int num_shards,\n                                               bool
      use_generic_cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: ~FakeShardedTransferCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~FakeShardedTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:415,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:418,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:420,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cpu
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 423
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - Pop
    - central_freelist
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
    linkageType: ''
    returnType: void
    signature: void Remove(int cpu, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:427,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc_length
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 431
    functionName: '& sharded_manager()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: '& transfer_cache_manager()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & transfer_cache_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 433
    functionName: '& central_freelist()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MinimalFakeCentralFreeList
    signature: MinimalFakeCentralFreeList & central_freelist()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 434
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
    linkageType: ''
    returnType: void
    signature: void SetCurrentCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::MetadataAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - used
    linkageType: ''
    returnType: size_t
    signature: size_t MetadataAllocated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:54,1
    - Dst: std::make_unique<AlignedPtr>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:54,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:55,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - std::make_unique<AlignedPtr>
    - push_back
    - back
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * Alloc(size_t size, std::align_val_t alignment = kAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ptr
    - alignment
    argTypes:
    - void*
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::AlignedPtr
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignedPtr(void* ptr, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ~AlignedPtr()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ~AlignedPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::ArenaBasedFakeTransferCacheManager
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaBasedFakeTransferCacheManager()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * Alloc(size_t size, std::align_val_t alignment = kAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::used
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t used() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::SetPartialLegacyTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPartialLegacyTransferCache(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::UseGenericCache
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseGenericCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::SetGenericCache
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetGenericCache(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::EnableCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EnableCacheForLargeClassesOnly()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::SetCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCacheForLargeClassesOnly(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::FakeTransferCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void FakeTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ~FakeTransferCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~FakeTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 3
    functionsReached:
    - ShrinkCache
    linkageType: ''
    returnType: bool
    signature: bool Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 3
    functionsReached:
    - IncreaseCacheCapacity
    linkageType: ''
    returnType: bool
    signature: bool Grow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:157,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:158,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:159,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:159,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:160,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 3
    functionsReached:
    - absl::MakeSpan
    - std::vector::resize
    - central_freelist
    - std::min
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void Insert(int n, int batch = kBatchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:168,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:169,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:170,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:170,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:172,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:173,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:174,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 6
    functionsReached:
    - ASSERT_GT
    - ASSERT_LE
    - absl::MakeSpan
    - std::vector::resize
    - RemoveRange
    - static_cast<size_t>
    - central_freelist
    - std::min
    linkageType: ''
    returnType: void
    signature: void Remove(int n, int batch = kBatchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
    linkageType: ''
    returnType: void
    signature: void TryPlunder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:181,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc_length
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:188,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:190,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:192,1
    - Dst: HasSpareCapacity
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:194,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:196,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:196,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:198,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:198,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:200,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:202,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 206
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    - HasSpareCapacity
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: '& transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TransferCache
    signature: TransferCache & transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: '& central_freelist()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - freelist
    linkageType: ''
    returnType: FreeList
    signature: FreeList & central_freelist()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:237,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:237,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:238,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:238,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:239,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::TwoSizeClassManager
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::make_unique<TransferCache>
    linkageType: ''
    returnType: void
    signature: void TwoSizeClassManager()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TwoSizeClassManager::InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::TwoSizeClassManager::InsertRange
    linkageType: ''
    returnType: void
    signature: void InsertRange(int size_class, absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TwoSizeClassManager::RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::TwoSizeClassManager::RemoveRange
    linkageType: ''
    returnType: int
    signature: int RemoveRange(int size_class, absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TwoSizeClassManager::tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::tc_length
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::TwoSizeClassManager::tc_length
    linkageType: ''
    returnType: size_t
    signature: size_t tc_length(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TwoSizeClassManager::GetStats
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TwoSizeClassManager::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::TwoSizeClassManager::GetStats
    linkageType: ''
    returnType: TransferCacheStats
    signature: TransferCacheStats GetStats(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:285,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - shards
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void Init(int shards)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:291,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::SetCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void SetCurrentCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::NumShards
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned NumShards()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::CurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CurrentCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: tcmalloc::tcmalloc_internal::FakeCpuLayout::CpuShard
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: unsigned
    signature: unsigned CpuShard(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitCaches
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: tcmalloc::tcmalloc_internal::FakeMultiClassTransferCacheManager::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - InitCaches
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::MultiSizeClassTransferCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void MultiSizeClassTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: ~MultiSizeClassTransferCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~MultiSizeClassTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:332,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:335,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:336,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:338,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:338,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:339,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:340,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:341,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size_class
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 3
    functionsReached:
    - ASSERT_GT
    - ASSERT_LE
    - absl::MakeSpan
    - std::vector::resize
    - std::min<int>
    - central_freelist
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void Insert(int size_class, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:347,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:350,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:351,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:353,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:353,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:355,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:356,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:357,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size_class
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 6
    functionsReached:
    - ASSERT_GT
    - ASSERT_LE
    - absl::MakeSpan
    - std::vector::resize
    - RemoveRange
    - std::min<int>
    - static_cast<size_t>
    - central_freelist
    - num_objects_to_move
    linkageType: ''
    returnType: void
    signature: void Remove(int size_class, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:365,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc_length
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:372,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:373,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:374,1
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:376,1
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    - absl::Uniform
    - absl::Uniform<size_t>
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
    - num_objects_to_move
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 382
    functionName: '& transfer_cache_manager()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & transfer_cache_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: '& central_freelist(int size_class)'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - central_freelist
    linkageType: ''
    returnType: FreeList
    signature: FreeList & central_freelist(int size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetGenericCache
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:403,1
    - Dst: SetCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:405,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:408,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - num_shards
    - use_generic_cache
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 410
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::FakeShardedTransferCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - SetCacheForLargeClassesOnly
    - Init
    - SetGenericCache
    linkageType: ''
    returnType: void
    signature: "void FakeShardedTransferCacheEnvironment(int num_shards,\n                                               bool
      use_generic_cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: ~FakeShardedTransferCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~FakeShardedTransferCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:415,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:418,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:420,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cpu
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 423
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 3
    functionsReached:
    - Pop
    - central_freelist
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
    linkageType: ''
    returnType: void
    signature: void Remove(int cpu, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:427,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc_length
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 431
    functionName: '& sharded_manager()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: '& transfer_cache_manager()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & transfer_cache_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 433
    functionName: '& central_freelist()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MinimalFakeCentralFreeList
    signature: MinimalFakeCentralFreeList & central_freelist()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 434
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
    linkageType: ''
    returnType: void
    signature: void SetCurrentCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::MetadataAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - used
    linkageType: ''
    returnType: size_t
    signature: size_t MetadataAllocated() const
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:108,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:173,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:174,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:207,1
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:208,1
    - Dst: impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:214,1
    - Dst: impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:220,1
    - Dst: impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:225,1
    - Dst: impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:231,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:235,1
    - Dst: active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:236,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:237,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:239,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:241,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:244,1
    - Dst: active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:251,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:253,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:256,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:260,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:265,1
    - Dst: active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:272,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:274,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:277,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:281,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:286,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:293,1
    - Dst: active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:295,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:296,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:306,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:309,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:310,1
    - Dst: active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:312,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:313,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:314,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:318,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:326,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:329,1
    - Dst: active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:331,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:332,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:335,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:349,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:351,1
    - Dst: impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:353,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:355,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:368,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:369,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:369,1
    - Dst: impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:370,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:381,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:381,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:385,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:392,1
    - Dst: impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:398,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 142
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 402
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - active_numa_partitions
    - TreatHugepageTrackers
    - Length
    - ASSUME
    - stats
    - GetReleaseStats
    - tcmalloc_internal::max
    - __builtin_unreachable
    - GetLargeSpanStats
    - printf
    - ReleaseAtLeastNPages
    - MemoryTagToLabel
    - ShrinkToUsageLimit
    - GetSmallSpanStats
    - TC_ASSERT_LT
    - CreateSubRegion
    - PbtxtRegion::PrintRaw
    - impl
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~PageAllocator()
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PageAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: tcmalloc_internal::PageAllocator::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::PageAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: tcmalloc_internal::PageAllocator::Choices
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Choices()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ~Choices()
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Choices()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:207,1
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - tag
    argTypes:
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 210
    functionName: tcmalloc_internal::PageAllocator::impl
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - __builtin_unreachable
    linkageType: ''
    returnType: PageAllocator::Interface
    signature: PageAllocator::Interface * PageAllocator::impl(MemoryTag tag) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - tag
    argTypes:
    - Length
    - SpanAllocInfo
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: tcmalloc_internal::PageAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageAllocator::impl
    linkageType: ''
    returnType: Span
    signature: "Span * PageAllocator::New(Length n, SpanAllocInfo span_alloc_info,\n
      \                               MemoryTag tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - n
    - align
    - span_alloc_info
    - tag
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: tcmalloc_internal::PageAllocator::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageAllocator::impl
    linkageType: ''
    returnType: Span
    signature: "Span * PageAllocator::NewAligned(Length n, Length align,\n                                       SpanAllocInfo
      span_alloc_info,\n                                       MemoryTag tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - span
    - tag
    argTypes:
    - Span*
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: tcmalloc_internal::PageAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageAllocator::impl
    linkageType: ''
    returnType: void
    signature: void PageAllocator::Delete(Span* span, MemoryTag tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - tag
    argTypes:
    - PageAllocatorInterface::AllocationState
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: tcmalloc_internal::PageAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageAllocator::impl
    linkageType: ''
    returnType: void
    signature: "void PageAllocator::Delete(PageAllocatorInterface::AllocationState
      s,\n                                  MemoryTag tag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:235,1
    - Dst: tcmalloc_internal::PageAllocator::active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:236,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:237,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:239,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:241,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::PageAllocator::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageAllocator::stats
    - tcmalloc_internal::PageAllocator::active_numa_partitions
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats PageAllocator::stats() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:251,1
    - Dst: tcmalloc_internal::PageAllocator::GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:253,1
    - Dst: tcmalloc_internal::PageAllocator::GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:256,1
    - Dst: tcmalloc_internal::PageAllocator::GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:260,1
    - Dst: tcmalloc_internal::PageAllocator::GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - result
    argTypes:
    - SmallSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 268
    functionName: tcmalloc_internal::PageAllocator::GetSmallSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageAllocator::GetSmallSpanStats
    - tcmalloc_internal::PageAllocator::active_numa_partitions
    linkageType: ''
    returnType: void
    signature: void PageAllocator::GetSmallSpanStats(SmallSpanStats* result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:272,1
    - Dst: tcmalloc_internal::PageAllocator::GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:274,1
    - Dst: tcmalloc_internal::PageAllocator::GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:277,1
    - Dst: tcmalloc_internal::PageAllocator::GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:281,1
    - Dst: tcmalloc_internal::PageAllocator::GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - result
    argTypes:
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 289
    functionName: tcmalloc_internal::PageAllocator::GetLargeSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageAllocator::active_numa_partitions
    - tcmalloc_internal::PageAllocator::GetLargeSpanStats
    linkageType: ''
    returnType: void
    signature: void PageAllocator::GetLargeSpanStats(LargeSpanStats* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:293,1
    - Dst: tcmalloc_internal::PageAllocator::active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:295,1
    - Dst: tcmalloc_internal::PageAllocator::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - enable_collapse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 298
    functionName: tcmalloc_internal::PageAllocator::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageAllocator::TreatHugepageTrackers
    - tcmalloc_internal::PageAllocator::active_numa_partitions
    linkageType: ''
    returnType: void
    signature: void PageAllocator::TreatHugepageTrackers(bool enable_collapse)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:306,1
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:309,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:310,1
    - Dst: tcmalloc_internal::PageAllocator::active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:312,1
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:313,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:314,1
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - num_pages
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 320
    functionName: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageAllocator::active_numa_partitions
    - tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
    - Length
    linkageType: ''
    returnType: Length
    signature: "Length PageAllocator::ReleaseAtLeastNPages(Length num_pages,\n                                                  PageReleaseReason
      reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:326,1
    - Dst: tcmalloc_internal::PageAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:329,1
    - Dst: tcmalloc_internal::PageAllocator::active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:331,1
    - Dst: tcmalloc_internal::PageAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:332,1
    - Dst: tcmalloc_internal::PageAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::PageAllocator::GetReleaseStats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageAllocator::active_numa_partitions
    - tcmalloc_internal::PageAllocator::GetReleaseStats
    linkageType: ''
    returnType: PageReleaseStats
    signature: PageReleaseStats PageAllocator::GetReleaseStats() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:349,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:351,1
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:353,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' out'
    - tag
    - ' pageflags'
    argTypes:
    - Printer
    - MemoryTag
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 357
    functionName: tcmalloc_internal::PageAllocator::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageAllocator::impl
    - printf
    - MemoryTagToLabel
    linkageType: ''
    returnType: void
    signature: "void PageAllocator::Print(Printer& out, MemoryTag tag,\n                                 PageFlagsBase&
      pageflags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:368,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:369,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:369,1
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' region'
    - tag
    - ' pageflags'
    argTypes:
    - PbtxtRegion
    - MemoryTag
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 371
    functionName: tcmalloc_internal::PageAllocator::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageAllocator::impl
    - MemoryTagToLabel
    - CreateSubRegion
    - PbtxtRegion::PrintRaw
    linkageType: ''
    returnType: void
    signature: "void PageAllocator::PrintInPbtxt(PbtxtRegion& region, MemoryTag tag,\n
      \                                       PageFlagsBase& pageflags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:381,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - limit
    - limit_kind
    argTypes:
    - size_t
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: tcmalloc_internal::PageAllocator::set_limit
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageAllocator::ShrinkToUsageLimit
    - Length
    linkageType: ''
    returnType: void
    signature: void PageAllocator::set_limit(size_t limit, LimitKind limit_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: tcmalloc_internal::PageAllocator::limit_hits
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: int64_t
    signature: int64_t PageAllocator::limit_hits(LimitKind limit_kind) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: tcmalloc_internal::PageAllocator::successful_shrinks_after_limit_hit
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: int64_t
    signature: "int64_t PageAllocator::successful_shrinks_after_limit_hit(\n    LimitKind
      limit_kind) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: '& PageAllocator::info(MemoryTag tag) const'
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - impl
    linkageType: ''
    returnType: PageAllocInfo
    signature: PageAllocInfo & PageAllocator::info(MemoryTag tag) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~PageAllocator()
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PageAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: tcmalloc_internal::PageAllocator::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::PageAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: tcmalloc_internal::PageAllocator::Choices
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Choices()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ~Choices()
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Choices()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:207,1
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - tag
    argTypes:
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 210
    functionName: tcmalloc_internal::PageAllocator::impl
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 6
    functionsReached:
    - ASSUME
    - __builtin_unreachable
    linkageType: ''
    returnType: PageAllocator::Interface
    signature: PageAllocator::Interface * PageAllocator::impl(MemoryTag tag) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - tag
    argTypes:
    - Length
    - SpanAllocInfo
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: tcmalloc_internal::PageAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageAllocator::impl
    linkageType: ''
    returnType: Span
    signature: "Span * PageAllocator::New(Length n, SpanAllocInfo span_alloc_info,\n
      \                               MemoryTag tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - n
    - align
    - span_alloc_info
    - tag
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: tcmalloc_internal::PageAllocator::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageAllocator::impl
    linkageType: ''
    returnType: Span
    signature: "Span * PageAllocator::NewAligned(Length n, Length align,\n                                       SpanAllocInfo
      span_alloc_info,\n                                       MemoryTag tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - span
    - tag
    argTypes:
    - Span*
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: tcmalloc_internal::PageAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageAllocator::impl
    linkageType: ''
    returnType: void
    signature: void PageAllocator::Delete(Span* span, MemoryTag tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - tag
    argTypes:
    - PageAllocatorInterface::AllocationState
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: tcmalloc_internal::PageAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageAllocator::impl
    linkageType: ''
    returnType: void
    signature: "void PageAllocator::Delete(PageAllocatorInterface::AllocationState
      s,\n                                  MemoryTag tag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:235,1
    - Dst: tcmalloc_internal::PageAllocator::active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:236,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:237,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:239,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:241,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::PageAllocator::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::PageAllocator::stats
    - tcmalloc_internal::PageAllocator::active_numa_partitions
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats PageAllocator::stats() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:251,1
    - Dst: tcmalloc_internal::PageAllocator::GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:253,1
    - Dst: tcmalloc_internal::PageAllocator::GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:256,1
    - Dst: tcmalloc_internal::PageAllocator::GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:260,1
    - Dst: tcmalloc_internal::PageAllocator::GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - result
    argTypes:
    - SmallSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 268
    functionName: tcmalloc_internal::PageAllocator::GetSmallSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::PageAllocator::GetSmallSpanStats
    - tcmalloc_internal::PageAllocator::active_numa_partitions
    linkageType: ''
    returnType: void
    signature: void PageAllocator::GetSmallSpanStats(SmallSpanStats* result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:272,1
    - Dst: tcmalloc_internal::PageAllocator::GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:274,1
    - Dst: tcmalloc_internal::PageAllocator::GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:277,1
    - Dst: tcmalloc_internal::PageAllocator::GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:281,1
    - Dst: tcmalloc_internal::PageAllocator::GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - result
    argTypes:
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 289
    functionName: tcmalloc_internal::PageAllocator::GetLargeSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::PageAllocator::active_numa_partitions
    - tcmalloc_internal::PageAllocator::GetLargeSpanStats
    linkageType: ''
    returnType: void
    signature: void PageAllocator::GetLargeSpanStats(LargeSpanStats* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:293,1
    - Dst: tcmalloc_internal::PageAllocator::active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:295,1
    - Dst: tcmalloc_internal::PageAllocator::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - enable_collapse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 298
    functionName: tcmalloc_internal::PageAllocator::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::PageAllocator::TreatHugepageTrackers
    - tcmalloc_internal::PageAllocator::active_numa_partitions
    linkageType: ''
    returnType: void
    signature: void PageAllocator::TreatHugepageTrackers(bool enable_collapse)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:306,1
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:309,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:310,1
    - Dst: tcmalloc_internal::PageAllocator::active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:312,1
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:313,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:314,1
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - num_pages
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 320
    functionName: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::PageAllocator::active_numa_partitions
    - tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
    - Length
    linkageType: ''
    returnType: Length
    signature: "Length PageAllocator::ReleaseAtLeastNPages(Length num_pages,\n                                                  PageReleaseReason
      reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:326,1
    - Dst: tcmalloc_internal::PageAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:329,1
    - Dst: tcmalloc_internal::PageAllocator::active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:331,1
    - Dst: tcmalloc_internal::PageAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:332,1
    - Dst: tcmalloc_internal::PageAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::PageAllocator::GetReleaseStats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::PageAllocator::active_numa_partitions
    - tcmalloc_internal::PageAllocator::GetReleaseStats
    linkageType: ''
    returnType: PageReleaseStats
    signature: PageReleaseStats PageAllocator::GetReleaseStats() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:349,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:351,1
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:353,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' out'
    - tag
    - ' pageflags'
    argTypes:
    - Printer
    - MemoryTag
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 357
    functionName: tcmalloc_internal::PageAllocator::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageAllocator::impl
    - printf
    - MemoryTagToLabel
    linkageType: ''
    returnType: void
    signature: "void PageAllocator::Print(Printer& out, MemoryTag tag,\n                                 PageFlagsBase&
      pageflags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:368,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:369,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:369,1
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' region'
    - tag
    - ' pageflags'
    argTypes:
    - PbtxtRegion
    - MemoryTag
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 371
    functionName: tcmalloc_internal::PageAllocator::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageAllocator::impl
    - MemoryTagToLabel
    - CreateSubRegion
    - PbtxtRegion::PrintRaw
    linkageType: ''
    returnType: void
    signature: "void PageAllocator::PrintInPbtxt(PbtxtRegion& region, MemoryTag tag,\n
      \                                       PageFlagsBase& pageflags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:381,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - limit
    - limit_kind
    argTypes:
    - size_t
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: tcmalloc_internal::PageAllocator::set_limit
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageAllocator::ShrinkToUsageLimit
    - Length
    linkageType: ''
    returnType: void
    signature: void PageAllocator::set_limit(size_t limit, LimitKind limit_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: tcmalloc_internal::PageAllocator::limit_hits
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: int64_t
    signature: int64_t PageAllocator::limit_hits(LimitKind limit_kind) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: tcmalloc_internal::PageAllocator::successful_shrinks_after_limit_hit
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: int64_t
    signature: "int64_t PageAllocator::successful_shrinks_after_limit_hit(\n    LimitKind
      limit_kind) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: '& PageAllocator::info(MemoryTag tag) const'
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - impl
    linkageType: ''
    returnType: PageAllocInfo
    signature: PageAllocInfo & PageAllocator::info(MemoryTag tag) const
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Node*>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:50,1
    - Dst: const_cast<Node*>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:51,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:55,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:57,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:61,1
    - Dst: range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:61,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:61,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:63,1
    - Dst: range_::end_addr
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:63,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:63,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:65,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:67,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:68,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:74,1
    - Dst: range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:74,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:74,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:76,1
    - Dst: range_::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:76,1
    - Dst: end_addr
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:76,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:78,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:80,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:81,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:85,1
    - Dst: root
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:89,1
    - Dst: static_cast<const HugeAddressMap*>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:101,1
    - Dst: const_cast<Node*>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:102,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:107,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:109,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:110,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:112,1
    - Dst: nranges
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:112,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:113,1
    - Dst: total_mapped
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:113,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:114,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:122,1
    - Dst: longest_::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:124,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:125,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:129,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:130,1
    - Dst: longest_::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:131,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:132,1
    - Dst: root
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:136,1
    - Dst: HugeRange::contains
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:140,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:141,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:160,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:161,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:162,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:163,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:164,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:167,1
    - Dst: merge_when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:170,1
    - Dst: when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:170,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:171,1
    - Dst: FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:172,1
    - Dst: merge_when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:175,1
    - Dst: when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:175,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:176,1
    - Dst: FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:177,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:183,1
    - Dst: merge_when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:184,1
    - Dst: when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:184,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:185,1
    - Dst: merge_when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:186,1
    - Dst: when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:186,1
    - Dst: range_::len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:189,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:190,1
    - Dst: FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:193,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:197,1
    - Dst: Predecessor
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:200,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:200,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:201,1
    - Dst: Node*::range_::intersects
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:201,1
    - Dst: Node*::next
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:202,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:202,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:203,1
    - Dst: Node*::range_::intersects
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:203,1
    - Dst: Node*::range_::precedes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:204,1
    - Dst: precedes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:205,1
    - Dst: Merge
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:206,1
    - Dst: Merge
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:208,1
    - Dst: precedes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:211,1
    - Dst: Merge
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:212,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:215,1
    - Dst: Node*::range_::precedes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:215,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:216,1
    - Dst: precedes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:216,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:218,1
    - Dst: root
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:219,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:224,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:224,1
    - Dst: Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:226,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:226,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:237,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:239,1
    - Dst: Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:248,1
    - Dst: FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:264,1
    - Dst: FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:270,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:271,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:272,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:273,1
    - Dst: Node*::FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:279,1
    - Dst: Node*::range_::len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:285,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:294,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:294,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:295,1
    - Dst: FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:303,1
    - Dst: Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:304,1
    - Dst: Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:304,1
    - Dst: reorder_maybe
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:321,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:332,1
    - Dst: Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:334,1
    - Dst: Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:334,1
    - Dst: reorder_maybe
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:341,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:345,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:359,1
    - Dst: reinterpret_cast<Node*>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:362,1
    - Dst: meta_
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:362,1
    - Dst: Node::Node
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:363,1
    - Dst: Node::Node
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:369,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:373,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 214
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 376
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - end_addr
    - first
    - longest_::raw_num
    - Node*::next
    - TC_CHECK_LT
    - root
    - printf
    - const_cast<Node*>
    - range_::start_addr
    - TC_CHECK_LE
    - NHugePages
    - Remove
    - Check
    - TC_CHECK_GT
    - range_::end_addr
    - longest_::in_bytes
    - Predecessor
    - static_cast<int64_t>
    - merge_when
    - Node*::FixLongest
    - start
    - precedes
    - meta_
    - HugeRange::start
    - Merge
    - std::max
    - HugeRange::contains
    - reorder_maybe
    - total_mapped
    - range_::len
    - static_cast<const Node*>
    - Put
    - FixLongest
    - PrintI64
    - range_::start
    - TC_CHECK_EQ
    - Get
    - Node*::range_::start
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - start_addr
    - nranges
    - reinterpret_cast<Node*>
    - Node*::range_::precedes
    - Node*::range_::len
    - len
    - when
    - absl::base_internal::CycleClock::Now
    - Node*::range_::intersects
    - Join
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - TC_CHECK
    - static_cast<double>
    - static_cast<const HugeAddressMap*>
    - Node::Node
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: '* HugeAddressMap::Node::next() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::Node::next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Node*>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:50,1
    - Dst: const_cast<Node*>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '* HugeAddressMap::Node::next()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Node*>
    - const_cast<Node*>
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::Node::next()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:55,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:57,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:61,1
    - Dst: range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:61,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:61,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:63,1
    - Dst: range_::end_addr
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:63,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:63,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:65,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:67,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:68,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:74,1
    - Dst: range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:74,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:74,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:76,1
    - Dst: range_::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:76,1
    - Dst: end_addr
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:76,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:78,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:80,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:81,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - num_nodes
    - size
    argTypes:
    - size_t*
    - HugeLength*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 86
    functionName: HugeAddressMap::Node::Check(size_t* num_nodes, HugeLength* size)
      const
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - start_addr
    - Check
    - TC_CHECK_GT
    - range_::end_addr
    - end_addr
    - TC_CHECK_LT
    - len
    - range_::start
    - TC_CHECK_EQ
    - start
    - range_::start_addr
    - TC_CHECK_LE
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Node::Check(size_t* num_nodes, HugeLength* size)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeAddressMap::root
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: tcmalloc_internal::HugeAddressMap::first
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeAddressMap::root
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::first() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const HugeAddressMap*>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:101,1
    - Dst: const_cast<Node*>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: tcmalloc_internal::HugeAddressMap::first
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - const_cast<Node*>
    - static_cast<const HugeAddressMap*>
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::first()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:107,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:109,1
    - Dst: tcmalloc_internal::HugeAddressMap::Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:110,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:112,1
    - Dst: tcmalloc_internal::HugeAddressMap::nranges
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:112,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:113,1
    - Dst: tcmalloc_internal::HugeAddressMap::total_mapped
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:113,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::HugeAddressMap::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugeAddressMap::Check
    - TC_CHECK_EQ
    - tcmalloc_internal::HugeAddressMap::total_mapped
    - NHugePages
    - tcmalloc_internal::HugeAddressMap::nranges
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Check()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::HugeAddressMap::nranges
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t HugeAddressMap::nranges() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: tcmalloc_internal::HugeAddressMap::total_mapped
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeAddressMap::total_mapped() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:122,1
    - Dst: longest_::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:124,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::HugeAddressMap::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - longest_::raw_num
    - printf
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Print(Printer& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:129,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:130,1
    - Dst: longest_::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:131,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: tcmalloc_internal::HugeAddressMap::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - longest_::in_bytes
    - PrintI64
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::PrintInPbtxt(PbtxtRegion& hpaa) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeAddressMap::root
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:136,1
    - Dst: HugeRange::contains
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:140,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 154
    functionName: tcmalloc_internal::HugeAddressMap::Predecessor
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - HugeRange::contains
    - HugeRange::start
    - tcmalloc_internal::HugeAddressMap::root
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::Predecessor(HugePage p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:160,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:161,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:162,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:163,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:164,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:167,1
    - Dst: merge_when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:170,1
    - Dst: Node*::when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:170,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:171,1
    - Dst: tcmalloc_internal::HugeAddressMap::FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:172,1
    - Dst: merge_when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:175,1
    - Dst: Node*::when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:175,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:176,1
    - Dst: tcmalloc_internal::HugeAddressMap::FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:177,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:183,1
    - Dst: merge_when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:184,1
    - Dst: Node*::when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:184,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:185,1
    - Dst: merge_when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:186,1
    - Dst: Node*::when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:186,1
    - Dst: Node*::range_::len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:189,1
    - Dst: tcmalloc_internal::HugeAddressMap::Remove
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:190,1
    - Dst: tcmalloc_internal::HugeAddressMap::FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - b
    - r
    - a
    argTypes:
    - Node*
    - HugeRange
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 194
    functionName: tcmalloc_internal::HugeAddressMap::Merge
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeAddressMap::FixLongest
    - Node*::range_::len
    - tcmalloc_internal::HugeAddressMap::Remove
    - len
    - static_cast<int64_t>
    - absl::base_internal::CycleClock::Now
    - merge_when
    - Join
    - Node*::when
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Merge(Node* b, HugeRange r, Node* a)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:197,1
    - Dst: tcmalloc_internal::HugeAddressMap::Predecessor
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:200,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:200,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:201,1
    - Dst: Node*::range_::intersects
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:201,1
    - Dst: Node*::next
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:202,1
    - Dst: tcmalloc_internal::HugeAddressMap::first
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:202,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:203,1
    - Dst: Node*::range_::intersects
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:203,1
    - Dst: Node*::range_::precedes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:204,1
    - Dst: HugeRange::precedes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:205,1
    - Dst: tcmalloc_internal::HugeAddressMap::Merge
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:206,1
    - Dst: tcmalloc_internal::HugeAddressMap::Merge
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:208,1
    - Dst: HugeRange::precedes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:211,1
    - Dst: tcmalloc_internal::HugeAddressMap::Merge
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:212,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:215,1
    - Dst: Node*::range_::precedes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:215,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:216,1
    - Dst: HugeRange::precedes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:216,1
    - Dst: tcmalloc_internal::HugeAddressMap::Get
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:218,1
    - Dst: tcmalloc_internal::HugeAddressMap::root
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:219,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:224,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:224,1
    - Dst: Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:226,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:226,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:237,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:239,1
    - Dst: Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:248,1
    - Dst: tcmalloc_internal::HugeAddressMap::FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:264,1
    - Dst: tcmalloc_internal::HugeAddressMap::FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:265,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 267
    functionName: tcmalloc_internal::HugeAddressMap::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeAddressMap::first
    - tcmalloc_internal::HugeAddressMap::FixLongest
    - tcmalloc_internal::HugeAddressMap::root
    - HugeRange::len
    - Node*::range_::precedes
    - Node*::next
    - tcmalloc_internal::HugeAddressMap::Predecessor
    - HugeRange::precedes
    - Node*::range_::start
    - Node*::range_::intersects
    - HugeRange::start
    - tcmalloc_internal::HugeAddressMap::Merge
    - std::max
    - TC_CHECK
    - tcmalloc_internal::HugeAddressMap::Get
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Insert(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:270,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:271,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:272,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: HugeAddressMap::Node::FixLongest()
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - len
    - std::max
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Node::FixLongest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeAddressMap::Node*::FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeAddressMap::Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: tcmalloc_internal::HugeAddressMap::FixLongest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 2
    functionsReached:
    - HugeAddressMap::Node*::FixLongest
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::FixLongest(HugeAddressMap::Node* n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HugeAddressMap::Node*::range_::len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:285,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:294,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:294,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:295,1
    - Dst: tcmalloc_internal::HugeAddressMap::FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:303,1
    - Dst: Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:304,1
    - Dst: HugeAddressMap::Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:304,1
    - Dst: reorder_maybe
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:321,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:332,1
    - Dst: Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:334,1
    - Dst: Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:334,1
    - Dst: reorder_maybe
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:341,1
    - Dst: tcmalloc_internal::HugeAddressMap::Put
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeAddressMap::Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 346
    functionName: tcmalloc_internal::HugeAddressMap::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 1
    functionsReached:
    - HugeAddressMap::Node*::range_::len
    - reorder_maybe
    - tcmalloc_internal::HugeAddressMap::FixLongest
    - tcmalloc_internal::HugeAddressMap::Put
    - Node*::range_::start
    - std::max
    - NHugePages
    - HugeAddressMap::Node*::range_::start
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Remove(HugeAddressMap::Node* n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: tcmalloc_internal::HugeAddressMap::Put
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Put(Node* n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:359,1
    - Dst: reinterpret_cast<Node*>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:362,1
    - Dst: meta_
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:362,1
    - Dst: Node::Node
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:363,1
    - Dst: Node::Node
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 370
    functionName: tcmalloc_internal::HugeAddressMap::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<Node*>
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - TC_CHECK_EQ
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - meta_
    - Node::Node
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::Get(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - r
    - prio
    argTypes:
    - HugeRange
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: HugeAddressMap::Node::Node(HugeRange r, int prio)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - absl::base_internal::CycleClock::Now
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Node::Node(HugeRange r, int prio)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: '* HugeAddressMap::Node::next() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::Node::next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Node*>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:50,1
    - Dst: const_cast<Node*>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '* HugeAddressMap::Node::next()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Node*>
    - const_cast<Node*>
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::Node::next()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:55,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:57,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:61,1
    - Dst: range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:61,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:61,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:63,1
    - Dst: range_::end_addr
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:63,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:63,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:65,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:67,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:68,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:74,1
    - Dst: range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:74,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:74,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:76,1
    - Dst: range_::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:76,1
    - Dst: end_addr
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:76,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:78,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:80,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:81,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - num_nodes
    - size
    argTypes:
    - size_t*
    - HugeLength*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 86
    functionName: HugeAddressMap::Node::Check(size_t* num_nodes, HugeLength* size)
      const
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - start_addr
    - Check
    - TC_CHECK_GT
    - range_::end_addr
    - end_addr
    - TC_CHECK_LT
    - len
    - range_::start
    - TC_CHECK_EQ
    - start
    - range_::start_addr
    - TC_CHECK_LE
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Node::Check(size_t* num_nodes, HugeLength* size)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeAddressMap::root
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: tcmalloc_internal::HugeAddressMap::first
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugeAddressMap::root
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::first() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const HugeAddressMap*>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:101,1
    - Dst: const_cast<Node*>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: tcmalloc_internal::HugeAddressMap::first
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 1
    functionsReached:
    - const_cast<Node*>
    - static_cast<const HugeAddressMap*>
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::first()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:107,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:109,1
    - Dst: tcmalloc_internal::HugeAddressMap::Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:110,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:112,1
    - Dst: tcmalloc_internal::HugeAddressMap::nranges
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:112,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:113,1
    - Dst: tcmalloc_internal::HugeAddressMap::total_mapped
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:113,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::HugeAddressMap::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugeAddressMap::Check
    - TC_CHECK_EQ
    - tcmalloc_internal::HugeAddressMap::total_mapped
    - NHugePages
    - tcmalloc_internal::HugeAddressMap::nranges
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Check()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::HugeAddressMap::nranges
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t HugeAddressMap::nranges() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: tcmalloc_internal::HugeAddressMap::total_mapped
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeAddressMap::total_mapped() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:122,1
    - Dst: longest_::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:124,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::HugeAddressMap::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - longest_::raw_num
    - printf
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Print(Printer& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:129,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:130,1
    - Dst: longest_::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:131,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: tcmalloc_internal::HugeAddressMap::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - longest_::in_bytes
    - PrintI64
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::PrintInPbtxt(PbtxtRegion& hpaa) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeAddressMap::root
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:136,1
    - Dst: HugeRange::contains
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:140,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 154
    functionName: tcmalloc_internal::HugeAddressMap::Predecessor
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 1
    functionsReached:
    - HugeRange::contains
    - HugeRange::start
    - tcmalloc_internal::HugeAddressMap::root
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::Predecessor(HugePage p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:160,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:161,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:162,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:163,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:164,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:167,1
    - Dst: merge_when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:170,1
    - Dst: Node*::when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:170,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:171,1
    - Dst: tcmalloc_internal::HugeAddressMap::FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:172,1
    - Dst: merge_when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:175,1
    - Dst: Node*::when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:175,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:176,1
    - Dst: tcmalloc_internal::HugeAddressMap::FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:177,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:183,1
    - Dst: merge_when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:184,1
    - Dst: Node*::when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:184,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:185,1
    - Dst: merge_when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:186,1
    - Dst: Node*::when
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:186,1
    - Dst: Node*::range_::len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:189,1
    - Dst: tcmalloc_internal::HugeAddressMap::Remove
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:190,1
    - Dst: tcmalloc_internal::HugeAddressMap::FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - b
    - r
    - a
    argTypes:
    - Node*
    - HugeRange
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 194
    functionName: tcmalloc_internal::HugeAddressMap::Merge
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugeAddressMap::FixLongest
    - Node*::range_::len
    - tcmalloc_internal::HugeAddressMap::Remove
    - len
    - static_cast<int64_t>
    - absl::base_internal::CycleClock::Now
    - merge_when
    - Join
    - Node*::when
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Merge(Node* b, HugeRange r, Node* a)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:197,1
    - Dst: tcmalloc_internal::HugeAddressMap::Predecessor
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:200,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:200,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:201,1
    - Dst: Node*::range_::intersects
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:201,1
    - Dst: Node*::next
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:202,1
    - Dst: tcmalloc_internal::HugeAddressMap::first
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:202,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:203,1
    - Dst: Node*::range_::intersects
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:203,1
    - Dst: Node*::range_::precedes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:204,1
    - Dst: HugeRange::precedes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:205,1
    - Dst: tcmalloc_internal::HugeAddressMap::Merge
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:206,1
    - Dst: tcmalloc_internal::HugeAddressMap::Merge
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:208,1
    - Dst: HugeRange::precedes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:211,1
    - Dst: tcmalloc_internal::HugeAddressMap::Merge
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:212,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:215,1
    - Dst: Node*::range_::precedes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:215,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:216,1
    - Dst: HugeRange::precedes
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:216,1
    - Dst: tcmalloc_internal::HugeAddressMap::Get
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:218,1
    - Dst: tcmalloc_internal::HugeAddressMap::root
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:219,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:224,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:224,1
    - Dst: Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:226,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:226,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:237,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:239,1
    - Dst: Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:248,1
    - Dst: tcmalloc_internal::HugeAddressMap::FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:264,1
    - Dst: tcmalloc_internal::HugeAddressMap::FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:265,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 267
    functionName: tcmalloc_internal::HugeAddressMap::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeAddressMap::first
    - tcmalloc_internal::HugeAddressMap::FixLongest
    - tcmalloc_internal::HugeAddressMap::root
    - HugeRange::len
    - Node*::range_::precedes
    - Node*::next
    - tcmalloc_internal::HugeAddressMap::Predecessor
    - HugeRange::precedes
    - Node*::range_::start
    - Node*::range_::intersects
    - HugeRange::start
    - tcmalloc_internal::HugeAddressMap::Merge
    - std::max
    - TC_CHECK
    - tcmalloc_internal::HugeAddressMap::Get
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Insert(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:270,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:271,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:272,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: HugeAddressMap::Node::FixLongest()
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - len
    - std::max
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Node::FixLongest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeAddressMap::Node*::FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeAddressMap::Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: tcmalloc_internal::HugeAddressMap::FixLongest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 5
    functionsReached:
    - HugeAddressMap::Node*::FixLongest
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::FixLongest(HugeAddressMap::Node* n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HugeAddressMap::Node*::range_::len
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:285,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:294,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:294,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:295,1
    - Dst: tcmalloc_internal::HugeAddressMap::FixLongest
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:303,1
    - Dst: Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:304,1
    - Dst: HugeAddressMap::Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:304,1
    - Dst: reorder_maybe
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:321,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:332,1
    - Dst: Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:334,1
    - Dst: Node*::range_::start
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:334,1
    - Dst: reorder_maybe
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:341,1
    - Dst: tcmalloc_internal::HugeAddressMap::Put
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeAddressMap::Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 346
    functionName: tcmalloc_internal::HugeAddressMap::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 2
    functionsReached:
    - HugeAddressMap::Node*::range_::len
    - reorder_maybe
    - tcmalloc_internal::HugeAddressMap::FixLongest
    - tcmalloc_internal::HugeAddressMap::Put
    - Node*::range_::start
    - std::max
    - NHugePages
    - HugeAddressMap::Node*::range_::start
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Remove(HugeAddressMap::Node* n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: tcmalloc_internal::HugeAddressMap::Put
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Put(Node* n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:359,1
    - Dst: reinterpret_cast<Node*>
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:362,1
    - Dst: meta_
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:362,1
    - Dst: Node::Node
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:363,1
    - Dst: Node::Node
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 370
    functionName: tcmalloc_internal::HugeAddressMap::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<Node*>
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - TC_CHECK_EQ
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - meta_
    - Node::Node
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::Get(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_address_map.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - r
    - prio
    argTypes:
    - HugeRange
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: HugeAddressMap::Node::Node(HugeRange r, int prio)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.cc
    functionUses: 0
    functionsReached:
    - absl::base_internal::CycleClock::Now
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::Node::Node(HugeRange r, int prio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:29,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:32,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:36,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:38,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:38,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:40,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - ASSERT_LE
    - sizemap
    - GTEST_SKIP
    - absl::MakeSpan
    - EXPECT_EQ
    - absl::Span::size
    linkageType: ''
    returnType: void
    signature: void TEST(SizeClassesTest, SmallClasses)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:29,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:32,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:36,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:38,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:38,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:40,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - ASSERT_LE
    - sizemap
    - GTEST_SKIP
    - absl::MakeSpan
    - EXPECT_EQ
    - absl::Span::size
    linkageType: ''
    returnType: void
    signature: void TEST(SizeClassesTest, SmallClasses)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:29,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:32,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:36,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:38,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:38,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:40,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - ASSERT_LE
    - sizemap
    - GTEST_SKIP
    - absl::MakeSpan
    - EXPECT_EQ
    - absl::Span::size
    linkageType: ''
    returnType: void
    signature: void TEST(SizeClassesTest, SmallClasses)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:29,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:32,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:36,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:38,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:38,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:40,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - ASSERT_LE
    - sizemap
    - GTEST_SKIP
    - absl::MakeSpan
    - EXPECT_EQ
    - absl::Span::size
    linkageType: ''
    returnType: void
    signature: void TEST(SizeClassesTest, SmallClasses)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:29,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:32,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:36,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:38,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:38,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:40,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - ASSERT_LE
    - sizemap
    - GTEST_SKIP
    - absl::MakeSpan
    - EXPECT_EQ
    - absl::Span::size
    linkageType: ''
    returnType: void
    signature: void TEST(SizeClassesTest, SmallClasses)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:29,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:32,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:36,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:38,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:38,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:40,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - ASSERT_LE
    - sizemap
    - GTEST_SKIP
    - absl::MakeSpan
    - EXPECT_EQ
    - absl::Span::size
    linkageType: ''
    returnType: void
    signature: void TEST(SizeClassesTest, SmallClasses)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:29,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:32,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:36,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:38,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:38,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:40,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - ASSERT_LE
    - sizemap
    - GTEST_SKIP
    - absl::MakeSpan
    - EXPECT_EQ
    - absl::Span::size
    linkageType: ''
    returnType: void
    signature: void TEST(SizeClassesTest, SmallClasses)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:29,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:32,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:36,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:38,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:38,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:40,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - ASSERT_LE
    - sizemap
    - GTEST_SKIP
    - absl::MakeSpan
    - EXPECT_EQ
    - absl::Span::size
    linkageType: ''
    returnType: void
    signature: void TEST(SizeClassesTest, SmallClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:51,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_test.cc:52,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:52,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:53,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/span_test.cc:56,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_test.cc:56,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:59,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:62,1
    - Dst: BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - sizemap
    - BuildFreelist
    - posix_memalign
    - Range
    - TC_CHECK_EQ
    - Span::Span
    - PageIdContaining
    - std::align_val_t
    - ::operator new
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void Init(size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_test.cc:67,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:68,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - std::align_val_t
    - free
    linkageType: ''
    returnType: void
    signature: void ~RawSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& span()'
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Span
    signature: Span & span()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/span_test.cc:91,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_test.cc:94,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:98,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_test.cc:100,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_test.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::SpanTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - GTEST_SKIP
    - GetParam
    - tcmalloc_internal::Span::CalcReciprocal
    - Init
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: tcmalloc::tcmalloc_internal::SpanTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:111,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:111,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:115,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:115,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:124,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:125,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:128,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:128,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:131,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:132,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:133,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:152,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:154,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:155,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:155,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:161,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - FreelistPopBatch
    - EXPECT_NEAR
    - absl::MakeSpan
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - Fragmentation
    - tcmalloc::tcmalloc_internal::span
    - reinterpret_cast<char*>
    - start_address
    - EXPECT_LT
    - FreelistEmpty
    - FreelistPush
    - bytes_in_span
    - EXPECT_FALSE
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AllocTime
    - tcmalloc::tcmalloc_internal::span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, AllocTime)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:174,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:176,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:176,1
    - Dst: absl::flat_hash_set::empty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:183,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:183,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:184,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:185,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:188,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:190,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:190,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:192,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:195,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:195,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:198,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:203,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:203,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:218,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - absl::flat_hash_set::empty
    - tcmalloc::tcmalloc_internal::span
    - reinterpret_cast<char*>
    - AllocTime
    - bytes_in_span
    - absl::Uniform<int32_t>
    - FreelistPopBatch
    - FreelistEmpty
    - EXPECT_EQ
    - absl::MakeSpan
    - EXPECT_TRUE
    - static_cast<char*>
    - EXPECT_LT
    - FreelistPush
    - absl::Bernoulli
    - absl::flat_hash_set::insert
    - start_address
    - absl::flat_hash_set::begin
    - absl::flat_hash_set::erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistRandomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_test.cc:231,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/span_test.cc:238,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/span_test.cc:238,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc_internal::Span::New
    - std::vector::push_back
    - EXPECT_EQ
    - tcmalloc_internal::Span::Delete
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST(SpanAllocatorTest, Alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:51,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_test.cc:52,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:52,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:53,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/span_test.cc:56,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_test.cc:56,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:59,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:62,1
    - Dst: BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - sizemap
    - BuildFreelist
    - posix_memalign
    - Range
    - TC_CHECK_EQ
    - Span::Span
    - PageIdContaining
    - std::align_val_t
    - ::operator new
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void Init(size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_test.cc:67,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:68,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - std::align_val_t
    - free
    linkageType: ''
    returnType: void
    signature: void ~RawSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& span()'
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Span
    signature: Span & span()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/span_test.cc:91,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_test.cc:94,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:98,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_test.cc:100,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_test.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::SpanTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - GTEST_SKIP
    - GetParam
    - tcmalloc_internal::Span::CalcReciprocal
    - Init
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: tcmalloc::tcmalloc_internal::SpanTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:111,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:111,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:115,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:115,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:124,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:125,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:128,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:128,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:131,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:132,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:133,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:152,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:154,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:155,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:155,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:161,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - FreelistPopBatch
    - EXPECT_NEAR
    - absl::MakeSpan
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - Fragmentation
    - tcmalloc::tcmalloc_internal::span
    - reinterpret_cast<char*>
    - start_address
    - EXPECT_LT
    - FreelistEmpty
    - FreelistPush
    - bytes_in_span
    - EXPECT_FALSE
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AllocTime
    - tcmalloc::tcmalloc_internal::span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, AllocTime)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:174,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:176,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:176,1
    - Dst: absl::flat_hash_set::empty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:183,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:183,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:184,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:185,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:188,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:190,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:190,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:192,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:195,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:195,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:198,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:203,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:203,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:218,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - absl::flat_hash_set::empty
    - tcmalloc::tcmalloc_internal::span
    - reinterpret_cast<char*>
    - AllocTime
    - bytes_in_span
    - absl::Uniform<int32_t>
    - FreelistPopBatch
    - FreelistEmpty
    - EXPECT_EQ
    - absl::MakeSpan
    - EXPECT_TRUE
    - static_cast<char*>
    - EXPECT_LT
    - FreelistPush
    - absl::Bernoulli
    - absl::flat_hash_set::insert
    - start_address
    - absl::flat_hash_set::begin
    - absl::flat_hash_set::erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistRandomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_test.cc:231,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/span_test.cc:238,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/span_test.cc:238,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc_internal::Span::New
    - std::vector::push_back
    - EXPECT_EQ
    - tcmalloc_internal::Span::Delete
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST(SpanAllocatorTest, Alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:51,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_test.cc:52,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:52,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:53,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/span_test.cc:56,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_test.cc:56,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:59,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:62,1
    - Dst: BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - sizemap
    - BuildFreelist
    - posix_memalign
    - Range
    - TC_CHECK_EQ
    - Span::Span
    - PageIdContaining
    - std::align_val_t
    - ::operator new
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void Init(size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_test.cc:67,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:68,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - std::align_val_t
    - free
    linkageType: ''
    returnType: void
    signature: void ~RawSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& span()'
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Span
    signature: Span & span()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/span_test.cc:91,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_test.cc:94,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:98,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_test.cc:100,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_test.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::SpanTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - GTEST_SKIP
    - GetParam
    - tcmalloc_internal::Span::CalcReciprocal
    - Init
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: tcmalloc::tcmalloc_internal::SpanTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:111,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:111,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:115,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:115,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:124,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:125,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:128,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:128,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:131,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:132,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:133,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:152,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:154,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:155,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:155,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:161,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - FreelistPopBatch
    - EXPECT_NEAR
    - absl::MakeSpan
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - Fragmentation
    - tcmalloc::tcmalloc_internal::span
    - reinterpret_cast<char*>
    - start_address
    - EXPECT_LT
    - FreelistEmpty
    - FreelistPush
    - bytes_in_span
    - EXPECT_FALSE
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AllocTime
    - tcmalloc::tcmalloc_internal::span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, AllocTime)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:174,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:176,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:176,1
    - Dst: absl::flat_hash_set::empty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:183,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:183,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:184,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:185,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:188,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:190,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:190,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:192,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:195,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:195,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:198,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:203,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:203,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:218,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - absl::flat_hash_set::empty
    - tcmalloc::tcmalloc_internal::span
    - reinterpret_cast<char*>
    - AllocTime
    - bytes_in_span
    - absl::Uniform<int32_t>
    - FreelistPopBatch
    - FreelistEmpty
    - EXPECT_EQ
    - absl::MakeSpan
    - EXPECT_TRUE
    - static_cast<char*>
    - EXPECT_LT
    - FreelistPush
    - absl::Bernoulli
    - absl::flat_hash_set::insert
    - start_address
    - absl::flat_hash_set::begin
    - absl::flat_hash_set::erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistRandomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_test.cc:231,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/span_test.cc:238,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/span_test.cc:238,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc_internal::Span::New
    - std::vector::push_back
    - EXPECT_EQ
    - tcmalloc_internal::Span::Delete
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST(SpanAllocatorTest, Alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:51,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_test.cc:52,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:52,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:53,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/span_test.cc:56,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_test.cc:56,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:59,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:62,1
    - Dst: BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - sizemap
    - BuildFreelist
    - posix_memalign
    - Range
    - TC_CHECK_EQ
    - Span::Span
    - PageIdContaining
    - std::align_val_t
    - ::operator new
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void Init(size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_test.cc:67,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:68,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - std::align_val_t
    - free
    linkageType: ''
    returnType: void
    signature: void ~RawSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& span()'
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Span
    signature: Span & span()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/span_test.cc:91,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_test.cc:94,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:98,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_test.cc:100,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_test.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::SpanTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - GTEST_SKIP
    - GetParam
    - tcmalloc_internal::Span::CalcReciprocal
    - Init
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: tcmalloc::tcmalloc_internal::SpanTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:111,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:111,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:115,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:115,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:124,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:125,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:128,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:128,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:131,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:132,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:133,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:152,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:154,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:155,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:155,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:161,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - FreelistPopBatch
    - EXPECT_NEAR
    - absl::MakeSpan
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - Fragmentation
    - tcmalloc::tcmalloc_internal::span
    - reinterpret_cast<char*>
    - start_address
    - EXPECT_LT
    - FreelistEmpty
    - FreelistPush
    - bytes_in_span
    - EXPECT_FALSE
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AllocTime
    - tcmalloc::tcmalloc_internal::span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, AllocTime)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:174,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:176,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:176,1
    - Dst: absl::flat_hash_set::empty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:183,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:183,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:184,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:185,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:188,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:190,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:190,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:192,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:195,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:195,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:198,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:203,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:203,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:218,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - absl::flat_hash_set::empty
    - tcmalloc::tcmalloc_internal::span
    - reinterpret_cast<char*>
    - AllocTime
    - bytes_in_span
    - absl::Uniform<int32_t>
    - FreelistPopBatch
    - FreelistEmpty
    - EXPECT_EQ
    - absl::MakeSpan
    - EXPECT_TRUE
    - static_cast<char*>
    - EXPECT_LT
    - FreelistPush
    - absl::Bernoulli
    - absl::flat_hash_set::insert
    - start_address
    - absl::flat_hash_set::begin
    - absl::flat_hash_set::erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistRandomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_test.cc:231,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/span_test.cc:238,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/span_test.cc:238,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc_internal::Span::New
    - std::vector::push_back
    - EXPECT_EQ
    - tcmalloc_internal::Span::Delete
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST(SpanAllocatorTest, Alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:51,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_test.cc:52,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:52,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:53,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/span_test.cc:56,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_test.cc:56,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:59,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:62,1
    - Dst: BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - sizemap
    - BuildFreelist
    - posix_memalign
    - Range
    - TC_CHECK_EQ
    - Span::Span
    - PageIdContaining
    - std::align_val_t
    - ::operator new
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void Init(size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_test.cc:67,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:68,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - std::align_val_t
    - free
    linkageType: ''
    returnType: void
    signature: void ~RawSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& span()'
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Span
    signature: Span & span()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/span_test.cc:91,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_test.cc:94,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:98,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_test.cc:100,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_test.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::SpanTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - GTEST_SKIP
    - GetParam
    - tcmalloc_internal::Span::CalcReciprocal
    - Init
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: tcmalloc::tcmalloc_internal::SpanTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:111,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:111,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:115,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:115,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:124,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:125,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:128,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:128,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:131,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:132,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:133,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:152,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:154,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:155,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:155,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:161,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - FreelistPopBatch
    - EXPECT_NEAR
    - absl::MakeSpan
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - Fragmentation
    - tcmalloc::tcmalloc_internal::span
    - reinterpret_cast<char*>
    - start_address
    - EXPECT_LT
    - FreelistEmpty
    - FreelistPush
    - bytes_in_span
    - EXPECT_FALSE
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AllocTime
    - tcmalloc::tcmalloc_internal::span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, AllocTime)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:174,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:176,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:176,1
    - Dst: absl::flat_hash_set::empty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:183,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:183,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:184,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:185,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:188,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:190,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:190,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:192,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:195,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:195,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:198,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:203,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:203,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:218,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - absl::flat_hash_set::empty
    - tcmalloc::tcmalloc_internal::span
    - reinterpret_cast<char*>
    - AllocTime
    - bytes_in_span
    - absl::Uniform<int32_t>
    - FreelistPopBatch
    - FreelistEmpty
    - EXPECT_EQ
    - absl::MakeSpan
    - EXPECT_TRUE
    - static_cast<char*>
    - EXPECT_LT
    - FreelistPush
    - absl::Bernoulli
    - absl::flat_hash_set::insert
    - start_address
    - absl::flat_hash_set::begin
    - absl::flat_hash_set::erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistRandomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_test.cc:231,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/span_test.cc:238,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/span_test.cc:238,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc_internal::Span::New
    - std::vector::push_back
    - EXPECT_EQ
    - tcmalloc_internal::Span::Delete
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST(SpanAllocatorTest, Alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:51,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_test.cc:52,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:52,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:53,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/span_test.cc:56,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_test.cc:56,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:59,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:62,1
    - Dst: BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - sizemap
    - BuildFreelist
    - posix_memalign
    - Range
    - TC_CHECK_EQ
    - Span::Span
    - PageIdContaining
    - std::align_val_t
    - ::operator new
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void Init(size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_test.cc:67,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:68,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - std::align_val_t
    - free
    linkageType: ''
    returnType: void
    signature: void ~RawSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& span()'
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Span
    signature: Span & span()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/span_test.cc:91,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_test.cc:94,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:98,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_test.cc:100,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_test.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::SpanTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - GTEST_SKIP
    - GetParam
    - tcmalloc_internal::Span::CalcReciprocal
    - Init
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: tcmalloc::tcmalloc_internal::SpanTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:111,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:111,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:115,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:115,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:124,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:125,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:128,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:128,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:131,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:132,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:133,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:152,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:154,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:155,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:155,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:161,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - FreelistPopBatch
    - EXPECT_NEAR
    - absl::MakeSpan
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - Fragmentation
    - tcmalloc::tcmalloc_internal::span
    - reinterpret_cast<char*>
    - start_address
    - EXPECT_LT
    - FreelistEmpty
    - FreelistPush
    - bytes_in_span
    - EXPECT_FALSE
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AllocTime
    - tcmalloc::tcmalloc_internal::span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, AllocTime)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:174,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:176,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:176,1
    - Dst: absl::flat_hash_set::empty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:183,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:183,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:184,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:185,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:188,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:190,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:190,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:192,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:195,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:195,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:198,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:203,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:203,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:218,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - absl::flat_hash_set::empty
    - tcmalloc::tcmalloc_internal::span
    - reinterpret_cast<char*>
    - AllocTime
    - bytes_in_span
    - absl::Uniform<int32_t>
    - FreelistPopBatch
    - FreelistEmpty
    - EXPECT_EQ
    - absl::MakeSpan
    - EXPECT_TRUE
    - static_cast<char*>
    - EXPECT_LT
    - FreelistPush
    - absl::Bernoulli
    - absl::flat_hash_set::insert
    - start_address
    - absl::flat_hash_set::begin
    - absl::flat_hash_set::erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistRandomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_test.cc:231,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/span_test.cc:238,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/span_test.cc:238,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc_internal::Span::New
    - std::vector::push_back
    - EXPECT_EQ
    - tcmalloc_internal::Span::Delete
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST(SpanAllocatorTest, Alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:51,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_test.cc:52,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:52,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:53,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/span_test.cc:56,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_test.cc:56,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:59,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:62,1
    - Dst: BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - sizemap
    - BuildFreelist
    - posix_memalign
    - Range
    - TC_CHECK_EQ
    - Span::Span
    - PageIdContaining
    - std::align_val_t
    - ::operator new
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void Init(size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_test.cc:67,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:68,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - std::align_val_t
    - free
    linkageType: ''
    returnType: void
    signature: void ~RawSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& span()'
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Span
    signature: Span & span()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/span_test.cc:91,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_test.cc:94,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:98,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_test.cc:100,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_test.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::SpanTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - GTEST_SKIP
    - GetParam
    - tcmalloc_internal::Span::CalcReciprocal
    - Init
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: tcmalloc::tcmalloc_internal::SpanTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:111,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:111,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:115,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:115,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:124,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:125,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:128,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:128,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:131,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:132,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:133,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:152,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:154,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:155,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:155,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:161,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - FreelistPopBatch
    - EXPECT_NEAR
    - absl::MakeSpan
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - Fragmentation
    - tcmalloc::tcmalloc_internal::span
    - reinterpret_cast<char*>
    - start_address
    - EXPECT_LT
    - FreelistEmpty
    - FreelistPush
    - bytes_in_span
    - EXPECT_FALSE
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AllocTime
    - tcmalloc::tcmalloc_internal::span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, AllocTime)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:174,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:176,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:176,1
    - Dst: absl::flat_hash_set::empty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:183,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:183,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:184,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:185,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:188,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:190,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:190,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:192,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:195,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:195,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:198,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:203,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:203,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:218,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - absl::flat_hash_set::empty
    - tcmalloc::tcmalloc_internal::span
    - reinterpret_cast<char*>
    - AllocTime
    - bytes_in_span
    - absl::Uniform<int32_t>
    - FreelistPopBatch
    - FreelistEmpty
    - EXPECT_EQ
    - absl::MakeSpan
    - EXPECT_TRUE
    - static_cast<char*>
    - EXPECT_LT
    - FreelistPush
    - absl::Bernoulli
    - absl::flat_hash_set::insert
    - start_address
    - absl::flat_hash_set::begin
    - absl::flat_hash_set::erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistRandomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_test.cc:231,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/span_test.cc:238,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/span_test.cc:238,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc_internal::Span::New
    - std::vector::push_back
    - EXPECT_EQ
    - tcmalloc_internal::Span::Delete
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST(SpanAllocatorTest, Alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:51,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_test.cc:52,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:52,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:53,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/span_test.cc:56,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_test.cc:56,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:59,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:62,1
    - Dst: BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - sizemap
    - BuildFreelist
    - posix_memalign
    - Range
    - TC_CHECK_EQ
    - Span::Span
    - PageIdContaining
    - std::align_val_t
    - ::operator new
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void Init(size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_test.cc:67,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:68,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/span_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - std::align_val_t
    - free
    linkageType: ''
    returnType: void
    signature: void ~RawSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& span()'
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Span
    signature: Span & span()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/span_test.cc:91,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_test.cc:94,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:98,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_test.cc:100,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_test.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::SpanTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - GTEST_SKIP
    - GetParam
    - tcmalloc_internal::Span::CalcReciprocal
    - Init
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: tcmalloc::tcmalloc_internal::SpanTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:111,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:111,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:115,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:115,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:124,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:125,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:128,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:128,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:131,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:132,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:133,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:152,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:154,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:155,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:155,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:161,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - FreelistPopBatch
    - EXPECT_NEAR
    - absl::MakeSpan
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - Fragmentation
    - tcmalloc::tcmalloc_internal::span
    - reinterpret_cast<char*>
    - start_address
    - EXPECT_LT
    - FreelistEmpty
    - FreelistPush
    - bytes_in_span
    - EXPECT_FALSE
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AllocTime
    - tcmalloc::tcmalloc_internal::span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, AllocTime)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:174,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:176,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:176,1
    - Dst: absl::flat_hash_set::empty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:183,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:183,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:184,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_test.cc:185,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:188,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:190,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:190,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:192,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:195,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:195,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:198,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:203,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:203,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:218,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - absl::flat_hash_set::empty
    - tcmalloc::tcmalloc_internal::span
    - reinterpret_cast<char*>
    - AllocTime
    - bytes_in_span
    - absl::Uniform<int32_t>
    - FreelistPopBatch
    - FreelistEmpty
    - EXPECT_EQ
    - absl::MakeSpan
    - EXPECT_TRUE
    - static_cast<char*>
    - EXPECT_LT
    - FreelistPush
    - absl::Bernoulli
    - absl::flat_hash_set::insert
    - start_address
    - absl::flat_hash_set::begin
    - absl::flat_hash_set::erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistRandomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_test.cc:231,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/span_test.cc:238,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/span_test.cc:238,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc_internal::Span::New
    - std::vector::push_back
    - EXPECT_EQ
    - tcmalloc_internal::Span::Delete
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST(SpanAllocatorTest, Alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: tcmalloc::tcmalloc_internal::default_want_legacy_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/want_legacy_size_classes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: ABSL_ATTRIBUTE_UNUSED default_want_legacy_size_classes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: tcmalloc::tcmalloc_internal::default_want_legacy_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/want_legacy_size_classes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: ABSL_ATTRIBUTE_UNUSED default_want_legacy_size_classes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: tcmalloc::tcmalloc_internal::default_want_legacy_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/want_legacy_size_classes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: ABSL_ATTRIBUTE_UNUSED default_want_legacy_size_classes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: tcmalloc::tcmalloc_internal::default_want_legacy_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/want_legacy_size_classes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: ABSL_ATTRIBUTE_UNUSED default_want_legacy_size_classes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tc_fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: TCMALLOC_ALIAS
    functionSourceFile: /src/tcmalloc/tcmalloc/libc_override.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_ALIAS(tc_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/libc_override.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - caller
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: glibc_override_malloc
    functionSourceFile: /src/tcmalloc/tcmalloc/libc_override.h
    functionUses: 0
    functionsReached:
    - TCMallocInternalMalloc
    linkageType: ''
    returnType: void
    signature: void * glibc_override_malloc(size_t size, const void* caller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalRealloc
      Src: /src/tcmalloc/tcmalloc/libc_override.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - size
    - caller
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: glibc_override_realloc
    functionSourceFile: /src/tcmalloc/tcmalloc/libc_override.h
    functionUses: 0
    functionsReached:
    - TCMallocInternalRealloc
    linkageType: ''
    returnType: void
    signature: "void * glibc_override_realloc(void* ptr, size_t size,\n                                    const
      void* caller)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/libc_override.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - caller
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: glibc_override_free
    functionSourceFile: /src/tcmalloc/tcmalloc/libc_override.h
    functionUses: 0
    functionsReached:
    - TCMallocInternalFree
    linkageType: ''
    returnType: void
    signature: void glibc_override_free(void* ptr, const void* caller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalMemalign
      Src: /src/tcmalloc/tcmalloc/libc_override.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - align
    - size
    - caller
    argTypes:
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: glibc_override_memalign
    functionSourceFile: /src/tcmalloc/tcmalloc/libc_override.h
    functionUses: 0
    functionsReached:
    - TCMallocInternalMemalign
    linkageType: ''
    returnType: void
    signature: "void * glibc_override_memalign(size_t align, size_t size,\n                                     const
      void* caller)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:42,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:42,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:43,1
    - Dst: fgets
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:46,1
    - Dst: sscanf
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:48,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:50,1
    - Dst: feof
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:50,1
    - Dst: fclose
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:51,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:59,1
    - Dst: tcmalloc_internal::GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:59,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:60,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 64
    functionName: tcmalloc::MemoryUsageSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache_test.cc
    functionUses: 0
    functionsReached:
    - fopen
    - TC_CHECK_NE
    - fclose
    - feof
    - TC_CHECK
    - EXPECT_GE
    - EXPECT_LE
    - sscanf
    - absl::StrCat
    - fgets
    - tcmalloc_internal::GetMemoryStats
    linkageType: ''
    returnType: int64_t
    signature: int64_t MemoryUsageSlow(pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: tcmalloc::ThreadCacheTest::ThreadCacheTest
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void ThreadCacheTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:85,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:87,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:87,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:100,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:101,1
    - Dst: tcmalloc::MemoryUsageSlow
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:103,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:103,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:104,1
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:110,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:111,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:112,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:115,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:119,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:119,1
    - Dst: tcmalloc::MemoryUsageSlow
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:123,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:123,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 129
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - calloc
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - tcmalloc::MemoryUsageSlow
    - benchmark::DoNotOptimize
    - std::thread::join
    - tcmalloc_internal::max
    - ASSERT_FALSE
    - mlockall
    - getpid
    - EXPECT_GE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - ::operator delete
    - free
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(ThreadCacheTest, NoLeakOnThreadDestruction)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:42,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:42,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:43,1
    - Dst: fgets
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:46,1
    - Dst: sscanf
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:48,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:50,1
    - Dst: feof
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:50,1
    - Dst: fclose
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:51,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:59,1
    - Dst: tcmalloc_internal::GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:59,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:60,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 64
    functionName: tcmalloc::MemoryUsageSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache_test.cc
    functionUses: 1
    functionsReached:
    - fopen
    - TC_CHECK_NE
    - fclose
    - feof
    - TC_CHECK
    - EXPECT_GE
    - EXPECT_LE
    - sscanf
    - absl::StrCat
    - fgets
    - tcmalloc_internal::GetMemoryStats
    linkageType: ''
    returnType: int64_t
    signature: int64_t MemoryUsageSlow(pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: tcmalloc::ThreadCacheTest::ThreadCacheTest
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void ThreadCacheTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:85,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:87,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:87,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:100,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:101,1
    - Dst: tcmalloc::MemoryUsageSlow
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:103,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:103,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:104,1
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:110,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:111,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:112,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:115,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:119,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:119,1
    - Dst: tcmalloc::MemoryUsageSlow
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:123,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:123,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 129
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - calloc
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - tcmalloc::MemoryUsageSlow
    - benchmark::DoNotOptimize
    - std::thread::join
    - tcmalloc_internal::max
    - ASSERT_FALSE
    - mlockall
    - getpid
    - EXPECT_GE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - ::operator delete
    - free
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(ThreadCacheTest, NoLeakOnThreadDestruction)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:42,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:42,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:43,1
    - Dst: fgets
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:46,1
    - Dst: sscanf
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:48,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:50,1
    - Dst: feof
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:50,1
    - Dst: fclose
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:51,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:59,1
    - Dst: tcmalloc_internal::GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:59,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:60,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 64
    functionName: tcmalloc::MemoryUsageSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache_test.cc
    functionUses: 2
    functionsReached:
    - fopen
    - TC_CHECK_NE
    - fclose
    - feof
    - TC_CHECK
    - EXPECT_GE
    - EXPECT_LE
    - sscanf
    - absl::StrCat
    - fgets
    - tcmalloc_internal::GetMemoryStats
    linkageType: ''
    returnType: int64_t
    signature: int64_t MemoryUsageSlow(pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: tcmalloc::ThreadCacheTest::ThreadCacheTest
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void ThreadCacheTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:85,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:87,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:87,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:100,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:101,1
    - Dst: tcmalloc::MemoryUsageSlow
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:103,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:103,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:104,1
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:110,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:111,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:112,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:115,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:119,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:119,1
    - Dst: tcmalloc::MemoryUsageSlow
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:123,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:123,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 129
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - calloc
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - tcmalloc::MemoryUsageSlow
    - benchmark::DoNotOptimize
    - std::thread::join
    - tcmalloc_internal::max
    - ASSERT_FALSE
    - mlockall
    - getpid
    - EXPECT_GE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - ::operator delete
    - free
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(ThreadCacheTest, NoLeakOnThreadDestruction)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:42,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:42,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:43,1
    - Dst: fgets
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:46,1
    - Dst: sscanf
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:48,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:50,1
    - Dst: feof
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:50,1
    - Dst: fclose
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:51,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:59,1
    - Dst: tcmalloc_internal::GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:59,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:60,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 64
    functionName: tcmalloc::MemoryUsageSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache_test.cc
    functionUses: 3
    functionsReached:
    - fopen
    - TC_CHECK_NE
    - fclose
    - feof
    - TC_CHECK
    - EXPECT_GE
    - EXPECT_LE
    - sscanf
    - absl::StrCat
    - fgets
    - tcmalloc_internal::GetMemoryStats
    linkageType: ''
    returnType: int64_t
    signature: int64_t MemoryUsageSlow(pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: tcmalloc::ThreadCacheTest::ThreadCacheTest
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void ThreadCacheTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:85,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:87,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:87,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:100,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:101,1
    - Dst: tcmalloc::MemoryUsageSlow
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:103,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:103,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:104,1
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:110,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:111,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:112,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:115,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:119,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:119,1
    - Dst: tcmalloc::MemoryUsageSlow
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:123,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:123,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/thread_cache_test.cc:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 129
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - calloc
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - tcmalloc::MemoryUsageSlow
    - benchmark::DoNotOptimize
    - std::thread::join
    - tcmalloc_internal::max
    - ASSERT_FALSE
    - mlockall
    - getpid
    - EXPECT_GE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - ::operator delete
    - free
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(ThreadCacheTest, NoLeakOnThreadDestruction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: tcmalloc::tcmalloc_internal::default_want_disable_huge_region_more_often
    functionSourceFile: /src/tcmalloc/tcmalloc/want_disable_huge_region_more_often.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: ABSL_ATTRIBUTE_UNUSED default_want_disable_huge_region_more_often()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: tcmalloc::tcmalloc_internal::default_want_disable_huge_region_more_often
    functionSourceFile: /src/tcmalloc/tcmalloc/want_disable_huge_region_more_often.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: ABSL_ATTRIBUTE_UNUSED default_want_disable_huge_region_more_often()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: tcmalloc::tcmalloc_internal::default_want_disable_huge_region_more_often
    functionSourceFile: /src/tcmalloc/tcmalloc/want_disable_huge_region_more_often.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: ABSL_ATTRIBUTE_UNUSED default_want_disable_huge_region_more_often()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: tcmalloc::tcmalloc_internal::default_want_disable_huge_region_more_often
    functionSourceFile: /src/tcmalloc/tcmalloc/want_disable_huge_region_more_often.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: ABSL_ATTRIBUTE_UNUSED default_want_disable_huge_region_more_often()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 74
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.h
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::StackTraceTable::Type
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProfileType
    signature: ProfileType Type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - start_time
    argTypes:
    - absl::Time
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc_internal::StackTraceTable::SetStartTime
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStartTime(absl::Time start_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::StackTraceTable::StartTime
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<absl::Time>
    signature: std::optional<absl::Time> StartTime() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc_internal::StackTraceTable::SetDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDuration(absl::Duration duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: tcmalloc_internal::StackTraceTable::Duration
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Duration() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: tcmalloc_internal::StackTraceTable::depth_total
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int depth_total() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::StackTraceTable::Type
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProfileType
    signature: ProfileType Type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - start_time
    argTypes:
    - absl::Time
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc_internal::StackTraceTable::SetStartTime
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStartTime(absl::Time start_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::StackTraceTable::StartTime
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<absl::Time>
    signature: std::optional<absl::Time> StartTime() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc_internal::StackTraceTable::SetDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDuration(absl::Duration duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: tcmalloc_internal::StackTraceTable::Duration
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Duration() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: tcmalloc_internal::StackTraceTable::depth_total
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int depth_total() const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:80,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:84,1
    - Dst: CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:101,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:102,1
    - Dst: CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:104,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:138,1
    - Dst: NumShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:139,1
    - Dst: reinterpret_cast<Shard *>
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:140,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:140,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:142,1
    - Dst: Shard::Shard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:145,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:148,1
    - Dst: UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:157,1
    - Dst: UseCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:159,1
    - Dst: UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:160,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:174,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:176,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:178,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:189,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:190,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:196,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:196,1
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:199,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:199,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:204,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:204,1
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:205,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:205,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:209,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:210,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:211,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:212,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:213,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:214,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:215,1
    - Dst: UseCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:216,1
    - Dst: UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:216,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:218,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:219,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:220,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:224,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:226,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:229,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:238,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:244,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:255,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:256,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:257,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:257,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:258,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:259,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:260,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:261,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:262,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:263,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:264,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:265,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:266,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:267,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:267,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:269,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:269,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:276,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:279,1
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:294,1
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:298,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:306,1
    - Dst: TransferCache::TryPlunder
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:309,1
    - Dst: TransferCache::freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:309,1
    - Dst: CpuShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:316,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:317,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:318,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:319,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:324,1
    - Dst: initialized::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:325,1
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::EnableCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:329,1
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:332,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:335,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:348,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:363,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:365,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:370,1
    - Dst: TransferCache::CapacityNeeded
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:371,1
    - Dst: reinterpret_cast<TransferCache *>
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:377,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:378,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:380,1
    - Dst: UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:382,1
    - Dst: ScaledCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:382,1
    - Dst: LargeCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:383,1
    - Dst: TransferCache::TransferCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:384,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:387,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:390,1
    - Dst: Shard::initialized::store
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:391,1
    - Dst: CpuShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:398,1
    - Dst: CurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:398,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:399,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:401,1
    - Dst: InitShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:402,1
    - Dst: InitCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:433,1
    - Dst: tc::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:436,1
    - Dst: tc::RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:440,1
    - Dst: tc::tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:446,1
    - Dst: tc::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:450,1
    - Dst: tc::freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:454,1
    - Dst: tc::CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:458,1
    - Dst: std::max<int>
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:464,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:465,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:470,1
    - Dst: tc::TryPlunder
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:478,1
    - Dst: TransferCache::TransferCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:484,1
    - Dst: tc::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:489,1
    - Dst: tc::IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:493,1
    - Dst: tc::FetchCommitIntervalMisses
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:497,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:501,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:502,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:503,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:504,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:505,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:509,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:510,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:513,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:522,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:529,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:540,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:541,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:542,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:542,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:543,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:544,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:545,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:546,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:547,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:548,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:549,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:550,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:551,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:552,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:553,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:553,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:579,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:584,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:588,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 262
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 639
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tc::GetStats
    - GetStats
    - get_cache
    - fetch_add
    - reinterpret_cast<Shard *>
    - TransferCache::freelist
    - printf
    - freelist
    - store
    - tc::InsertRange
    - absl::base_internal::LowLevelCallOnce
    - TryResizingCaches
    - UseGenericCache
    - tc::IncreaseCacheCapacity
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - should_use
    - reinterpret_cast<TransferCache *>
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::UseGenericCache
    - PbtxtRegion::PrintI64
    - InitCaches
    - std::max<int>
    - ScaledCacheCapacity
    - TC_ASSERT
    - CreateSubRegion
    - TransferCache::TransferCache
    - InitShard
    - load
    - TC_ASSERT_NE
    - shard_initialized
    - absl::MakeSpan
    - LargeCacheCapacity
    - tc::TryPlunder
    - initialized::load
    - PrintI64
    - CurrentCpu
    - tc::tc_length
    - NumShards
    - CpuShard
    - value
    - Init
    - tc::CanIncreaseCapacity
    - static_cast<int>
    - CacheTopology::Instance
    - TransferCache::CapacityNeeded
    - tc::ShrinkCache
    - tc::FetchCommitIntervalMisses
    - IsExperimentActive
    - Shard::Shard
    - Alloc
    - NumActiveShards
    - Shard::initialized::store
    - RemoveRange
    - UseCacheForLargeClassesOnly
    - tc::freelist
    - tc::RemoveRange
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - TransferCache::TryPlunder
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::EnableCacheForLargeClassesOnly
    - tc_length
    - InsertRange
    - TC_ASSERT_LT
    - class_to_size
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:80,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: tcmalloc_internal::ShardedStaticForwarder::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: tcmalloc_internal::ShardedStaticForwarder::UseGenericCache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseGenericCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: tcmalloc_internal::ShardedStaticForwarder::EnableCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EnableCacheForLargeClassesOnly()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::ProdCpuLayout::NumShards
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - CacheTopology::Instance
    linkageType: ''
    returnType: unsigned
    signature: unsigned NumShards()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::ProdCpuLayout::CurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    linkageType: ''
    returnType: int
    signature: int CurrentCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: tcmalloc_internal::ProdCpuLayout::CpuShard
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - CacheTopology::Instance
    linkageType: ''
    returnType: unsigned
    signature: unsigned CpuShard(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: tcmalloc_internal::BackingTransferCache::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: tcmalloc_internal::BackingTransferCache::size_class
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int size_class() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - owner
    - cpu_layout
    argTypes:
    - Manager*
    - CpuLayout*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::ShardedTransferCacheManagerBase
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ShardedTransferCacheManagerBase(Manager *owner,\n                                            CpuLayout
      *cpu_layout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::Init
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:138,1
    - Dst: NumShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:139,1
    - Dst: reinterpret_cast<Shard *>
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:140,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:140,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:142,1
    - Dst: Shard::Shard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:145,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:148,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:157,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:159,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 164
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - Shard::Shard
    - TC_ASSERT_NE
    - Alloc
    - reinterpret_cast<Shard *>
    - NumShards
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
    - tcmalloc_internal::ShardedTransferCacheManagerBase::Init
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::should_use
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_use(int size_class) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:174,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:176,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:178,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::TotalBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    linkageType: ''
    returnType: size_t
    signature: size_t TotalBytes() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:189,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::TotalObjectsOfClass
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
    - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    linkageType: ''
    returnType: int
    signature: int TotalObjectsOfClass(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:196,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:196,1
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:199,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - TC_ASSERT
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - get_cache
    linkageType: ''
    returnType: void
    signature: void *Pop(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:204,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:204,1
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:205,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size_class
    - ptr
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - TC_ASSERT
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - get_cache
    linkageType: ''
    returnType: void
    signature: void Push(int size_class, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:209,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:210,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:211,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:212,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:213,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:214,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:215,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:216,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:216,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:218,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:219,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:220,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:224,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:226,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:229,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:238,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - counts
    - out
    argTypes:
    - StatsCounters<kNumClasses>
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 250
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - Printer::printf
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
    - value
    - tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
    - tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
    linkageType: ''
    returnType: void
    signature: void Print(const StatsCounters<kNumClasses> &counts, Printer &out)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:255,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:256,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:257,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:257,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:258,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:259,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:260,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:261,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:262,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:263,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:264,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:265,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:266,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:267,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:267,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:269,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - counts
    - region
    argTypes:
    - StatsCounters<kNumClasses>
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 270
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - PbtxtRegion::CreateSubRegion
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - PbtxtRegion::PrintI64
    - value
    - tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
    - tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
    linkageType: ''
    returnType: void
    signature: "void PrintInPbtxt(const StatsCounters<kNumClasses> &counts,\n                    PbtxtRegion
      &region) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:276,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 291
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
    - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    linkageType: ''
    returnType: TransferCacheStats
    signature: TransferCacheStats GetStats(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - get_cache
    linkageType: ''
    returnType: int
    signature: int RemoveRange(int size_class, absl::Span<void *> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - get_cache
    linkageType: ''
    returnType: void
    signature: void InsertRange(int size_class, absl::Span<void *> batch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:306,1
    - Dst: TransferCache::TryPlunder
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:309,1
    - Dst: TransferCache::freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Plunder
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - TransferCache::freelist
    - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    - TransferCache::TryPlunder
    linkageType: ''
    returnType: void
    signature: void Plunder()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CpuShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:316,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:317,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:318,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
    - CpuShard
    - TC_ASSERT_LT
    - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    linkageType: ''
    returnType: int
    signature: int tc_length(int cpu, int size_class) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:324,1
    - Dst: initialized::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - shard
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 5
    functionsReached:
    - initialized::load
    - TC_ASSERT_LT
    linkageType: ''
    returnType: bool
    signature: bool shard_initialized(int shard) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::EnableCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::EnableCacheForLargeClassesOnly
    linkageType: ''
    returnType: bool
    signature: bool UseCacheForLargeClassesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::UseGenericCache
    linkageType: ''
    returnType: bool
    signature: bool UseGenericCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 2
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int NumActiveShards() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Shard
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void Shard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:363,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::LargeCacheCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - tcmalloc_internal::ShardedTransferCacheManagerBase::should_use
    linkageType: ''
    returnType: Capacity
    signature: Capacity LargeCacheCapacity(size_t size_class) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:370,1
    - Dst: TransferCache::CapacityNeeded
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::ScaledCacheCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::should_use
    - TransferCache::CapacityNeeded
    linkageType: ''
    returnType: Capacity
    signature: Capacity ScaledCacheCapacity(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TransferCache *>
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:377,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:378,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:380,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:382,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::ScaledCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:382,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::LargeCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:383,1
    - Dst: TransferCache::TransferCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:384,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:387,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:390,1
    - Dst: Shard::initialized::store
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - shard
    argTypes:
    - Shard
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 392
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::InitShard
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::ScaledCacheCapacity
    - TC_ASSERT_NE
    - reinterpret_cast<TransferCache *>
    - Alloc
    - Shard::initialized::store
    - fetch_add
    - tcmalloc_internal::ShardedTransferCacheManagerBase::LargeCacheCapacity
    - freelist
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
    - TransferCache::TransferCache
    linkageType: ''
    returnType: void
    signature: void InitShard(Shard &shard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:398,1
    - Dst: CurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:398,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:399,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:401,1
    - Dst: InitShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: '&get_cache(int size_class)'
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - InitShard
    - CurrentCpu
    - CpuShard
    - absl::base_internal::LowLevelCallOnce
    - TC_ASSERT_LT
    linkageType: ''
    returnType: TransferCache
    signature: TransferCache &get_cache(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 428
    functionName: tcmalloc_internal::TransferCacheManager::TransferCacheManager
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransferCacheManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 430
    functionName: tcmalloc_internal::TransferCacheManager::TransferCacheManager
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransferCacheManager(const TransferCacheManager &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 431
    functionName: '&operator=(const TransferCacheManager &)'
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TransferCacheManager
    signature: TransferCacheManager &operator=(const TransferCacheManager &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TransferCacheManager::InitCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 433
    functionName: tcmalloc_internal::TransferCacheManager::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TransferCacheManager::InitCaches
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: tcmalloc_internal::TransferCacheManager::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::InsertRange
    linkageType: ''
    returnType: void
    signature: void InsertRange(int size_class, absl::Span<void *> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: tcmalloc_internal::TransferCacheManager::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::RemoveRange
    linkageType: ''
    returnType: int
    signature: int RemoveRange(int size_class, absl::Span<void *> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 447
    functionName: tcmalloc_internal::TransferCacheManager::tc_length
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::tc_length
    linkageType: ''
    returnType: size_t
    signature: size_t tc_length(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: tcmalloc_internal::TransferCacheManager::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::GetStats
    linkageType: ''
    returnType: TransferCacheStats
    signature: TransferCacheStats GetStats(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: '&central_freelist(int size_class)'
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::freelist
    linkageType: ''
    returnType: CentralFreeList
    signature: CentralFreeList &central_freelist(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 459
    functionName: tcmalloc_internal::TransferCacheManager::CanIncreaseCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::CanIncreaseCapacity
    linkageType: ''
    returnType: bool
    signature: bool CanIncreaseCapacity(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TransferCacheManager::TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 471
    functionName: tcmalloc_internal::TransferCacheManager::TryResizingCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::TransferCacheManager::TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TryResizingCaches()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::TryPlunder
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: tcmalloc_internal::TransferCacheManager::TryPlunder
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::TryPlunder
    linkageType: ''
    returnType: void
    signature: void TryPlunder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransferCache::TransferCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: tcmalloc_internal::TransferCacheManager::InitCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 1
    functionsReached:
    - TransferCache::TransferCache
    linkageType: ''
    returnType: void
    signature: void InitCaches()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: tcmalloc_internal::TransferCacheManager::ShrinkCache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::ShrinkCache
    linkageType: ''
    returnType: bool
    signature: bool ShrinkCache(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 494
    functionName: tcmalloc_internal::TransferCacheManager::IncreaseCacheCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::IncreaseCacheCapacity
    linkageType: ''
    returnType: bool
    signature: bool IncreaseCacheCapacity(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::FetchCommitIntervalMisses
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 498
    functionName: tcmalloc_internal::TransferCacheManager::FetchCommitIntervalMisses
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::FetchCommitIntervalMisses
    linkageType: ''
    returnType: size_t
    signature: size_t FetchCommitIntervalMisses(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:501,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:502,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:503,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:504,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:505,1
    - Dst: tcmalloc_internal::TransferCacheManager::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:509,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:510,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:513,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:522,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - counts
    - out
    argTypes:
    - StatsCounters<kNumClasses>
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 535
    functionName: tcmalloc_internal::TransferCacheManager::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - Printer::printf
    - value
    - tcmalloc_internal::TransferCacheManager::GetStats
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void Print(const StatsCounters<kNumClasses> &counts, Printer &out)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:540,1
    - Dst: tcmalloc_internal::TransferCacheManager::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:541,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:542,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:542,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:543,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:544,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:545,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:546,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:547,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:548,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:549,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:550,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:551,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:552,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:553,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - counts
    - region
    argTypes:
    - StatsCounters<kNumClasses>
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 555
    functionName: tcmalloc_internal::TransferCacheManager::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - PbtxtRegion::CreateSubRegion
    - tcmalloc_internal::TransferCacheManager::GetStats
    - PbtxtRegion::PrintI64
    - value
    - class_to_size
    linkageType: ''
    returnType: void
    signature: "void PrintInPbtxt(const StatsCounters<kNumClasses> &counts,\n                    PbtxtRegion
      &region) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 559
    functionName: tcmalloc_internal::TransferCacheManager::Cache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 560
    functionName: ~Cache()
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 573
    functionName: tcmalloc_internal::TransferCacheManager::TransferCacheManager
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransferCacheManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 574
    functionName: tcmalloc_internal::TransferCacheManager::TransferCacheManager
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransferCacheManager(const TransferCacheManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 575
    functionName: '& operator=(const TransferCacheManager&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TransferCacheManager
    signature: TransferCacheManager & operator=(const TransferCacheManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TransferCacheManager::Init
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: tcmalloc_internal::TransferCacheManager::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::TransferCacheManager::Init
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TransferCacheManager::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 585
    functionName: tcmalloc_internal::TransferCacheManager::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::TransferCacheManager::InsertRange
    linkageType: ''
    returnType: void
    signature: void InsertRange(int size_class, absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TransferCacheManager::RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 589
    functionName: tcmalloc_internal::TransferCacheManager::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::TransferCacheManager::RemoveRange
    linkageType: ''
    returnType: int
    signature: int RemoveRange(int size_class, absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 591
    functionName: tcmalloc_internal::TransferCacheManager::tc_length
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tc_length(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 593
    functionName: tcmalloc_internal::TransferCacheManager::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TransferCacheStats
    signature: TransferCacheStats GetStats(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 597
    functionName: '& central_freelist(int size_class) const'
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CentralFreeList
    signature: CentralFreeList & central_freelist(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 601
    functionName: '& central_freelist(int size_class)'
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CentralFreeList
    signature: CentralFreeList & central_freelist(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 603
    functionName: tcmalloc_internal::TransferCacheManager::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Print(const StatsCounters<kNumClasses>&, Printer& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 605
    functionName: tcmalloc_internal::TransferCacheManager::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PrintInPbtxt(const StatsCounters<kNumClasses>&,\n                    PbtxtRegion&
      region) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 613
    functionName: tcmalloc_internal::ShardedTransferCacheManager
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ShardedTransferCacheManager(std::nullptr_t, std::nullptr_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 614
    functionName: tcmalloc_internal::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 615
    functionName: tcmalloc_internal::should_use
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_use(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 616
    functionName: tcmalloc_internal::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * Pop(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - size_class
    - ptr
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 617
    functionName: tcmalloc_internal::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Push(int size_class, void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: tcmalloc_internal::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int RemoveRange(int size_class,\n                                                 absl::Span<void*>
      batch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 622
    functionName: tcmalloc_internal::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InsertRange(int size_class, absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 623
    functionName: tcmalloc_internal::TotalBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TotalBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 624
    functionName: tcmalloc_internal::Plunder
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Plunder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 625
    functionName: tcmalloc_internal::tc_length
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tc_length(int cpu, int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 626
    functionName: tcmalloc_internal::TotalObjectsOfClass
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TotalObjectsOfClass(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 627
    functionName: tcmalloc_internal::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TransferCacheStats
    signature: TransferCacheStats GetStats(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 628
    functionName: tcmalloc_internal::UseGenericCache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseGenericCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 629
    functionName: tcmalloc_internal::UseCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseCacheForLargeClassesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 630
    functionName: tcmalloc_internal::NumActiveShards
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NumActiveShards() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 631
    functionName: tcmalloc_internal::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Print(const StatsCounters<kNumClasses>&, Printer& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 633
    functionName: tcmalloc_internal::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PrintInPbtxt(const StatsCounters<kNumClasses>&,\n                    PbtxtRegion&
      region) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:80,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: tcmalloc_internal::ShardedStaticForwarder::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: tcmalloc_internal::ShardedStaticForwarder::UseGenericCache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseGenericCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: tcmalloc_internal::ShardedStaticForwarder::EnableCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EnableCacheForLargeClassesOnly()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::ProdCpuLayout::NumShards
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - CacheTopology::Instance
    linkageType: ''
    returnType: unsigned
    signature: unsigned NumShards()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::ProdCpuLayout::CurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    linkageType: ''
    returnType: int
    signature: int CurrentCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: tcmalloc_internal::ProdCpuLayout::CpuShard
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - CacheTopology::Instance
    linkageType: ''
    returnType: unsigned
    signature: unsigned CpuShard(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: tcmalloc_internal::BackingTransferCache::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: tcmalloc_internal::BackingTransferCache::size_class
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int size_class() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - owner
    - cpu_layout
    argTypes:
    - Manager*
    - CpuLayout*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::ShardedTransferCacheManagerBase
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ShardedTransferCacheManagerBase(Manager *owner,\n                                            CpuLayout
      *cpu_layout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::Init
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:138,1
    - Dst: NumShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:139,1
    - Dst: reinterpret_cast<Shard *>
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:140,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:140,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:142,1
    - Dst: Shard::Shard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:145,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:148,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:157,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:159,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 164
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - Shard::Shard
    - TC_ASSERT_NE
    - Alloc
    - reinterpret_cast<Shard *>
    - NumShards
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
    - tcmalloc_internal::ShardedTransferCacheManagerBase::Init
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::should_use
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_use(int size_class) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:174,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:176,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:178,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::TotalBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    linkageType: ''
    returnType: size_t
    signature: size_t TotalBytes() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:189,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::TotalObjectsOfClass
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
    - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    linkageType: ''
    returnType: int
    signature: int TotalObjectsOfClass(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:196,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:196,1
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:199,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - TC_ASSERT
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - get_cache
    linkageType: ''
    returnType: void
    signature: void *Pop(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:204,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:204,1
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:205,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size_class
    - ptr
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - TC_ASSERT
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - get_cache
    linkageType: ''
    returnType: void
    signature: void Push(int size_class, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:209,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:210,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:211,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:212,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:213,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:214,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:215,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:216,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:216,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:218,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:219,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:220,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:224,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:226,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:229,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:238,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - counts
    - out
    argTypes:
    - StatsCounters<kNumClasses>
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 250
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - Printer::printf
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
    - value
    - tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
    - tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
    linkageType: ''
    returnType: void
    signature: void Print(const StatsCounters<kNumClasses> &counts, Printer &out)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:255,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:256,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:257,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:257,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:258,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:259,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:260,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:261,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:262,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:263,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:264,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:265,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:266,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:267,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:267,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:269,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - counts
    - region
    argTypes:
    - StatsCounters<kNumClasses>
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 270
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - PbtxtRegion::CreateSubRegion
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - PbtxtRegion::PrintI64
    - value
    - tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
    - tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
    linkageType: ''
    returnType: void
    signature: "void PrintInPbtxt(const StatsCounters<kNumClasses> &counts,\n                    PbtxtRegion
      &region) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:276,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 291
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
    - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    linkageType: ''
    returnType: TransferCacheStats
    signature: TransferCacheStats GetStats(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - get_cache
    linkageType: ''
    returnType: int
    signature: int RemoveRange(int size_class, absl::Span<void *> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - get_cache
    linkageType: ''
    returnType: void
    signature: void InsertRange(int size_class, absl::Span<void *> batch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:306,1
    - Dst: TransferCache::TryPlunder
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:309,1
    - Dst: TransferCache::freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Plunder
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - TransferCache::freelist
    - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    - TransferCache::TryPlunder
    linkageType: ''
    returnType: void
    signature: void Plunder()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CpuShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:316,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:317,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:318,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
    - CpuShard
    - TC_ASSERT_LT
    - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    linkageType: ''
    returnType: int
    signature: int tc_length(int cpu, int size_class) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:324,1
    - Dst: initialized::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - shard
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 10
    functionsReached:
    - initialized::load
    - TC_ASSERT_LT
    linkageType: ''
    returnType: bool
    signature: bool shard_initialized(int shard) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::EnableCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::EnableCacheForLargeClassesOnly
    linkageType: ''
    returnType: bool
    signature: bool UseCacheForLargeClassesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::UseGenericCache
    linkageType: ''
    returnType: bool
    signature: bool UseGenericCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 4
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int NumActiveShards() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Shard
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void Shard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:363,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::LargeCacheCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - tcmalloc_internal::ShardedTransferCacheManagerBase::should_use
    linkageType: ''
    returnType: Capacity
    signature: Capacity LargeCacheCapacity(size_t size_class) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:370,1
    - Dst: TransferCache::CapacityNeeded
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::ScaledCacheCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::should_use
    - TransferCache::CapacityNeeded
    linkageType: ''
    returnType: Capacity
    signature: Capacity ScaledCacheCapacity(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TransferCache *>
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:377,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:378,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:380,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:382,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::ScaledCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:382,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::LargeCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:383,1
    - Dst: TransferCache::TransferCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:384,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:387,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:390,1
    - Dst: Shard::initialized::store
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - shard
    argTypes:
    - Shard
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 392
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::InitShard
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::ScaledCacheCapacity
    - TC_ASSERT_NE
    - reinterpret_cast<TransferCache *>
    - Alloc
    - Shard::initialized::store
    - fetch_add
    - tcmalloc_internal::ShardedTransferCacheManagerBase::LargeCacheCapacity
    - freelist
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
    - TransferCache::TransferCache
    linkageType: ''
    returnType: void
    signature: void InitShard(Shard &shard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:398,1
    - Dst: CurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:398,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:399,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:401,1
    - Dst: InitShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: '&get_cache(int size_class)'
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - InitShard
    - CurrentCpu
    - CpuShard
    - absl::base_internal::LowLevelCallOnce
    - TC_ASSERT_LT
    linkageType: ''
    returnType: TransferCache
    signature: TransferCache &get_cache(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 428
    functionName: tcmalloc_internal::TransferCacheManager::TransferCacheManager
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransferCacheManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 430
    functionName: tcmalloc_internal::TransferCacheManager::TransferCacheManager
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransferCacheManager(const TransferCacheManager &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 431
    functionName: '&operator=(const TransferCacheManager &)'
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TransferCacheManager
    signature: TransferCacheManager &operator=(const TransferCacheManager &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TransferCacheManager::InitCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 433
    functionName: tcmalloc_internal::TransferCacheManager::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::TransferCacheManager::InitCaches
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: tcmalloc_internal::TransferCacheManager::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 1
    functionsReached:
    - tc::InsertRange
    linkageType: ''
    returnType: void
    signature: void InsertRange(int size_class, absl::Span<void *> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: tcmalloc_internal::TransferCacheManager::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 1
    functionsReached:
    - tc::RemoveRange
    linkageType: ''
    returnType: int
    signature: int RemoveRange(int size_class, absl::Span<void *> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 447
    functionName: tcmalloc_internal::TransferCacheManager::tc_length
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::tc_length
    linkageType: ''
    returnType: size_t
    signature: size_t tc_length(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: tcmalloc_internal::TransferCacheManager::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 2
    functionsReached:
    - tc::GetStats
    linkageType: ''
    returnType: TransferCacheStats
    signature: TransferCacheStats GetStats(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: '&central_freelist(int size_class)'
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::freelist
    linkageType: ''
    returnType: CentralFreeList
    signature: CentralFreeList &central_freelist(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 459
    functionName: tcmalloc_internal::TransferCacheManager::CanIncreaseCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::CanIncreaseCapacity
    linkageType: ''
    returnType: bool
    signature: bool CanIncreaseCapacity(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TransferCacheManager::TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 471
    functionName: tcmalloc_internal::TransferCacheManager::TryResizingCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::TransferCacheManager::TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TryResizingCaches()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::TryPlunder
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: tcmalloc_internal::TransferCacheManager::TryPlunder
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::TryPlunder
    linkageType: ''
    returnType: void
    signature: void TryPlunder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransferCache::TransferCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: tcmalloc_internal::TransferCacheManager::InitCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 2
    functionsReached:
    - TransferCache::TransferCache
    linkageType: ''
    returnType: void
    signature: void InitCaches()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: tcmalloc_internal::TransferCacheManager::ShrinkCache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::ShrinkCache
    linkageType: ''
    returnType: bool
    signature: bool ShrinkCache(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 494
    functionName: tcmalloc_internal::TransferCacheManager::IncreaseCacheCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::IncreaseCacheCapacity
    linkageType: ''
    returnType: bool
    signature: bool IncreaseCacheCapacity(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::FetchCommitIntervalMisses
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 498
    functionName: tcmalloc_internal::TransferCacheManager::FetchCommitIntervalMisses
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tc::FetchCommitIntervalMisses
    linkageType: ''
    returnType: size_t
    signature: size_t FetchCommitIntervalMisses(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:501,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:502,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:503,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:504,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:505,1
    - Dst: tcmalloc_internal::TransferCacheManager::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:509,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:510,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:513,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:522,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - counts
    - out
    argTypes:
    - StatsCounters<kNumClasses>
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 535
    functionName: tcmalloc_internal::TransferCacheManager::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - Printer::printf
    - value
    - tcmalloc_internal::TransferCacheManager::GetStats
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void Print(const StatsCounters<kNumClasses> &counts, Printer &out)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:540,1
    - Dst: tcmalloc_internal::TransferCacheManager::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:541,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:542,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:542,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:543,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:544,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:545,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:546,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:547,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:548,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:549,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:550,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:551,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:552,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:553,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - counts
    - region
    argTypes:
    - StatsCounters<kNumClasses>
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 555
    functionName: tcmalloc_internal::TransferCacheManager::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - PbtxtRegion::CreateSubRegion
    - tcmalloc_internal::TransferCacheManager::GetStats
    - PbtxtRegion::PrintI64
    - value
    - class_to_size
    linkageType: ''
    returnType: void
    signature: "void PrintInPbtxt(const StatsCounters<kNumClasses> &counts,\n                    PbtxtRegion
      &region) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 559
    functionName: tcmalloc_internal::TransferCacheManager::Cache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 560
    functionName: ~Cache()
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 573
    functionName: tcmalloc_internal::TransferCacheManager::TransferCacheManager
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransferCacheManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 574
    functionName: tcmalloc_internal::TransferCacheManager::TransferCacheManager
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransferCacheManager(const TransferCacheManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 575
    functionName: '& operator=(const TransferCacheManager&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TransferCacheManager
    signature: TransferCacheManager & operator=(const TransferCacheManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TransferCacheManager::Init
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: tcmalloc_internal::TransferCacheManager::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::TransferCacheManager::Init
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TransferCacheManager::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 585
    functionName: tcmalloc_internal::TransferCacheManager::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::TransferCacheManager::InsertRange
    linkageType: ''
    returnType: void
    signature: void InsertRange(int size_class, absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TransferCacheManager::RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 589
    functionName: tcmalloc_internal::TransferCacheManager::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::TransferCacheManager::RemoveRange
    linkageType: ''
    returnType: int
    signature: int RemoveRange(int size_class, absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 591
    functionName: tcmalloc_internal::TransferCacheManager::tc_length
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tc_length(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 593
    functionName: tcmalloc_internal::TransferCacheManager::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: TransferCacheStats
    signature: TransferCacheStats GetStats(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 597
    functionName: '& central_freelist(int size_class) const'
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CentralFreeList
    signature: CentralFreeList & central_freelist(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 601
    functionName: '& central_freelist(int size_class)'
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CentralFreeList
    signature: CentralFreeList & central_freelist(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 603
    functionName: tcmalloc_internal::TransferCacheManager::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Print(const StatsCounters<kNumClasses>&, Printer& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 605
    functionName: tcmalloc_internal::TransferCacheManager::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PrintInPbtxt(const StatsCounters<kNumClasses>&,\n                    PbtxtRegion&
      region) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 613
    functionName: tcmalloc_internal::ShardedTransferCacheManager
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ShardedTransferCacheManager(std::nullptr_t, std::nullptr_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 614
    functionName: tcmalloc_internal::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 615
    functionName: tcmalloc_internal::should_use
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_use(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 616
    functionName: tcmalloc_internal::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * Pop(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - size_class
    - ptr
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 617
    functionName: tcmalloc_internal::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Push(int size_class, void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: tcmalloc_internal::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int RemoveRange(int size_class,\n                                                 absl::Span<void*>
      batch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 622
    functionName: tcmalloc_internal::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InsertRange(int size_class, absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 623
    functionName: tcmalloc_internal::TotalBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TotalBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 624
    functionName: tcmalloc_internal::Plunder
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Plunder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 625
    functionName: tcmalloc_internal::tc_length
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tc_length(int cpu, int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 626
    functionName: tcmalloc_internal::TotalObjectsOfClass
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TotalObjectsOfClass(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 627
    functionName: tcmalloc_internal::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TransferCacheStats
    signature: TransferCacheStats GetStats(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 628
    functionName: tcmalloc_internal::UseGenericCache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseGenericCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 629
    functionName: tcmalloc_internal::UseCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseCacheForLargeClassesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 630
    functionName: tcmalloc_internal::NumActiveShards
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NumActiveShards() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 631
    functionName: tcmalloc_internal::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Print(const StatsCounters<kNumClasses>&, Printer& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 633
    functionName: tcmalloc_internal::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PrintInPbtxt(const StatsCounters<kNumClasses>&,\n                    PbtxtRegion&
      region) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 292
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/experimental_pow2_size_class.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:107,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:111,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:115,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:254,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:268,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:268,1
    - Dst: RoundDown
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:274,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:286,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:286,1
    - Dst: AllocateFromRegion
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:293,1
    - Dst: system_allocator_internal::CheckAddressBits<kAddressBits>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:296,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:297,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:298,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:298,1
    - Dst: DiscardMappedRegions
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:313,1
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:319,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:319,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:319,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:333,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:335,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:346,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:346,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:347,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:348,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:349,1
    - Dst: strerror
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:350,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:360,1
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:369,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:371,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:373,1
    - Dst: MmapRegion::MmapRegion
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:372,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:379,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:379,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:380,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:382,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:385,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:391,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:391,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:392,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:393,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:395,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:415,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:417,1
    - Dst: MmapAlignedLocked
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:418,1
    - Dst: TagToHint
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:421,1
    - Dst: Create
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:422,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:424,1
    - Dst: AddressRegion*::Alloc
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:427,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:429,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:430,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:432,1
    - Dst: ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:438,1
    - Dst: switch
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:439,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:454,1
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:455,1
    - Dst: AddressRegion*::Alloc
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:460,1
    - Dst: MmapAlignedLocked
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:466,1
    - Dst: TagToHint
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:469,1
    - Dst: Create
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:470,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:472,1
    - Dst: AddressRegion*::Alloc
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:475,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 116
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 476
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - RoundUp
    - Printer::SpaceRequired
    - Printer::printf
    - fetch_add
    - GetMemoryTag
    - std::fill
    - store
    - end
    - reinterpret_cast<void*>
    - mprotect
    - strerror
    - madvise
    - absl::has_single_bit
    - Create
    - MallocInternal
    - AllocateFromRegion
    - ASSUME
    - DiscardMappedRegions
    - TagToHint
    - size
    - switch
    - reinterpret_cast<uintptr_t>
    - std::max
    - TC_ASSERT
    - TC_ASSERT_EQ
    - MmapAlignedLocked
    - load
    - data
    - GetPageSize
    - begin
    - __builtin_unreachable
    - MmapRegion::MmapRegion
    - munmap
    - ABSL_EXCLUSIVE_LOCKS_REQUIRED
    - system_allocator_internal::CheckAddressBits<kAddressBits>
    - RoundDown
    - AddressRegion*::Alloc
    - TC_LOG
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' topology ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - Topology
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::SystemAllocator::SystemAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SystemAllocator(\n      const Topology& topology ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::SystemAllocator::release_errors
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int release_errors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - MadvisePreference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: tcmalloc_internal::SystemAllocator::set_madvise_preference
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void set_madvise_preference(MadvisePreference v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: tcmalloc_internal::SystemAllocator::madvise_preference
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: MadvisePreference
    signature: MadvisePreference madvise_preference() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: tcmalloc_internal::SystemAllocator::Back
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Back(void* start, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_GUARDED_BY(spinlock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_GUARDED_BY(spinlock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_GUARDED_BY(spinlock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_GUARDED_BY(spinlock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - uintptr_t
    - size_t
    - AddressRegionFactory::UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: tcmalloc_internal::SystemAllocator::MmapRegion::MmapRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MmapRegion(uintptr_t start, size_t size,\n               AddressRegionFactory::UsageHint
      hint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: ~MmapRegion() override
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MmapRegion() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: tcmalloc_internal::SystemAllocator::MmapRegionFactory::MmapRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MmapRegionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: ~MmapRegionFactory() override
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MmapRegionFactory() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: tcmalloc_internal::system_allocator_internal::CheckAddressBits
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CheckAddressBits(uintptr_t ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::system_allocator_internal::CheckAddressBits
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: "ABSL_ATTRIBUTE_UNUSED CheckAddressBits<8 * sizeof(void*)>(\n    uintptr_t
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:268,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: tcmalloc_internal::system_allocator_internal::RoundDown
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - absl::has_single_bit
    linkageType: ''
    returnType: size_t
    signature: size_t RoundDown(const size_t size, const size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::system_allocator_internal::RoundDown
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: tcmalloc_internal::system_allocator_internal::RoundUp
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::system_allocator_internal::RoundDown
    linkageType: ''
    returnType: size_t
    signature: size_t RoundUp(const size_t size, const size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: tcmalloc_internal::system_allocator_internal::CheckAddressBits
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CheckAddressBits(uintptr_t ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::system_allocator_internal::CheckAddressBits
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: "ABSL_ATTRIBUTE_UNUSED CheckAddressBits<8 * sizeof(void*)>(\n    uintptr_t
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:268,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: tcmalloc_internal::system_allocator_internal::RoundDown
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT
    - absl::has_single_bit
    linkageType: ''
    returnType: size_t
    signature: size_t RoundDown(const size_t size, const size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::system_allocator_internal::RoundDown
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: tcmalloc_internal::system_allocator_internal::RoundUp
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::system_allocator_internal::RoundDown
    linkageType: ''
    returnType: size_t
    signature: size_t RoundUp(const size_t size, const size_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:286,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:286,1
    - Dst: tcmalloc_internal::SystemAllocator<Topology>::AllocateFromRegion
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:293,1
    - Dst: system_allocator_internal::CheckAddressBits<kAddressBits>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:296,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:297,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:298,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bytes
    - alignment
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 301
    functionName: tcmalloc_internal::SystemAllocator<Topology>::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - GetPageSize
    - tcmalloc_internal::SystemAllocator<Topology>::AllocateFromRegion
    - system_allocator_internal::CheckAddressBits<kAddressBits>
    - GetMemoryTag
    - reinterpret_cast<uintptr_t>
    - std::max
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange SystemAllocator<Topology>::Allocate(size_t bytes, size_t
      alignment,\n                                                 const MemoryTag
      tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: tcmalloc_internal::SystemAllocator<Topology>::GetRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AddressRegionFactory
    signature: AddressRegionFactory * SystemAllocator<Topology>::GetRegionFactory()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SystemAllocator<Topology>::DiscardMappedRegions
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - factory
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 315
    functionName: tcmalloc_internal::SystemAllocator<Topology>::SetRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SystemAllocator<Topology>::DiscardMappedRegions
    linkageType: ''
    returnType: void
    signature: "void SystemAllocator<Topology>::SetRegionFactory(\n    AddressRegionFactory*
      factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:319,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:319,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: tcmalloc_internal::SystemAllocator<Topology>::DiscardMappedRegions
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 1
    functionsReached:
    - std::fill
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void SystemAllocator<Topology>::DiscardMappedRegions()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:333,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:335,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:346,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:346,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:347,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:348,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:349,1
    - Dst: strerror
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:350,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - request_size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 364
    functionName: "SystemAllocator<Topology>::MmapRegion::Alloc(\n    size_t request_size,
      size_t alignment)"
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - GetPageSize
    - RoundUp
    - TC_LOG
    - strerror
    - reinterpret_cast<void*>
    - std::max
    - TC_ASSERT_EQ
    - madvise
    - mprotect
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> SystemAllocator<Topology>::MmapRegion::Alloc(\n
      \   size_t request_size, size_t alignment)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:369,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:371,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:373,1
    - Dst: MmapRegion::MmapRegion
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: "* SystemAllocator<Topology>::MmapRegionFactory::Create(\n    void*
      start, size_t size, UsageHint hint)"
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - MallocInternal
    - fetch_add
    - MmapRegion::MmapRegion
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: AddressRegion
    signature: "AddressRegion * SystemAllocator<Topology>::MmapRegionFactory::Create(\n
      \   void* start, size_t size, UsageHint hint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<char>::data
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:379,1
    - Dst: absl::Span<char>::size
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:379,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:380,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:382,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: "SystemAllocator<Topology>::MmapRegionFactory::GetStats(\n    absl::Span<char>
      buffer)"
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - load
    - absl::Span<char>::data
    - Printer::SpaceRequired
    - absl::Span<char>::size
    - Printer::printf
    linkageType: ''
    returnType: size_t
    signature: "size_t SystemAllocator<Topology>::MmapRegionFactory::GetStats(\n    absl::Span<char>
      buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<char>::data
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:391,1
    - Dst: absl::Span<char>::size
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:391,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:392,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:393,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: "SystemAllocator<Topology>::MmapRegionFactory::GetStatsInPbtxt(\n
      \   absl::Span<char> buffer)"
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - load
    - absl::Span<char>::data
    - Printer::SpaceRequired
    - absl::Span<char>::size
    - Printer::printf
    linkageType: ''
    returnType: size_t
    signature: "size_t SystemAllocator<Topology>::MmapRegionFactory::GetStatsInPbtxt(\n
      \   absl::Span<char> buffer)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:415,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:417,1
    - Dst: MmapAlignedLocked
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:418,1
    - Dst: TagToHint
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:421,1
    - Dst: Create
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:422,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:424,1
    - Dst: AddressRegion*::Alloc
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:427,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:429,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:430,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:432,1
    - Dst: ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:438,1
    - Dst: switch
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:439,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - request_size
    - alignment
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 452
    functionName: tcmalloc_internal::SystemAllocator<Topology>::AllocateFromRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 1
    functionsReached:
    - MmapAlignedLocked
    - RoundUp
    - ABSL_EXCLUSIVE_LOCKS_REQUIRED
    - TagToHint
    - AddressRegion*::Alloc
    - switch
    - std::max
    - TC_ASSERT_EQ
    - Create
    - munmap
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> SystemAllocator<Topology>::AllocateFromRegion(\n
      \   size_t request_size, size_t alignment, const MemoryTag tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' topology ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - Topology
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::SystemAllocator::SystemAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SystemAllocator(\n      const Topology& topology ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::SystemAllocator::release_errors
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int release_errors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - MadvisePreference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: tcmalloc_internal::SystemAllocator::set_madvise_preference
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void set_madvise_preference(MadvisePreference v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: tcmalloc_internal::SystemAllocator::madvise_preference
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: MadvisePreference
    signature: MadvisePreference madvise_preference() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: tcmalloc_internal::SystemAllocator::Back
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Back(void* start, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_GUARDED_BY(spinlock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_GUARDED_BY(spinlock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_GUARDED_BY(spinlock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_GUARDED_BY(spinlock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - uintptr_t
    - size_t
    - AddressRegionFactory::UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: tcmalloc_internal::SystemAllocator::MmapRegion::MmapRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MmapRegion(uintptr_t start, size_t size,\n               AddressRegionFactory::UsageHint
      hint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: ~MmapRegion() override
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MmapRegion() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: tcmalloc_internal::SystemAllocator::MmapRegionFactory::MmapRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MmapRegionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: ~MmapRegionFactory() override
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MmapRegionFactory() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: tcmalloc_internal::system_allocator_internal::CheckAddressBits
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CheckAddressBits(uintptr_t ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::system_allocator_internal::CheckAddressBits
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: "ABSL_ATTRIBUTE_UNUSED CheckAddressBits<8 * sizeof(void*)>(\n    uintptr_t
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:268,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: tcmalloc_internal::system_allocator_internal::RoundDown
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT
    - absl::has_single_bit
    linkageType: ''
    returnType: size_t
    signature: size_t RoundDown(const size_t size, const size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::system_allocator_internal::RoundDown
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: tcmalloc_internal::system_allocator_internal::RoundUp
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::system_allocator_internal::RoundDown
    linkageType: ''
    returnType: size_t
    signature: size_t RoundUp(const size_t size, const size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: tcmalloc_internal::system_allocator_internal::CheckAddressBits
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CheckAddressBits(uintptr_t ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::system_allocator_internal::CheckAddressBits
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: "ABSL_ATTRIBUTE_UNUSED CheckAddressBits<8 * sizeof(void*)>(\n    uintptr_t
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:268,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: tcmalloc_internal::system_allocator_internal::RoundDown
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 3
    functionsReached:
    - TC_ASSERT
    - absl::has_single_bit
    linkageType: ''
    returnType: size_t
    signature: size_t RoundDown(const size_t size, const size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::system_allocator_internal::RoundDown
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: tcmalloc_internal::system_allocator_internal::RoundUp
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::system_allocator_internal::RoundDown
    linkageType: ''
    returnType: size_t
    signature: size_t RoundUp(const size_t size, const size_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:286,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:286,1
    - Dst: tcmalloc_internal::SystemAllocator<Topology>::AllocateFromRegion
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:293,1
    - Dst: system_allocator_internal::CheckAddressBits<kAddressBits>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:296,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:297,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:298,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bytes
    - alignment
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 301
    functionName: tcmalloc_internal::SystemAllocator<Topology>::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - GetPageSize
    - tcmalloc_internal::SystemAllocator<Topology>::AllocateFromRegion
    - system_allocator_internal::CheckAddressBits<kAddressBits>
    - GetMemoryTag
    - reinterpret_cast<uintptr_t>
    - std::max
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange SystemAllocator<Topology>::Allocate(size_t bytes, size_t
      alignment,\n                                                 const MemoryTag
      tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: tcmalloc_internal::SystemAllocator<Topology>::GetRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AddressRegionFactory
    signature: AddressRegionFactory * SystemAllocator<Topology>::GetRegionFactory()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SystemAllocator<Topology>::DiscardMappedRegions
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - factory
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 315
    functionName: tcmalloc_internal::SystemAllocator<Topology>::SetRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SystemAllocator<Topology>::DiscardMappedRegions
    linkageType: ''
    returnType: void
    signature: "void SystemAllocator<Topology>::SetRegionFactory(\n    AddressRegionFactory*
      factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:319,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:319,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: tcmalloc_internal::SystemAllocator<Topology>::DiscardMappedRegions
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 2
    functionsReached:
    - std::fill
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void SystemAllocator<Topology>::DiscardMappedRegions()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:333,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:335,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:346,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:346,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:347,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:348,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:349,1
    - Dst: strerror
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:350,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - request_size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 364
    functionName: "SystemAllocator<Topology>::MmapRegion::Alloc(\n    size_t request_size,
      size_t alignment)"
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - GetPageSize
    - RoundUp
    - TC_LOG
    - strerror
    - reinterpret_cast<void*>
    - std::max
    - TC_ASSERT_EQ
    - madvise
    - mprotect
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> SystemAllocator<Topology>::MmapRegion::Alloc(\n
      \   size_t request_size, size_t alignment)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:369,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:371,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:373,1
    - Dst: MmapRegion::MmapRegion
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: "* SystemAllocator<Topology>::MmapRegionFactory::Create(\n    void*
      start, size_t size, UsageHint hint)"
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - MallocInternal
    - fetch_add
    - MmapRegion::MmapRegion
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: AddressRegion
    signature: "AddressRegion * SystemAllocator<Topology>::MmapRegionFactory::Create(\n
      \   void* start, size_t size, UsageHint hint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<char>::data
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:379,1
    - Dst: absl::Span<char>::size
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:379,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:380,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:382,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: "SystemAllocator<Topology>::MmapRegionFactory::GetStats(\n    absl::Span<char>
      buffer)"
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - load
    - absl::Span<char>::data
    - Printer::SpaceRequired
    - absl::Span<char>::size
    - Printer::printf
    linkageType: ''
    returnType: size_t
    signature: "size_t SystemAllocator<Topology>::MmapRegionFactory::GetStats(\n    absl::Span<char>
      buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<char>::data
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:391,1
    - Dst: absl::Span<char>::size
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:391,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:392,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:393,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: "SystemAllocator<Topology>::MmapRegionFactory::GetStatsInPbtxt(\n
      \   absl::Span<char> buffer)"
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - load
    - absl::Span<char>::data
    - Printer::SpaceRequired
    - absl::Span<char>::size
    - Printer::printf
    linkageType: ''
    returnType: size_t
    signature: "size_t SystemAllocator<Topology>::MmapRegionFactory::GetStatsInPbtxt(\n
      \   absl::Span<char> buffer)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:415,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:417,1
    - Dst: MmapAlignedLocked
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:418,1
    - Dst: TagToHint
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:421,1
    - Dst: Create
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:422,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:424,1
    - Dst: AddressRegion*::Alloc
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:427,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:429,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:430,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:432,1
    - Dst: ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:438,1
    - Dst: switch
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:439,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - request_size
    - alignment
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 452
    functionName: tcmalloc_internal::SystemAllocator<Topology>::AllocateFromRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 2
    functionsReached:
    - MmapAlignedLocked
    - RoundUp
    - ABSL_EXCLUSIVE_LOCKS_REQUIRED
    - TagToHint
    - AddressRegion*::Alloc
    - switch
    - std::max
    - TC_ASSERT_EQ
    - Create
    - munmap
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> SystemAllocator<Topology>::AllocateFromRegion(\n
      \   size_t request_size, size_t alignment, const MemoryTag tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SystemAllocator<Topology>::MmapAlignedLocked
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - size
    - alignment
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: SystemAllocator<Topology>::MmapAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - SystemAllocator<Topology>::MmapAlignedLocked
    linkageType: ''
    returnType: void
    signature: "void * SystemAllocator<Topology>::MmapAligned(size_t size, size_t
      alignment,\n                                             const MemoryTag tag)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:491,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:492,1
    - Dst: ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:496,1
    - Dst: switch
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - size
    - alignment
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 512
    functionName: SystemAllocator<Topology>::MmapAlignedLocked
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 1
    functionsReached:
    - switch
    - TC_ASSERT_LE
    - ABSL_EXCLUSIVE_LOCKS_REQUIRED
    linkageType: ''
    returnType: void
    signature: "void * SystemAllocator<Topology>::MmapAlignedLocked(size_t size,\n
      \                                                  size_t alignment,\n                                                   const
      MemoryTag tag)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:590,1
    - Dst: reinterpret_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:592,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:598,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:601,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:602,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:603,1
    - Dst: reinterpret_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:603,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:604,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:607,1
    - Dst: SystemAllocator<Topology>::ReleasePages
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:610,1
    - Dst: munlock
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:614,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:614,1
    - Dst: SystemAllocator<Topology>::ReleasePages
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:617,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:620,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - start
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 631
    functionName: SystemAllocator<Topology>::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<size_t>
    - GetPageSize
    - munlock
    - fetch_add
    - reinterpret_cast<char*>
    - TC_ASSERT_LE
    - reinterpret_cast<void*>
    - TC_ASSERT_EQ
    - SystemAllocator<Topology>::ReleasePages
    - TC_ASSERT_GE
    linkageType: ''
    returnType: bool
    signature: bool SystemAllocator<Topology>::Release(void* start, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - start
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 643
    functionName: SystemAllocator<Topology>::Collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - madvise
    linkageType: ''
    returnType: bool
    signature: bool SystemAllocator<Topology>::Collapse(void* start, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<absl::string_view>::has_value
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:656,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:657,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:657,1
    - Dst: std::optional<absl::string_view>::value
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:657,1
    - Dst: std::optional<absl::string_view>::value
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:657,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:658,1
    - Dst: std::optional<absl::string_view>::value
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:658,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:661,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:662,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:663,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - start
    - length
    - name
    argTypes:
    - void*
    - size_t
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 667
    functionName: SystemAllocator<Topology>::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - std::optional<absl::string_view>::has_value
    - strlen
    - GetMemoryTag
    - std::optional<absl::string_view>::value
    - MemoryTagToLabel
    - absl::SNPrintF
    - prctl
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: "void SystemAllocator<Topology>::SetAnonVmaName(\n    void* start,
      size_t length, std::optional<absl::string_view> name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bind_mode
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:677,1
    - Dst: numa_aware
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:678,1
    - Dst: GetPartitionNodes
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:682,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:684,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:691,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:696,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:697,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - base
    - size
    - partition
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 699
    functionName: SystemAllocator<Topology>::BindMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - syscall
    - numa_aware
    - TC_BUG
    - TC_LOG
    - GetPartitionNodes
    - bind_mode
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: "void SystemAllocator<Topology>::BindMemory(void* const base, const
      size_t size,\n                                           const size_t partition)
      const"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: numa_aware
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:707,1
    - Dst: numa_aware
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:712,1
    - Dst: numa_aware
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:717,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:729,1
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - tag
    argTypes:
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 731
    functionName: SystemAllocator<Topology>::TagToHint
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - numa_aware
    - __builtin_unreachable
    linkageType: ''
    returnType: AddressRegionFactory::UsageHint
    signature: "AddressRegionFactory::UsageHint SystemAllocator<Topology>::TagToHint(\n
      \   MemoryTag tag) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:738,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:740,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:741,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:744,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:747,1
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:748,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:749,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:771,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:771,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:773,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:775,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:776,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:776,1
    - Dst: reinterpret_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - size
    - alignment
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 778
    functionName: SystemAllocator<Topology>::RandomMmapHint
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - reinterpret_cast<const void*>
    - GetPageSize
    - TC_ASSERT_EQ
    - reinterpret_cast<uintptr_t>
    - TC_BUG
    - GetMemoryTag
    - AssertHeld
    - mmap
    - absl::bit_ceil
    - std::max
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - absl::base_internal::LowLevelCallOnce
    - munmap
    linkageType: ''
    returnType: uintptr_t
    signature: "uintptr_t SystemAllocator<Topology>::RandomMmapHint(size_t size,\n
      \                                                   size_t alignment,\n                                                    const
      MemoryTag tag)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:788,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:799,1
    - Dst: madvise_preference
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:809,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:818,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:823,1
    - Dst: madvise_preference
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:829,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:838,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/system-alloc.h:844,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - start
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 853
    functionName: SystemAllocator<Topology>::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.h
    functionUses: 1
    functionsReached:
    - ABSL_UNREACHABLE
    - madvise
    - madvise_preference
    - GetPageSize
    linkageType: ''
    returnType: bool
    signature: "bool SystemAllocator<Topology>::ReleasePages(void* start,\n                                                    size_t
      length) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:140,1
    - Dst: tcmalloc::AddressRegionFactory::InternalBytesAllocated
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:141,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:147,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:154,1
    - Dst: default_want_legacy_size_classes
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:160,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:164,1
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:169,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:172,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:175,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:184,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:185,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:185,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:185,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:188,1
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:188,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:189,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:191,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:192,1
    - Dst: CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:193,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:196,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:197,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:200,1
    - Dst: PageAllocator::PageAllocator
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:201,1
    - Dst: MapRootWithSmallPages
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:202,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:203,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 210
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
    - ABSL_PREDICT_FALSE
    - default_want_legacy_size_classes
    - MapRootWithSmallPages
    - store
    - NumCPUsMaybe
    - tcmalloc_internal::MInCore::residence
    - load
    - thread_safe_getenv
    - TC_CHECK_EQ
    - tcmalloc::AddressRegionFactory::InternalBytesAllocated
    - Init
    - CacheTopology::Instance
    - IsExperimentActive
    - strcmp
    - PageAllocator::PageAllocator
    - arena
    - TC_BUG
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:140,1
    - Dst: tcmalloc::AddressRegionFactory::InternalBytesAllocated
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::Static::metadata_bytes
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.cc
    functionUses: 0
    functionsReached:
    - arena
    - tcmalloc::AddressRegionFactory::InternalBytesAllocated
    linkageType: ''
    returnType: size_t
    signature: size_t Static::metadata_bytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: tcmalloc_internal::Static::pagemap_residence
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::MInCore::residence
    linkageType: ''
    returnType: size_t
    signature: size_t Static::pagemap_residence()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:154,1
    - Dst: default_want_legacy_size_classes
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:160,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:164,1
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:169,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:172,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: tcmalloc_internal::Static::size_class_configuration
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.cc
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    - strcmp
    - TC_BUG
    - thread_safe_getenv
    - default_want_legacy_size_classes
    linkageType: ''
    returnType: SizeClassConfiguration
    signature: SizeClassConfiguration Static::size_class_configuration()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:184,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:185,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:185,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:185,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:188,1
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:188,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:189,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:191,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:192,1
    - Dst: CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:193,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:196,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:197,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:200,1
    - Dst: PageAllocator::PageAllocator
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:201,1
    - Dst: MapRootWithSmallPages
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:202,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:203,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 207
    functionName: tcmalloc_internal::ABSL_ATTRIBUTE_NOINLINE::SlowInitIfNecessary
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.cc
    functionUses: 0
    functionsReached:
    - load
    - SizeMap::CurrentClasses
    - TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
    - ABSL_PREDICT_FALSE
    - PageAllocator::PageAllocator
    - MapRootWithSmallPages
    - TC_CHECK_EQ
    - NumCPUsMaybe
    - tcmalloc_internal::subtle::percpu::IsFast
    - store
    - Init
    - TC_CHECK
    - CacheTopology::Instance
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_COLD
    signature: ABSL_ATTRIBUTE_COLD ABSL_ATTRIBUTE_NOINLINE void Static::SlowInitIfNecessary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:140,1
    - Dst: tcmalloc::AddressRegionFactory::InternalBytesAllocated
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::Static::metadata_bytes
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.cc
    functionUses: 0
    functionsReached:
    - arena
    - tcmalloc::AddressRegionFactory::InternalBytesAllocated
    linkageType: ''
    returnType: size_t
    signature: size_t Static::metadata_bytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: tcmalloc_internal::Static::pagemap_residence
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::MInCore::residence
    linkageType: ''
    returnType: size_t
    signature: size_t Static::pagemap_residence()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:154,1
    - Dst: default_want_legacy_size_classes
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:160,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:164,1
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:169,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:172,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: tcmalloc_internal::Static::size_class_configuration
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.cc
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    - strcmp
    - TC_BUG
    - thread_safe_getenv
    - default_want_legacy_size_classes
    linkageType: ''
    returnType: SizeClassConfiguration
    signature: SizeClassConfiguration Static::size_class_configuration()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:184,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:185,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:185,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:185,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:188,1
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:188,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:189,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:191,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:192,1
    - Dst: CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:193,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:196,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:197,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:200,1
    - Dst: PageAllocator::PageAllocator
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:201,1
    - Dst: MapRootWithSmallPages
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:202,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:203,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 207
    functionName: tcmalloc_internal::ABSL_ATTRIBUTE_NOINLINE::SlowInitIfNecessary
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.cc
    functionUses: 0
    functionsReached:
    - load
    - SizeMap::CurrentClasses
    - TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
    - ABSL_PREDICT_FALSE
    - PageAllocator::PageAllocator
    - MapRootWithSmallPages
    - TC_CHECK_EQ
    - NumCPUsMaybe
    - tcmalloc_internal::subtle::percpu::IsFast
    - store
    - Init
    - TC_CHECK
    - CacheTopology::Instance
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_COLD
    signature: ABSL_ATTRIBUTE_COLD ABSL_ATTRIBUTE_NOINLINE void Static::SlowInitIfNecessary()
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:56,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:58,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:115,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:115,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:186,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:189,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:208,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:209,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:215,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:216,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:221,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:222,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:226,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:233,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:234,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:237,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:295,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:299,1
    - Dst: RoundUpObjectSize
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:300,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:302,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:304,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:305,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:317,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:317,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:319,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:319,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:331,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:331,1
    - Dst: GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:332,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:333,1
    - Dst: set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:334,1
    - Dst: nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:337,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:338,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:339,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:340,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:341,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:344,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:345,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:352,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:352,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:353,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:355,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:356,1
    - Dst: IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:361,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:363,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:364,1
    - Dst: set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:365,1
    - Dst: PeekLeast
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:375,1
    - Dst: GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:375,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:396,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:414,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:415,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:417,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:423,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:424,1
    - Dst: SizeOfList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:426,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:431,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:431,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:432,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:432,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:434,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:436,1
    - Dst: MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:443,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:462,1
    - Dst: ReleaseToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:464,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:465,1
    - Dst: RecordMultiSpansDeallocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:471,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:472,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:472,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:476,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:477,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:477,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:483,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:483,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:484,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:490,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:490,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: Span*[]::data
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:501,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:511,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:512,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:515,1
    - Dst: FirstNonEmptySpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:525,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:526,1
    - Dst: Populate
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:527,1
    - Dst: subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:527,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:531,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:532,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:533,1
    - Dst: Span*::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:534,1
    - Dst: subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:534,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:535,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:540,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:540,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:541,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:543,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:544,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:546,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:547,1
    - Dst: IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:552,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:554,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:555,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:556,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:560,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:561,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:572,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:574,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:575,1
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:579,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:581,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:582,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:586,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:590,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:590,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:591,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:592,1
    - Dst: IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:594,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:595,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:596,1
    - Dst: RecordSpanAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:598,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:605,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:606,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:607,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:614,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:617,1
    - Dst: num_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:618,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:624,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:628,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:628,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:629,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:636,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:638,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:643,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:645,1
    - Dst: NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:645,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:647,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:650,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:651,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:653,1
    - Dst: NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:653,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:655,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:658,1
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:663,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:664,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:669,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:672,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:672,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:674,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:675,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:680,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:682,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:684,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:687,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:694,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:695,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:696,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:697,1
    - Dst: NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:697,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:702,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:703,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:704,1
    - Dst: NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:704,1
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:711,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:712,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:717,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:720,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:720,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:722,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:723,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:729,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:730,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:731,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:734,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 247
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 744
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - ReleaseToSpans
    - Span*::nonempty_index
    - empty
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - ABSL_PREDICT_FALSE
    - nonempty_index
    - Span*::FreelistPopBatch
    - clock_now
    - Lock
    - std::upper_bound
    - RecordMultiSpansDeallocated
    - IsEnabled
    - std::max<double>
    - num_spans
    - printf
    - AllocTime
    - Remove
    - in_bytes
    - TC_CHECK_LE
    - class_to_pages
    - Span*::BuildFreelist
    - Span*[]::data
    - ASSUME
    - Populate
    - clock_frequency
    - Unlock
    - absl::ToInt64Milliseconds
    - size
    - ResetTag
    - PbtxtRegion::PrintI64
    - FreelistEmpty
    - absl::Milliseconds
    - TC_ASSERT
    - TC_ASSERT_EQ
    - SizeOfList
    - ABSL_PREDICT_TRUE
    - NumSpansWith
    - CreateSubRegion
    - SpanStats::num_live_spans
    - absl::MakeSpan
    - RecordSpanUtil
    - subspan
    - PeekLeast
    - RoundUpObjectSize
    - TC_ASSERT_GT
    - LossyAdd
    - Add
    - Span*::set_nonempty_index
    - value
    - tcmalloc_internal::Span::CalcReciprocal
    - GetFirstNonEmptyIndex
    - FreelistPush
    - UpdateObjectCounts
    - IndexFor
    - IsSelSanMemory
    - DeallocateSpans
    - AllocateSpan
    - std::min<size_t>
    - TC_CHECK_NE
    - NumSpansInList
    - Allocated
    - Span*::FreelistEmpty
    - static_cast<size_t>
    - FirstNonEmptySpan
    - absl::base_internal::CycleClock::Now
    - Iter
    - RecordSpanAllocated
    - Span*::Allocated
    - LifetimeBucketNum
    - TC_LOG
    - MapObjectsToSpans
    - TC_CHECK
    - Span*::start_address
    - set_nonempty_index
    - class_to_size
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - absl::base_internal::CycleClock::Now
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t clock_now()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_frequency
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    linkageType: ''
    returnType: double
    signature: double clock_frequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::CentralFreeList
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CentralFreeList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::CentralFreeList
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CentralFreeList(const CentralFreeList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: '& operator=(const CentralFreeList&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CentralFreeList
    signature: CentralFreeList & operator=(const CentralFreeList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:115,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::length
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - value
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:186,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:208,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::num_spans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: size_t
    signature: size_t num_spans() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:215,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:221,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:233,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:234,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::LifetimeBucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    - absl::ToInt64Milliseconds
    linkageType: ''
    returnType: int
    signature: int LifetimeBucketNum(absl::Duration duration)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:295,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:299,1
    - Dst: RoundUpObjectSize
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:300,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:302,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:304,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:305,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:317,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:317,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:319,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 326
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - class_to_pages
    - std::min<size_t>
    - RoundUpObjectSize
    - IsEnabled
    - tcmalloc_internal::Span::CalcReciprocal
    - in_bytes
    - TC_ASSERT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::Init(size_t size_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:331,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:331,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:332,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:333,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:334,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:337,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:338,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:339,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:340,1
    - Dst: Span*::FreelistPush
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:341,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:344,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:345,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:352,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:352,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:353,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:355,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:356,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:361,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:363,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:364,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - object
    - span
    - object_size
    - size_reciprocal
    argTypes:
    - void*
    - Span*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 368
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - Span*::FreelistPush
    - Span*::nonempty_index
    - TC_ASSERT_EQ
    - ABSL_PREDICT_FALSE
    - RecordSpanUtil
    - Span*::FreelistEmpty
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Span*::set_nonempty_index
    - Add
    - Span*::Allocated
    - Remove
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
    linkageType: ''
    returnType: Span
    signature: "Span * CentralFreeList<Forwarder>::ReleaseToSpans(\n    void* object,
      Span* span, size_t object_size, uint32_t size_reciprocal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeekLeast
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:375,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
    - PeekLeast
    linkageType: ''
    returnType: Span
    signature: Span * CentralFreeList<Forwarder>::FirstNonEmptySpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CentralFreeList<Forwarder>::GetFirstNonEmptyIndex() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:396,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:414,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:415,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - allocated
    - bitwidth
    argTypes:
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 419
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 1
    functionsReached:
    - ASSUME
    - std::min<size_t>
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t CentralFreeList<Forwarder>::IndexFor(uint16_t allocated,\n
      \                                                   uint8_t bitwidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:423,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:424,1
    - Dst: SizeOfList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - SizeOfList
    linkageType: ''
    returnType: size_t
    signature: size_t CentralFreeList<Forwarder>::NumSpansInList(int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:431,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:431,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:432,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:432,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:434,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:436,1
    - Dst: MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:443,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:447,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:447,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:462,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:464,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:465,1
    - Dst: RecordMultiSpansDeallocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:471,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:472,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:472,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:476,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:477,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 479
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - absl::MakeSpan
    - absl::Span<void*>::empty
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    - ResetTag
    - MapObjectsToSpans
    - IsEnabled
    - RecordMultiSpansDeallocated
    - TC_CHECK_LE
    - TC_CHECK
    - UpdateObjectCounts
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::InsertRange(absl::Span<void*> batch)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:483,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:483,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:484,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:490,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:490,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: absl::Span<Span*>::data
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - spans
    argTypes:
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 503
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    - start_address
    - IsEnabled
    - absl::Span<Span*>::data
    - ABSL_PREDICT_TRUE
    - IsSelSanMemory
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::DeallocateSpans(absl::Span<Span*>
      spans)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:511,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:512,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:515,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:525,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:526,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:527,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:527,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:531,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:532,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:533,1
    - Dst: Span*::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:534,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:534,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:535,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:540,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:540,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:541,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:543,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:544,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:546,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:547,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:552,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:554,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:555,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:556,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:560,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 563
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - Span*::nonempty_index
    - ABSL_PREDICT_FALSE
    - Span*::FreelistPopBatch
    - absl::Span<void*>::subspan
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Remove
    - TC_ASSERT
    - TC_ASSERT_EQ
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    - RecordSpanUtil
    - TC_ASSERT_GT
    - Span*::set_nonempty_index
    - Add
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
    - UpdateObjectCounts
    - absl::Span<void*>::size
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
    - absl::Span<void*>::empty
    - Span*::FreelistEmpty
    - Span*::Allocated
    - Span*::start_address
    linkageType: ''
    returnType: int
    signature: int CentralFreeList<Forwarder>::RemoveRange(absl::Span<void*> batch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:572,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:574,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:575,1
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:579,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:581,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:582,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:586,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:590,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:590,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:591,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:592,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:594,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:595,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:596,1
    - Dst: RecordSpanAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 600
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    - absl::bit_width
    - Span*::BuildFreelist
    - ABSL_PREDICT_FALSE
    - clock_now
    - Lock
    - RecordSpanUtil
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Unlock
    - TC_ASSERT_GT
    - Span*::set_nonempty_index
    - Add
    - RecordSpanAllocated
    - Span*::Allocated
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: int
    signature: int CentralFreeList<Forwarder>::Populate(absl::Span<void*> batch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:605,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:606,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 3
    functionsReached:
    - TC_LOG
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: Span
    signature: Span * CentralFreeList<Forwarder>::AllocateSpan()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:614,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:617,1
    - Dst: num_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 619
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::OverheadBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - in_bytes
    - num_spans
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: size_t
    signature: size_t CentralFreeList<Forwarder>::OverheadBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:624,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:628,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:628,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 631
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - SpanStats::num_live_spans
    - value
    - static_cast<size_t>
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: SpanStats
    signature: SpanStats CentralFreeList<Forwarder>::GetSpanStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:636,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitwidth
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - value
    - TC_ASSERT_GT
    linkageType: ''
    returnType: size_t
    signature: "size_t CentralFreeList<Forwarder>::NumSpansWith(\n    uint16_t bitwidth)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:643,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:645,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:645,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:647,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:650,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:651,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:653,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:653,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:655,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 659
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    - printf
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintSpanUtilStats(Printer& out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:663,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:664,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:669,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:672,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:672,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:674,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:675,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:680,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:682,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:684,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 688
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_now
    - clock_frequency
    - std::max<double>
    - AllocTime
    - Iter
    - LifetimeBucketNum
    - printf
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintSpanLifetimeStats(Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:694,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:695,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:696,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:697,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:697,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:702,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:703,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:704,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 706
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    - PbtxtRegion::PrintI64
    - CreateSubRegion
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt(\n    PbtxtRegion&
      region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:711,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:712,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:717,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:720,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:720,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:722,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:723,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:729,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:730,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:731,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 736
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_now
    - clock_frequency
    - PbtxtRegion::PrintI64
    - std::max<double>
    - AllocTime
    - Iter
    - LifetimeBucketNum
    - absl::Milliseconds
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt(\n
      \   PbtxtRegion& region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - absl::base_internal::CycleClock::Now
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t clock_now()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_frequency
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    linkageType: ''
    returnType: double
    signature: double clock_frequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::CentralFreeList
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CentralFreeList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::CentralFreeList
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CentralFreeList(const CentralFreeList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: '& operator=(const CentralFreeList&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CentralFreeList
    signature: CentralFreeList & operator=(const CentralFreeList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:115,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::length
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - value
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:186,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:208,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::num_spans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: size_t
    signature: size_t num_spans() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:215,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:221,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:233,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:234,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::LifetimeBucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    - absl::ToInt64Milliseconds
    linkageType: ''
    returnType: int
    signature: int LifetimeBucketNum(absl::Duration duration)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:295,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:299,1
    - Dst: RoundUpObjectSize
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:300,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:302,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:304,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:305,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:317,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:317,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:319,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 326
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - class_to_pages
    - std::min<size_t>
    - RoundUpObjectSize
    - IsEnabled
    - tcmalloc_internal::Span::CalcReciprocal
    - in_bytes
    - TC_ASSERT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::Init(size_t size_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:331,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:331,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:332,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:333,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:334,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:337,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:338,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:339,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:340,1
    - Dst: Span*::FreelistPush
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:341,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:344,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:345,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:352,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:352,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:353,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:355,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:356,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:361,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:363,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:364,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - object
    - span
    - object_size
    - size_reciprocal
    argTypes:
    - void*
    - Span*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 368
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 1
    functionsReached:
    - absl::bit_width
    - Span*::FreelistPush
    - Span*::nonempty_index
    - TC_ASSERT_EQ
    - ABSL_PREDICT_FALSE
    - RecordSpanUtil
    - Span*::FreelistEmpty
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Span*::set_nonempty_index
    - Add
    - Span*::Allocated
    - Remove
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
    linkageType: ''
    returnType: Span
    signature: "Span * CentralFreeList<Forwarder>::ReleaseToSpans(\n    void* object,
      Span* span, size_t object_size, uint32_t size_reciprocal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeekLeast
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:375,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
    - PeekLeast
    linkageType: ''
    returnType: Span
    signature: Span * CentralFreeList<Forwarder>::FirstNonEmptySpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CentralFreeList<Forwarder>::GetFirstNonEmptyIndex() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:396,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:414,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:415,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - allocated
    - bitwidth
    argTypes:
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 419
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 4
    functionsReached:
    - ASSUME
    - std::min<size_t>
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t CentralFreeList<Forwarder>::IndexFor(uint16_t allocated,\n
      \                                                   uint8_t bitwidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:423,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:424,1
    - Dst: SizeOfList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 2
    functionsReached:
    - ASSUME
    - SizeOfList
    linkageType: ''
    returnType: size_t
    signature: size_t CentralFreeList<Forwarder>::NumSpansInList(int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:431,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:431,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:432,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:432,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:434,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:436,1
    - Dst: MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:443,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:447,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:447,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:462,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:464,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:465,1
    - Dst: RecordMultiSpansDeallocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:471,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:472,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:472,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:476,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:477,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 479
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - absl::MakeSpan
    - absl::Span<void*>::empty
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    - ResetTag
    - MapObjectsToSpans
    - IsEnabled
    - RecordMultiSpansDeallocated
    - TC_CHECK_LE
    - TC_CHECK
    - UpdateObjectCounts
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::InsertRange(absl::Span<void*> batch)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:483,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:483,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:484,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:490,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:490,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: absl::Span<Span*>::data
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - spans
    argTypes:
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 503
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    - start_address
    - IsEnabled
    - absl::Span<Span*>::data
    - ABSL_PREDICT_TRUE
    - IsSelSanMemory
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::DeallocateSpans(absl::Span<Span*>
      spans)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:511,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:512,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:515,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:525,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:526,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:527,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:527,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:531,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:532,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:533,1
    - Dst: Span*::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:534,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:534,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:535,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:540,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:540,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:541,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:543,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:544,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:546,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:547,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:552,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:554,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:555,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:556,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:560,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 563
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - Span*::nonempty_index
    - ABSL_PREDICT_FALSE
    - Span*::FreelistPopBatch
    - absl::Span<void*>::subspan
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Remove
    - TC_ASSERT
    - TC_ASSERT_EQ
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    - RecordSpanUtil
    - TC_ASSERT_GT
    - Span*::set_nonempty_index
    - Add
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
    - UpdateObjectCounts
    - absl::Span<void*>::size
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
    - absl::Span<void*>::empty
    - Span*::FreelistEmpty
    - Span*::Allocated
    - Span*::start_address
    linkageType: ''
    returnType: int
    signature: int CentralFreeList<Forwarder>::RemoveRange(absl::Span<void*> batch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:572,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:574,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:575,1
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:579,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:581,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:582,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:586,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:590,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:590,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:591,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:592,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:594,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:595,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:596,1
    - Dst: RecordSpanAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 600
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    - absl::bit_width
    - Span*::BuildFreelist
    - ABSL_PREDICT_FALSE
    - clock_now
    - Lock
    - RecordSpanUtil
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Unlock
    - TC_ASSERT_GT
    - Span*::set_nonempty_index
    - Add
    - RecordSpanAllocated
    - Span*::Allocated
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: int
    signature: int CentralFreeList<Forwarder>::Populate(absl::Span<void*> batch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:605,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:606,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 6
    functionsReached:
    - TC_LOG
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: Span
    signature: Span * CentralFreeList<Forwarder>::AllocateSpan()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:614,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:617,1
    - Dst: num_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 619
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::OverheadBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - in_bytes
    - num_spans
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: size_t
    signature: size_t CentralFreeList<Forwarder>::OverheadBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:624,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:628,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:628,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 631
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - SpanStats::num_live_spans
    - value
    - static_cast<size_t>
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: SpanStats
    signature: SpanStats CentralFreeList<Forwarder>::GetSpanStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:636,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitwidth
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 2
    functionsReached:
    - value
    - TC_ASSERT_GT
    linkageType: ''
    returnType: size_t
    signature: "size_t CentralFreeList<Forwarder>::NumSpansWith(\n    uint16_t bitwidth)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:643,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:645,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:645,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:647,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:650,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:651,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:653,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:653,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:655,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 659
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    - printf
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintSpanUtilStats(Printer& out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:663,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:664,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:669,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:672,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:672,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:674,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:675,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:680,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:682,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:684,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 688
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_now
    - clock_frequency
    - std::max<double>
    - AllocTime
    - Iter
    - LifetimeBucketNum
    - printf
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintSpanLifetimeStats(Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:694,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:695,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:696,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:697,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:697,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:702,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:703,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:704,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 706
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    - PbtxtRegion::PrintI64
    - CreateSubRegion
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt(\n    PbtxtRegion&
      region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:711,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:712,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:717,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:720,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:720,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:722,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:723,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:729,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:730,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:731,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 736
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_now
    - clock_frequency
    - PbtxtRegion::PrintI64
    - std::max<double>
    - AllocTime
    - Iter
    - LifetimeBucketNum
    - absl::Milliseconds
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt(\n
      \   PbtxtRegion& region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - absl::base_internal::CycleClock::Now
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t clock_now()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_frequency
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    linkageType: ''
    returnType: double
    signature: double clock_frequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::CentralFreeList
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CentralFreeList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::CentralFreeList
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CentralFreeList(const CentralFreeList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: '& operator=(const CentralFreeList&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CentralFreeList
    signature: CentralFreeList & operator=(const CentralFreeList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:115,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::length
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - value
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:186,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:208,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::num_spans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: size_t
    signature: size_t num_spans() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:215,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:221,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:233,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:234,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::LifetimeBucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    - absl::ToInt64Milliseconds
    linkageType: ''
    returnType: int
    signature: int LifetimeBucketNum(absl::Duration duration)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:295,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:299,1
    - Dst: RoundUpObjectSize
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:300,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:302,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:304,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:305,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:317,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:317,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:319,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 326
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - class_to_pages
    - std::min<size_t>
    - RoundUpObjectSize
    - IsEnabled
    - tcmalloc_internal::Span::CalcReciprocal
    - in_bytes
    - TC_ASSERT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::Init(size_t size_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:331,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:331,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:332,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:333,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:334,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:337,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:338,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:339,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:340,1
    - Dst: Span*::FreelistPush
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:341,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:344,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:345,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:352,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:352,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:353,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:355,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:356,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:361,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:363,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:364,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - object
    - span
    - object_size
    - size_reciprocal
    argTypes:
    - void*
    - Span*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 368
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 2
    functionsReached:
    - absl::bit_width
    - Span*::FreelistPush
    - Span*::nonempty_index
    - TC_ASSERT_EQ
    - ABSL_PREDICT_FALSE
    - RecordSpanUtil
    - Span*::FreelistEmpty
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Span*::set_nonempty_index
    - Add
    - Span*::Allocated
    - Remove
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
    linkageType: ''
    returnType: Span
    signature: "Span * CentralFreeList<Forwarder>::ReleaseToSpans(\n    void* object,
      Span* span, size_t object_size, uint32_t size_reciprocal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeekLeast
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:375,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
    - PeekLeast
    linkageType: ''
    returnType: Span
    signature: Span * CentralFreeList<Forwarder>::FirstNonEmptySpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CentralFreeList<Forwarder>::GetFirstNonEmptyIndex() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:396,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:414,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:415,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - allocated
    - bitwidth
    argTypes:
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 419
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 7
    functionsReached:
    - ASSUME
    - std::min<size_t>
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t CentralFreeList<Forwarder>::IndexFor(uint16_t allocated,\n
      \                                                   uint8_t bitwidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:423,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:424,1
    - Dst: SizeOfList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 4
    functionsReached:
    - ASSUME
    - SizeOfList
    linkageType: ''
    returnType: size_t
    signature: size_t CentralFreeList<Forwarder>::NumSpansInList(int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:431,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:431,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:432,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:432,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:434,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:436,1
    - Dst: MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:443,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:447,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:447,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:462,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:464,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:465,1
    - Dst: RecordMultiSpansDeallocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:471,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:472,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:472,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:476,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:477,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 479
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - absl::MakeSpan
    - absl::Span<void*>::empty
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    - ResetTag
    - MapObjectsToSpans
    - IsEnabled
    - RecordMultiSpansDeallocated
    - TC_CHECK_LE
    - TC_CHECK
    - UpdateObjectCounts
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::InsertRange(absl::Span<void*> batch)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:483,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:483,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:484,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:490,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:490,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: absl::Span<Span*>::data
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - spans
    argTypes:
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 503
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    - start_address
    - IsEnabled
    - absl::Span<Span*>::data
    - ABSL_PREDICT_TRUE
    - IsSelSanMemory
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::DeallocateSpans(absl::Span<Span*>
      spans)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:511,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:512,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:515,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:525,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:526,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:527,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:527,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:531,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:532,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:533,1
    - Dst: Span*::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:534,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:534,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:535,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:540,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:540,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:541,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:543,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:544,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:546,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:547,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:552,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:554,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:555,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:556,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:560,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 563
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - Span*::nonempty_index
    - ABSL_PREDICT_FALSE
    - Span*::FreelistPopBatch
    - absl::Span<void*>::subspan
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Remove
    - TC_ASSERT
    - TC_ASSERT_EQ
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    - RecordSpanUtil
    - TC_ASSERT_GT
    - Span*::set_nonempty_index
    - Add
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
    - UpdateObjectCounts
    - absl::Span<void*>::size
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
    - absl::Span<void*>::empty
    - Span*::FreelistEmpty
    - Span*::Allocated
    - Span*::start_address
    linkageType: ''
    returnType: int
    signature: int CentralFreeList<Forwarder>::RemoveRange(absl::Span<void*> batch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:572,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:574,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:575,1
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:579,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:581,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:582,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:586,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:590,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:590,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:591,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:592,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:594,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:595,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:596,1
    - Dst: RecordSpanAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 600
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    - absl::bit_width
    - Span*::BuildFreelist
    - ABSL_PREDICT_FALSE
    - clock_now
    - Lock
    - RecordSpanUtil
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Unlock
    - TC_ASSERT_GT
    - Span*::set_nonempty_index
    - Add
    - RecordSpanAllocated
    - Span*::Allocated
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: int
    signature: int CentralFreeList<Forwarder>::Populate(absl::Span<void*> batch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:605,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:606,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 9
    functionsReached:
    - TC_LOG
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: Span
    signature: Span * CentralFreeList<Forwarder>::AllocateSpan()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:614,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:617,1
    - Dst: num_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 619
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::OverheadBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - in_bytes
    - num_spans
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: size_t
    signature: size_t CentralFreeList<Forwarder>::OverheadBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:624,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:628,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:628,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 631
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - SpanStats::num_live_spans
    - value
    - static_cast<size_t>
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: SpanStats
    signature: SpanStats CentralFreeList<Forwarder>::GetSpanStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:636,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitwidth
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 4
    functionsReached:
    - value
    - TC_ASSERT_GT
    linkageType: ''
    returnType: size_t
    signature: "size_t CentralFreeList<Forwarder>::NumSpansWith(\n    uint16_t bitwidth)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:643,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:645,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:645,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:647,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:650,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:651,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:653,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:653,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:655,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 659
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    - printf
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintSpanUtilStats(Printer& out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:663,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:664,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:669,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:672,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:672,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:674,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:675,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:680,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:682,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:684,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 688
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_now
    - clock_frequency
    - std::max<double>
    - AllocTime
    - Iter
    - LifetimeBucketNum
    - printf
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintSpanLifetimeStats(Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:694,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:695,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:696,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:697,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:697,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:702,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:703,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:704,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 706
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    - PbtxtRegion::PrintI64
    - CreateSubRegion
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt(\n    PbtxtRegion&
      region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:711,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:712,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:717,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:720,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:720,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:722,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:723,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:729,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:730,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:731,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 736
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_now
    - clock_frequency
    - PbtxtRegion::PrintI64
    - std::max<double>
    - AllocTime
    - Iter
    - LifetimeBucketNum
    - absl::Milliseconds
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt(\n
      \   PbtxtRegion& region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - absl::base_internal::CycleClock::Now
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t clock_now()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_frequency
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    linkageType: ''
    returnType: double
    signature: double clock_frequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::CentralFreeList
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CentralFreeList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::CentralFreeList
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CentralFreeList(const CentralFreeList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: '& operator=(const CentralFreeList&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CentralFreeList
    signature: CentralFreeList & operator=(const CentralFreeList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:115,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::length
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - value
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:186,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:208,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::num_spans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: size_t
    signature: size_t num_spans() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:215,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:221,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:233,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:234,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::LifetimeBucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    - absl::ToInt64Milliseconds
    linkageType: ''
    returnType: int
    signature: int LifetimeBucketNum(absl::Duration duration)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:295,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:299,1
    - Dst: RoundUpObjectSize
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:300,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:302,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:304,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:305,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:317,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:317,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:319,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 326
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - class_to_pages
    - std::min<size_t>
    - RoundUpObjectSize
    - IsEnabled
    - tcmalloc_internal::Span::CalcReciprocal
    - in_bytes
    - TC_ASSERT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::Init(size_t size_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:331,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:331,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:332,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:333,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:334,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:337,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:338,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:339,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:340,1
    - Dst: Span*::FreelistPush
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:341,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:344,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:345,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:352,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:352,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:353,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:355,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:356,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:361,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:363,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:364,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - object
    - span
    - object_size
    - size_reciprocal
    argTypes:
    - void*
    - Span*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 368
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 3
    functionsReached:
    - absl::bit_width
    - Span*::FreelistPush
    - Span*::nonempty_index
    - TC_ASSERT_EQ
    - ABSL_PREDICT_FALSE
    - RecordSpanUtil
    - Span*::FreelistEmpty
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Span*::set_nonempty_index
    - Add
    - Span*::Allocated
    - Remove
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
    linkageType: ''
    returnType: Span
    signature: "Span * CentralFreeList<Forwarder>::ReleaseToSpans(\n    void* object,
      Span* span, size_t object_size, uint32_t size_reciprocal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeekLeast
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:375,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
    - PeekLeast
    linkageType: ''
    returnType: Span
    signature: Span * CentralFreeList<Forwarder>::FirstNonEmptySpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CentralFreeList<Forwarder>::GetFirstNonEmptyIndex() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:396,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:414,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:415,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - allocated
    - bitwidth
    argTypes:
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 419
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 10
    functionsReached:
    - ASSUME
    - std::min<size_t>
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t CentralFreeList<Forwarder>::IndexFor(uint16_t allocated,\n
      \                                                   uint8_t bitwidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:423,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:424,1
    - Dst: SizeOfList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 6
    functionsReached:
    - ASSUME
    - SizeOfList
    linkageType: ''
    returnType: size_t
    signature: size_t CentralFreeList<Forwarder>::NumSpansInList(int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:431,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:431,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:432,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:432,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:434,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:436,1
    - Dst: MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:443,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:447,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:447,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:462,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:464,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:465,1
    - Dst: RecordMultiSpansDeallocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:471,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:472,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:472,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:476,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:477,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 479
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - absl::MakeSpan
    - absl::Span<void*>::empty
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    - ResetTag
    - MapObjectsToSpans
    - IsEnabled
    - RecordMultiSpansDeallocated
    - TC_CHECK_LE
    - TC_CHECK
    - UpdateObjectCounts
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::InsertRange(absl::Span<void*> batch)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:483,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:483,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:484,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:490,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:490,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: absl::Span<Span*>::data
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - spans
    argTypes:
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 503
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    - start_address
    - IsEnabled
    - absl::Span<Span*>::data
    - ABSL_PREDICT_TRUE
    - IsSelSanMemory
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::DeallocateSpans(absl::Span<Span*>
      spans)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:511,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:512,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:515,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:525,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:526,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:527,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:527,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:531,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:532,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:533,1
    - Dst: Span*::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:534,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:534,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:535,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:540,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:540,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:541,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:543,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:544,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:546,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:547,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:552,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:554,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:555,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:556,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:560,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 563
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - Span*::nonempty_index
    - ABSL_PREDICT_FALSE
    - Span*::FreelistPopBatch
    - absl::Span<void*>::subspan
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Remove
    - TC_ASSERT
    - TC_ASSERT_EQ
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    - RecordSpanUtil
    - TC_ASSERT_GT
    - Span*::set_nonempty_index
    - Add
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
    - UpdateObjectCounts
    - absl::Span<void*>::size
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
    - absl::Span<void*>::empty
    - Span*::FreelistEmpty
    - Span*::Allocated
    - Span*::start_address
    linkageType: ''
    returnType: int
    signature: int CentralFreeList<Forwarder>::RemoveRange(absl::Span<void*> batch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:572,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:574,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:575,1
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:579,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:581,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:582,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:586,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:590,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:590,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:591,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:592,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:594,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:595,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:596,1
    - Dst: RecordSpanAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 600
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    - absl::bit_width
    - Span*::BuildFreelist
    - ABSL_PREDICT_FALSE
    - clock_now
    - Lock
    - RecordSpanUtil
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Unlock
    - TC_ASSERT_GT
    - Span*::set_nonempty_index
    - Add
    - RecordSpanAllocated
    - Span*::Allocated
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: int
    signature: int CentralFreeList<Forwarder>::Populate(absl::Span<void*> batch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:605,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:606,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 12
    functionsReached:
    - TC_LOG
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: Span
    signature: Span * CentralFreeList<Forwarder>::AllocateSpan()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:614,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:617,1
    - Dst: num_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 619
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::OverheadBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - in_bytes
    - num_spans
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: size_t
    signature: size_t CentralFreeList<Forwarder>::OverheadBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:624,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:628,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:628,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 631
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - SpanStats::num_live_spans
    - value
    - static_cast<size_t>
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: SpanStats
    signature: SpanStats CentralFreeList<Forwarder>::GetSpanStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:636,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitwidth
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 6
    functionsReached:
    - value
    - TC_ASSERT_GT
    linkageType: ''
    returnType: size_t
    signature: "size_t CentralFreeList<Forwarder>::NumSpansWith(\n    uint16_t bitwidth)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:643,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:645,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:645,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:647,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:650,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:651,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:653,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:653,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:655,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 659
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    - printf
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintSpanUtilStats(Printer& out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:663,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:664,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:669,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:672,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:672,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:674,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:675,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:680,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:682,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:684,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 688
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_now
    - clock_frequency
    - std::max<double>
    - AllocTime
    - Iter
    - LifetimeBucketNum
    - printf
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintSpanLifetimeStats(Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:694,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:695,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:696,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:697,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:697,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:702,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:703,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:704,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 706
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    - PbtxtRegion::PrintI64
    - CreateSubRegion
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt(\n    PbtxtRegion&
      region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:711,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:712,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:717,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:720,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:720,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:722,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:723,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:729,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:730,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:731,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 736
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_now
    - clock_frequency
    - PbtxtRegion::PrintI64
    - std::max<double>
    - AllocTime
    - Iter
    - LifetimeBucketNum
    - absl::Milliseconds
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt(\n
      \   PbtxtRegion& region)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Sampler::HotDataOffset
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:70,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:104,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:111,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:115,1
    - Dst: size_returning
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:120,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:121,1
    - Dst: access
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:121,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:127,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:134,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:135,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:135,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:136,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:136,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:138,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:139,1
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:141,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:142,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:146,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:146,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:147,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:151,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:151,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:152,1
    - Dst: size_returning
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:159,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:163,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:173,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:173,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:179,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:189,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:191,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:191,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:196,1
    - Dst: AllocHandle
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:200,1
    - Dst: sampled_alloc_handle_generator::fetch_add
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:200,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:203,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:204,1
    - Dst: allocation_type
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:206,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:209,1
    - Dst: sampled_internal_fragmentation_::Add
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:211,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:221,1
    - Dst: MallocHook::InvokeSampledNewHook
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:227,1
    - Dst: allocation_samples::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:229,1
    - Dst: deallocation_samples::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:231,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:237,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:237,1
    - Dst: Sample
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:240,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:242,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:247,1
    - Dst: FreeProxyObject
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:248,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:250,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:250,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:250,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:252,1
    - Dst: SampleifyAllocation
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:263,1
    - Dst: SampleifyAllocation
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:271,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 274
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::New
    - Length
    - page_allocator
    - AllocHandle
    - GetMemoryTag
    - absl::Now
    - peak_heap_tracker
    - sampled_alloc_handle_generator::fetch_add
    - access
    - bytes_in_span
    - PageIdContaining
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - IsNormalMemory
    - tcmalloc_internal::Sampler::HotDataOffset
    - allocation_type
    - deallocation_samples::ReportMalloc
    - TC_ASSERT
    - TC_ASSERT_EQ
    - first_page
    - sizemap
    - TC_ASSERT_NE
    - absl::MakeSpan
    - BytesToLengthCeil
    - pagemap
    - Range
    - TC_ASSERT_GT
    - MallocHook::InvokeSampledNewHook
    - Add
    - Sample
    - per_size_class_counts
    - sampled_internal_fragmentation_::Add
    - sampled_allocation_recorder
    - size_returning
    - std::move
    - FreeProxyObject
    - SampleifyAllocation
    - PageIdContainingTagged
    - allocation_samples::ReportMalloc
    - IsExpandedSizeClass
    - guardedpage_allocator
    - start_address
    - TC_ASSERT_LE
    - static_cast<uint8_t>
    - align
    - TC_CHECK
    - static_cast<double>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Sampler::HotDataOffset
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: GetThreadSampler
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Sampler::HotDataOffset
    linkageType: ''
    returnType: Sampler
    signature: Sampler * GetThreadSampler()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:104,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:111,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:115,1
    - Dst: Policy::size_returning
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:120,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:121,1
    - Dst: Policy::access
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:121,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:127,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:134,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:135,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:135,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:136,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:136,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:138,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:139,1
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:141,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:142,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:146,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:146,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:147,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:151,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:151,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:152,1
    - Dst: Policy::size_returning
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:159,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:163,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:173,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:173,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:179,1
    - Dst: Span*::bytes_in_span
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:189,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:191,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:191,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:196,1
    - Dst: AllocHandle
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:200,1
    - Dst: sampled_alloc_handle_generator::fetch_add
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:200,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:203,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:204,1
    - Dst: Policy::allocation_type
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:206,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:209,1
    - Dst: sampled_internal_fragmentation_::Add
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:211,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:221,1
    - Dst: MallocHook::InvokeSampledNewHook
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:227,1
    - Dst: allocation_samples::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:229,1
    - Dst: deallocation_samples::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:231,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:237,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:237,1
    - Dst: Span*::Sample
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:240,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:242,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:247,1
    - Dst: FreeProxyObject
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:248,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:250,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:250,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:250,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:252,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    argCount: 7
    argNames:
    - ' state'
    - policy
    - requested_size
    - weight
    - size_class
    - obj
    - span
    argTypes:
    - Static
    - Policy
    - size_t
    - size_t
    - size_t
    - void*
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 254
    functionName: sized_ptr_t::SampleifyAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::New
    - Length
    - page_allocator
    - AllocHandle
    - GetMemoryTag
    - absl::Now
    - peak_heap_tracker
    - sampled_alloc_handle_generator::fetch_add
    - PageIdContaining
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - Span*::first_page
    - IsNormalMemory
    - Policy::align
    - Policy::access
    - Span*::bytes_in_span
    - deallocation_samples::ReportMalloc
    - TC_ASSERT
    - TC_ASSERT_EQ
    - sizemap
    - TC_ASSERT_NE
    - absl::MakeSpan
    - BytesToLengthCeil
    - pagemap
    - Range
    - TC_ASSERT_GT
    - MallocHook::InvokeSampledNewHook
    - Add
    - Policy::size_returning
    - Policy::allocation_type
    - per_size_class_counts
    - sampled_internal_fragmentation_::Add
    - sampled_allocation_recorder
    - std::move
    - FreeProxyObject
    - PageIdContainingTagged
    - allocation_samples::ReportMalloc
    - IsExpandedSizeClass
    - guardedpage_allocator
    - TC_ASSERT_LE
    - static_cast<uint8_t>
    - Span*::Sample
    - TC_CHECK
    - Span*::start_address
    - static_cast<double>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE sized_ptr_t\nSampleifyAllocation(Static& state,
      Policy policy, size_t requested_size,\n                    size_t weight, size_t
      size_class, void* obj, Span* span)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SampleifyAllocation
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' state'
    - policy
    - requested_size
    - weight
    - span
    argTypes:
    - Static
    - Policy
    - size_t
    - size_t
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: SampleLargeAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.h
    functionUses: 0
    functionsReached:
    - SampleifyAllocation
    linkageType: ''
    returnType: sized_ptr_t
    signature: "sized_ptr_t SampleLargeAllocation(Static& state, Policy policy,\n
      \                                        size_t requested_size, size_t weight,\n
      \                                        Span* span)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SampleifyAllocation
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' state'
    - policy
    - requested_size
    - weight
    - size_class
    - res
    argTypes:
    - Static
    - Policy
    - size_t
    - size_t
    - size_t
    - sized_ptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: SampleSmallAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.h
    functionUses: 0
    functionsReached:
    - SampleifyAllocation
    linkageType: ''
    returnType: sized_ptr_t
    signature: "sized_ptr_t SampleSmallAllocation(Static& state, Policy policy,\n
      \                                        size_t requested_size, size_t weight,\n
      \                                        size_t size_class, sized_ptr_t res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 147
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 0
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~HugeAddressMap()
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HugeAddressMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' meta'
    argTypes:
    - MetadataAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: tcmalloc_internal::HugeAddressMap::HugeAddressMap
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::HugeAddressMap(MetadataAllocator& meta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: HugeAddressMap::Node::range() const
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange HugeAddressMap::Node::range() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: '* HugeAddressMap::Node::left()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::Node::left()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: '* HugeAddressMap::Node::right()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::Node::right()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: HugeAddressMap::Node::when() const
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t HugeAddressMap::Node::when() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: HugeAddressMap::Node::longest() const
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeAddressMap::Node::longest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: tcmalloc_internal::HugeAddressMap::root
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::root()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: tcmalloc_internal::HugeAddressMap::root
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::root() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~HugeAddressMap()
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HugeAddressMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' meta'
    argTypes:
    - MetadataAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: tcmalloc_internal::HugeAddressMap::HugeAddressMap
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeAddressMap::HugeAddressMap(MetadataAllocator& meta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: HugeAddressMap::Node::range() const
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange HugeAddressMap::Node::range() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: '* HugeAddressMap::Node::left()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::Node::left()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: '* HugeAddressMap::Node::right()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::Node::right()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: HugeAddressMap::Node::when() const
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t HugeAddressMap::Node::when() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: HugeAddressMap::Node::longest() const
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeAddressMap::Node::longest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: tcmalloc_internal::HugeAddressMap::root
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::root()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: tcmalloc_internal::HugeAddressMap::root
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAddressMap::root() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HookList::HookList
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:26,1
    - Dst: HookList::HookList
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:27,1
    - Dst: HookList::HookList
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:29,1
    - Dst: HookList::HookList
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:30,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:35,1
    - Dst: InvokeNewHookSlow
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:36,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:41,1
    - Dst: InvokeDeleteHookSlow
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:42,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:48,1
    - Dst: InvokeSampledNewHookSlow
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:49,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:56,1
    - Dst: InvokeSampledDeleteHookSlow
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 61
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h
    functionUses: 0
    functionsReached:
    - InvokeSampledDeleteHookSlow
    - HookList::HookList
    - empty
    - InvokeNewHookSlow
    - InvokeSampledNewHookSlow
    - InvokeDeleteHookSlow
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:35,1
    - Dst: MallocHook::InvokeNewHookSlow
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - NewInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: MallocHook::InvokeNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h
    functionUses: 3
    functionsReached:
    - MallocHook::InvokeNewHookSlow
    - empty
    linkageType: ''
    returnType: void
    signature: void MallocHook::InvokeNewHook(const NewInfo& info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:41,1
    - Dst: MallocHook::InvokeDeleteHookSlow
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - DeleteInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: MallocHook::InvokeDeleteHook
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h
    functionUses: 0
    functionsReached:
    - MallocHook::InvokeDeleteHookSlow
    - empty
    linkageType: ''
    returnType: void
    signature: void MallocHook::InvokeDeleteHook(const DeleteInfo& info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:48,1
    - Dst: MallocHook::InvokeSampledNewHookSlow
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: MallocHook::InvokeSampledNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h
    functionUses: 2
    functionsReached:
    - empty
    - MallocHook::InvokeSampledNewHookSlow
    linkageType: ''
    returnType: void
    signature: "void MallocHook::InvokeSampledNewHook(\n    const SampledAlloc& sampled_alloc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:56,1
    - Dst: MallocHook::InvokeSampledDeleteHookSlow
      Src: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: MallocHook::InvokeSampledDeleteHook
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h
    functionUses: 0
    functionsReached:
    - empty
    - MallocHook::InvokeSampledDeleteHookSlow
    linkageType: ''
    returnType: void
    signature: "void MallocHook::InvokeSampledDeleteHook(\n    const\n    SampledAlloc&
      sampled_alloc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h:47,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h:48,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h:49,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h:55,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h:57,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h:62,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h:63,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - bytes
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: "FakeVirtualAllocator::operator()(size_t bytes,\n                                                     size_t
      align)"
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h
    functionUses: 0
    functionsReached:
    - resize
    - size
    - HLFromBytes
    - TC_CHECK_EQ
    - reinterpret_cast<void*>
    - NHugePages
    - HugeLength::in_bytes
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange FakeVirtualAllocator::operator()(size_t bytes,\n                                                     size_t
      align)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h:47,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h:48,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h:49,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h:55,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h:57,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h:62,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h:63,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - bytes
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: "FakeVirtualAllocator::operator()(size_t bytes,\n                                                     size_t
      align)"
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h
    functionUses: 0
    functionsReached:
    - resize
    - size
    - HLFromBytes
    - TC_CHECK_EQ
    - reinterpret_cast<void*>
    - NHugePages
    - HugeLength::in_bytes
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange FakeVirtualAllocator::operator()(size_t bytes,\n                                                     size_t
      align)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:57,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:58,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:59,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:66,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:66,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:66,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:67,1
    - Dst: Reset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:69,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:69,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:69,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:70,1
    - Dst: MapPages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:71,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:78,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:78,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:79,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:89,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:89,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:90,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:90,1
    - Dst: DecayAll
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:95,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:101,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:102,1
    - Dst: tcmalloc_internal::Parameters::guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:107,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:113,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:137,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:138,1
    - Dst: Contains
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:144,1
    - Dst: allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:148,1
    - Dst: Next
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:149,1
    - Dst: Decay
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:152,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:153,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:164,1
    - Dst: ReserveFreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:169,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:175,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:176,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:177,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:177,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:178,1
    - Dst: SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:178,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:182,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:183,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:185,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:186,1
    - Dst: FreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:187,1
    - Dst: MaybeRightAlign
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:191,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:197,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:198,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:202,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:205,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:208,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:208,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:210,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:210,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:211,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:212,1
    - Dst: dealloc_count::store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:213,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:214,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:215,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:217,1
    - Dst: reinterpret_cast<volatile char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:226,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:231,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:231,1
    - Dst: GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:232,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:232,1
    - Dst: AddrToSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:233,1
    - Dst: dealloc_count::fetch_add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:238,1
    - Dst: ForceTouchPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:239,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:245,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:247,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:250,1
    - Dst: WriteOverflowOccurred
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:256,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:262,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:263,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:263,1
    - Dst: ForceTouchPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:266,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:270,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:270,1
    - Dst: SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:272,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:274,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:277,1
    - Dst: FreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:281,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:285,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:285,1
    - Dst: AddrToSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:286,1
    - Dst: GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:286,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:286,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:292,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:292,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:293,1
    - Dst: GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:294,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:301,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:301,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:302,1
    - Dst: GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:303,1
    - Dst: GetErrorType
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:306,1
    - Dst: tcmalloc_internal::Parameters::guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:312,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:313,1
    - Dst: std::ceil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:317,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:317,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:318,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:323,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:339,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:341,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:343,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:345,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:347,1
    - Dst: allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:349,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:351,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:354,1
    - Dst: allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:356,1
    - Dst: GetChainedInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:358,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:362,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:362,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:363,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:363,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:364,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:365,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:366,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:367,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:368,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:369,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:370,1
    - Dst: allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:370,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:371,1
    - Dst: allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:371,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:372,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:373,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:374,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:375,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:375,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:376,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:377,1
    - Dst: GetChainedInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:377,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:384,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:385,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:385,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:388,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:388,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:390,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:394,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:394,1
    - Dst: BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:395,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:396,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:396,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:397,1
    - Dst: reinterpret_cast<SlotMetadata*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:402,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:403,1
    - Dst: SlotMetadata::SlotMetadata
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:405,1
    - Dst: GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:412,1
    - Dst: GetNumAvailablePages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:421,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:422,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:425,1
    - Dst: GetFreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:427,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:428,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:428,1
    - Dst: SetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:429,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:436,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:437,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:438,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:439,1
    - Dst: Next
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:445,1
    - Dst: FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:447,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:449,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:450,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:455,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:456,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:456,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:457,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:459,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:459,1
    - Dst: AddrToSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:487,1
    - Dst: GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:487,1
    - Dst: GetNearestValidPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:487,1
    - Dst: ShouldRightAlign
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:491,1
    - Dst: GetWriteOverflowMagic
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:492,1
    - Dst: SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:495,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:496,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:498,1
    - Dst: dealloc_count::load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:506,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:523,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:529,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:530,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:532,1
    - Dst: ShouldRightAlign
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:538,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:540,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:549,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:549,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:550,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:550,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:551,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:554,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:559,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:560,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:560,1
    - Dst: GetWriteOverflowMagic
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:561,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:562,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 230
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 566
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - FindClear
    - std::ceil
    - memset
    - TC_CHECK_LE
    - mprotect
    - TC_CHECK_GT
    - SlotToAddr
    - FindClearBackwards
    - reinterpret_cast<SlotMetadata*>
    - load
    - PrintI64
    - WriteOverflowOccurred
    - Allocate
    - MapPages
    - FreeSlot
    - GetNumAvailablePages
    - absl::base_internal::CycleClock::Now
    - GetBit
    - static_cast<double>
    - dealloc_count::fetch_add
    - ABSL_PREDICT_FALSE
    - allocated_pages
    - static_cast<uint64_t>
    - GetNearestSlot
    - printf
    - store
    - reinterpret_cast<void*>
    - PageIdContaining
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::has_single_bit
    - dealloc_count::store
    - reinterpret_cast<uintptr_t>
    - ReserveFreeSlot
    - std::max
    - absl::bit_cast<void*>
    - Next
    - Contains
    - DecayAll
    - TC_ASSERT_NE
    - pagemap
    - LossyAdd
    - dealloc_count::load
    - MaybeRightAlign
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - GetNearestValidPage
    - static_cast<size_t>
    - successful_allocations
    - reinterpret_cast<volatile char*>
    - reinterpret_cast<uint8_t*>
    - Decay
    - SlotMetadata::SlotMetadata
    - ClearBit
    - PointerIsMine
    - TC_ASSERT
    - GetPageSize
    - total_sampled_count_::value
    - Range
    - TC_CHECK_EQ
    - GetErrorType
    - munmap
    - absl::base_internal::GetTID
    - ReportCorruptedFree
    - total_sampled_count_::Add
    - Length
    - std::min
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - GetPageAddr
    - system_allocator
    - SetBit
    - absl::bit_ceil
    - TC_ASSERT_EQ
    - memcpy
    - Add
    - value
    - ForceTouchPage
    - BytesToLengthFloor
    - GetFreeSlot
    - ShouldRightAlign
    - static_cast<std::align_val_t>
    - arena
    - AddrToSlot
    - GetChainedInterval
    - TC_ASSERT_LE
    - Reset
    - TC_ASSERT_LT
    - GetWriteOverflowMagic
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:57,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:58,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:59,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:66,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:66,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:66,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:67,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::Reset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:69,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:69,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:69,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:70,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::MapPages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - max_allocated_pages
    - total_pages
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::GuardedPageAllocator::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - std::max
    - GetPageSize
    - tcmalloc_internal::GuardedPageAllocator::MapPages
    - static_cast<uint64_t>
    - static_cast<size_t>
    - tcmalloc_internal::GuardedPageAllocator::Reset
    - absl::base_internal::CycleClock::Now
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_LE
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: "void GuardedPageAllocator::Init(size_t max_allocated_pages,\n                                size_t
      total_pages)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:78,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:78,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::GuardedPageAllocator::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - TC_ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::Destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:89,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:89,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:90,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:90,1
    - Dst: DecayAll
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::GuardedPageAllocator::Reset
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 1
    functionsReached:
    - DecayAll
    - total_sampled_count_::value
    - Add
    - value
    - total_sampled_count_::Add
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::Reset()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:101,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:102,1
    - Dst: tcmalloc_internal::Parameters::guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:107,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:113,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:137,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:138,1
    - Dst: Contains
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:144,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:148,1
    - Dst: Next
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:149,1
    - Dst: Decay
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:152,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:153,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - size
    - alignment
    - num_pages
    - ' stack_trace'
    argTypes:
    - size_t
    - size_t
    - Length
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 165
    functionName: tcmalloc_internal::GuardedPageAllocator::TrySample
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - total_sampled_count_::value
    - Length
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - tcmalloc_internal::GuardedPageAllocator::allocated_pages
    - Add
    - tcmalloc_internal::GuardedPageAllocator::successful_allocations
    - tcmalloc_internal::GuardedPageAllocator::Allocate
    - Decay
    - Next
    - Contains
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: GuardedAllocWithStatus
    signature: "GuardedAllocWithStatus GuardedPageAllocator::TrySample(\n    size_t
      size, size_t alignment, Length num_pages,\n    const StackTrace& stack_trace)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GuardedPageAllocator::ReserveFreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:169,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:175,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:176,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:177,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:177,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:178,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:178,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:182,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:183,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:185,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:186,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::FreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:187,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::MaybeRightAlign
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:191,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:197,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:198,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:202,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:205,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:208,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:208,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:210,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:210,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:211,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:212,1
    - Dst: dealloc_count::store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:213,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:214,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:215,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - size
    - alignment
    - ' stack_trace'
    argTypes:
    - size_t
    - size_t
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 219
    functionName: tcmalloc_internal::GuardedPageAllocator::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 1
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::GuardedPageAllocator::SlotToAddr
    - tcmalloc_internal::GuardedPageAllocator::MaybeRightAlign
    - reinterpret_cast<void*>
    - mprotect
    - absl::has_single_bit
    - dealloc_count::store
    - tcmalloc_internal::GuardedPageAllocator::FreeSlot
    - tcmalloc_internal::GuardedPageAllocator::ReserveFreeSlot
    - reinterpret_cast<uintptr_t>
    - std::max
    - TC_ASSERT
    - memcpy
    - LossyAdd
    - Add
    - absl::base_internal::GetTID
    - static_cast<std::align_val_t>
    - static_cast<size_t>
    - TC_ASSERT_LE
    linkageType: ''
    returnType: GuardedAllocWithStatus
    signature: "GuardedAllocWithStatus GuardedPageAllocator::Allocate(\n    size_t
      size, size_t alignment, const StackTrace& stack_trace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<volatile char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: tcmalloc_internal::ForceTouchPage
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<volatile char*>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE ForceTouchPage(\n    void* ptr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:231,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:231,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:232,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:232,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::AddrToSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:233,1
    - Dst: dealloc_count::fetch_add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:238,1
    - Dst: ForceTouchPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:239,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:245,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:247,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:250,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::WriteOverflowOccurred
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:256,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:262,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:263,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:263,1
    - Dst: ForceTouchPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:266,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:270,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:270,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:272,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:274,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:277,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::FreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 282
    functionName: tcmalloc_internal::GuardedPageAllocator::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - dealloc_count::fetch_add
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::GuardedPageAllocator::SlotToAddr
    - tcmalloc_internal::GuardedPageAllocator::AddrToSlot
    - reinterpret_cast<void*>
    - mprotect
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - tcmalloc_internal::GuardedPageAllocator::FreeSlot
    - reinterpret_cast<uintptr_t>
    - absl::bit_cast<void*>
    - TC_ASSERT
    - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    - TC_CHECK_EQ
    - Add
    - tcmalloc_internal::GuardedPageAllocator::WriteOverflowOccurred
    - ForceTouchPage
    - absl::base_internal::GetTID
    - static_cast<std::align_val_t>
    - tcmalloc_internal::GuardedPageAllocator::PointerIsMine
    - ReportCorruptedFree
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::Deallocate(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:285,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:285,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::AddrToSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:286,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:286,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: tcmalloc_internal::GuardedPageAllocator::GetRequestedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    - tcmalloc_internal::GuardedPageAllocator::PointerIsMine
    - tcmalloc_internal::GuardedPageAllocator::AddrToSlot
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t GuardedPageAllocator::GetRequestedSize(const void* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:292,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:292,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:293,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: tcmalloc_internal::GuardedPageAllocator::GetAllocationOffsetAndSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    - tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
    - tcmalloc_internal::GuardedPageAllocator::PointerIsMine
    linkageType: ''
    returnType: std::pair<off_t, size_t>
    signature: "std::pair<off_t, size_t> GuardedPageAllocator::GetAllocationOffsetAndSize(\n
      \   const void* ptr) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:301,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:301,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:302,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:303,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetErrorType
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - alloc_trace
    - dealloc_trace
    argTypes:
    - void*
    - GuardedAllocationsStackTrace**
    - GuardedAllocationsStackTrace**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: tcmalloc_internal::GuardedPageAllocator::GetStackTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GuardedPageAllocator::GetErrorType
    - tcmalloc_internal::GuardedPageAllocator::PointerIsMine
    - tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    linkageType: ''
    returnType: GuardedAllocationsErrorType
    signature: "GuardedAllocationsErrorType GuardedPageAllocator::GetStackTraces(\n
      \   const void* ptr, GuardedAllocationsStackTrace** alloc_trace,\n    GuardedAllocationsStackTrace**
      dealloc_trace) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:312,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:313,1
    - Dst: std::ceil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:317,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:317,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 320
    functionName: tcmalloc_internal::GetChainedInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - std::ceil
    - static_cast<double>
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: int
    signature: int GetChainedInterval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:323,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:339,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:341,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:343,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:345,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:347,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:349,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:351,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:354,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:356,1
    - Dst: GetChainedInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 359
    functionName: tcmalloc_internal::GuardedPageAllocator::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - load
    - GetChainedInterval
    - tcmalloc_internal::GuardedPageAllocator::allocated_pages
    - printf
    - value
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::Print(Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:362,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:362,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:363,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:363,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:364,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:365,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:366,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:367,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:368,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:369,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:370,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:370,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:371,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:371,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:372,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:373,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:374,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:375,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:375,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:376,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:377,1
    - Dst: GetChainedInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' gwp_asan'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 378
    functionName: tcmalloc_internal::GuardedPageAllocator::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - load
    - PrintI64
    - GetChainedInterval
    - tcmalloc_internal::GuardedPageAllocator::allocated_pages
    - value
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::PrintInPbtxt(PbtxtRegion& gwp_asan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:384,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:385,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:385,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:388,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:388,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:390,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:394,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:394,1
    - Dst: BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:395,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:396,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:396,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:397,1
    - Dst: reinterpret_cast<SlotMetadata*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:402,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:403,1
    - Dst: SlotMetadata::SlotMetadata
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:405,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 415
    functionName: tcmalloc_internal::GuardedPageAllocator::MapPages
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 1
    functionsReached:
    - BytesToLengthFloor
    - system_allocator
    - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    - GetPageSize
    - PageIdContaining
    - arena
    - pagemap
    - Range
    - reinterpret_cast<SlotMetadata*>
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - TC_ASSERT
    - TC_ASSERT_EQ
    - SlotMetadata::SlotMetadata
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::MapPages()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNumAvailablePages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:421,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:422,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:425,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetFreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:427,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:428,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:428,1
    - Dst: SetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:429,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:436,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:437,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:438,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 442
    functionName: tcmalloc_internal::GuardedPageAllocator::ReserveFreeSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::GuardedPageAllocator::GetFreeSlot
    - load
    - LossyAdd
    - Add
    - GetBit
    - store
    - SetBit
    - tcmalloc_internal::GuardedPageAllocator::GetNumAvailablePages
    - TC_ASSERT
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t GuardedPageAllocator::ReserveFreeSlot()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:445,1
    - Dst: FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:447,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:449,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 452
    functionName: tcmalloc_internal::GuardedPageAllocator::GetFreeSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 1
    functionsReached:
    - FindClear
    - FindClearBackwards
    - Next
    - TC_ASSERT_LT
    linkageType: ''
    returnType: size_t
    signature: size_t GuardedPageAllocator::GetFreeSlot()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:455,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:456,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:456,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:457,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:459,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 461
    functionName: tcmalloc_internal::GuardedPageAllocator::FreeSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - load
    - GetBit
    - store
    - TC_ASSERT
    - TC_ASSERT_LT
    - ClearBit
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::FreeSlot(size_t slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t GuardedPageAllocator::GetPageAddr(uintptr_t addr) const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 484
    functionName: tcmalloc_internal::GuardedPageAllocator::GetNearestValidPage
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t GuardedPageAllocator::GetNearestValidPage(uintptr_t addr)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GuardedPageAllocator::AddrToSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:487,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:487,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNearestValidPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 488
    functionName: tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::GuardedPageAllocator::AddrToSlot
    - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    - tcmalloc_internal::GuardedPageAllocator::GetNearestValidPage
    linkageType: ''
    returnType: size_t
    signature: size_t GuardedPageAllocator::GetNearestSlot(uintptr_t addr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GuardedPageAllocator::ShouldRightAlign
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:491,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:492,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:495,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:496,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 501
    functionName: tcmalloc_internal::GuardedPageAllocator::WriteOverflowOccurred
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::GuardedPageAllocator::SlotToAddr
    - tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
    - reinterpret_cast<uint8_t*>
    - std::min
    - tcmalloc_internal::GuardedPageAllocator::ShouldRightAlign
    linkageType: ''
    returnType: bool
    signature: bool GuardedPageAllocator::WriteOverflowOccurred(size_t slot) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dealloc_count::load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - addr
    - ' d'
    argTypes:
    - uintptr_t
    - SlotMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 520
    functionName: tcmalloc_internal::GuardedPageAllocator::GetErrorType
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 1
    functionsReached:
    - dealloc_count::load
    linkageType: ''
    returnType: GuardedAllocationsErrorType
    signature: "GuardedAllocationsErrorType GuardedPageAllocator::GetErrorType(\n
      \   uintptr_t addr, const SlotMetadata& d) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: tcmalloc_internal::GuardedPageAllocator::SlotToAddr
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 3
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t GuardedPageAllocator::SlotToAddr(size_t slot) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:529,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:530,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 534
    functionName: tcmalloc_internal::GuardedPageAllocator::AddrToSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 3
    functionsReached:
    - TC_ASSERT
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: size_t
    signature: size_t GuardedPageAllocator::AddrToSlot(uintptr_t addr) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GuardedPageAllocator::ShouldRightAlign
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:538,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:540,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:549,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:549,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:550,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:550,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:551,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:554,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:559,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:560,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:560,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:561,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - slot
    - size
    - alignment
    - ptr
    argTypes:
    - size_t
    - size_t
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 563
    functionName: tcmalloc_internal::GuardedPageAllocator::MaybeRightAlign
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - static_cast<size_t>
    - tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
    - memset
    - std::min
    - absl::bit_ceil
    - std::max
    - tcmalloc_internal::GuardedPageAllocator::ShouldRightAlign
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: "void GuardedPageAllocator::MaybeRightAlign(size_t slot, size_t size,\n
      \                                          size_t alignment, void** ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:57,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:58,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:59,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:66,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:66,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:66,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:67,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::Reset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:69,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:69,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:69,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:70,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::MapPages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - max_allocated_pages
    - total_pages
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::GuardedPageAllocator::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - std::max
    - GetPageSize
    - tcmalloc_internal::GuardedPageAllocator::MapPages
    - static_cast<uint64_t>
    - static_cast<size_t>
    - tcmalloc_internal::GuardedPageAllocator::Reset
    - absl::base_internal::CycleClock::Now
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_LE
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: "void GuardedPageAllocator::Init(size_t max_allocated_pages,\n                                size_t
      total_pages)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:78,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:78,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::GuardedPageAllocator::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - TC_ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::Destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:89,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:89,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:90,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:90,1
    - Dst: DecayAll
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::GuardedPageAllocator::Reset
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - DecayAll
    - total_sampled_count_::value
    - Add
    - value
    - total_sampled_count_::Add
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::Reset()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:101,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:102,1
    - Dst: tcmalloc_internal::Parameters::guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:107,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:113,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:137,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:138,1
    - Dst: Contains
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:144,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:148,1
    - Dst: Next
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:149,1
    - Dst: Decay
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:152,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:153,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - size
    - alignment
    - num_pages
    - ' stack_trace'
    argTypes:
    - size_t
    - size_t
    - Length
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 165
    functionName: tcmalloc_internal::GuardedPageAllocator::TrySample
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - total_sampled_count_::value
    - Length
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - tcmalloc_internal::GuardedPageAllocator::allocated_pages
    - Add
    - tcmalloc_internal::GuardedPageAllocator::successful_allocations
    - tcmalloc_internal::GuardedPageAllocator::Allocate
    - Decay
    - Next
    - Contains
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: GuardedAllocWithStatus
    signature: "GuardedAllocWithStatus GuardedPageAllocator::TrySample(\n    size_t
      size, size_t alignment, Length num_pages,\n    const StackTrace& stack_trace)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GuardedPageAllocator::ReserveFreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:169,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:175,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:176,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:177,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:177,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:178,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:178,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:182,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:183,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:185,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:186,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::FreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:187,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::MaybeRightAlign
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:191,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:197,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:198,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:202,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:205,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:208,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:208,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:210,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:210,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:211,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:212,1
    - Dst: dealloc_count::store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:213,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:214,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:215,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - size
    - alignment
    - ' stack_trace'
    argTypes:
    - size_t
    - size_t
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 219
    functionName: tcmalloc_internal::GuardedPageAllocator::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::GuardedPageAllocator::SlotToAddr
    - tcmalloc_internal::GuardedPageAllocator::MaybeRightAlign
    - reinterpret_cast<void*>
    - mprotect
    - absl::has_single_bit
    - dealloc_count::store
    - tcmalloc_internal::GuardedPageAllocator::FreeSlot
    - tcmalloc_internal::GuardedPageAllocator::ReserveFreeSlot
    - reinterpret_cast<uintptr_t>
    - std::max
    - TC_ASSERT
    - memcpy
    - LossyAdd
    - Add
    - absl::base_internal::GetTID
    - static_cast<std::align_val_t>
    - static_cast<size_t>
    - TC_ASSERT_LE
    linkageType: ''
    returnType: GuardedAllocWithStatus
    signature: "GuardedAllocWithStatus GuardedPageAllocator::Allocate(\n    size_t
      size, size_t alignment, const StackTrace& stack_trace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<volatile char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: tcmalloc_internal::ForceTouchPage
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<volatile char*>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE ForceTouchPage(\n    void* ptr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:231,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:231,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:232,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:232,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::AddrToSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:233,1
    - Dst: dealloc_count::fetch_add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:238,1
    - Dst: ForceTouchPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:239,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:245,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:247,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:250,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::WriteOverflowOccurred
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:256,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:262,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:263,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:263,1
    - Dst: ForceTouchPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:266,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:270,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:270,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:272,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:274,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:277,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::FreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 282
    functionName: tcmalloc_internal::GuardedPageAllocator::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - dealloc_count::fetch_add
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::GuardedPageAllocator::SlotToAddr
    - tcmalloc_internal::GuardedPageAllocator::AddrToSlot
    - reinterpret_cast<void*>
    - mprotect
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - tcmalloc_internal::GuardedPageAllocator::FreeSlot
    - reinterpret_cast<uintptr_t>
    - absl::bit_cast<void*>
    - TC_ASSERT
    - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    - TC_CHECK_EQ
    - Add
    - tcmalloc_internal::GuardedPageAllocator::WriteOverflowOccurred
    - ForceTouchPage
    - absl::base_internal::GetTID
    - static_cast<std::align_val_t>
    - tcmalloc_internal::GuardedPageAllocator::PointerIsMine
    - ReportCorruptedFree
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::Deallocate(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:285,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:285,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::AddrToSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:286,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:286,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: tcmalloc_internal::GuardedPageAllocator::GetRequestedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    - tcmalloc_internal::GuardedPageAllocator::PointerIsMine
    - tcmalloc_internal::GuardedPageAllocator::AddrToSlot
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t GuardedPageAllocator::GetRequestedSize(const void* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:292,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:292,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:293,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: tcmalloc_internal::GuardedPageAllocator::GetAllocationOffsetAndSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    - tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
    - tcmalloc_internal::GuardedPageAllocator::PointerIsMine
    linkageType: ''
    returnType: std::pair<off_t, size_t>
    signature: "std::pair<off_t, size_t> GuardedPageAllocator::GetAllocationOffsetAndSize(\n
      \   const void* ptr) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:301,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:301,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:302,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:303,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetErrorType
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - alloc_trace
    - dealloc_trace
    argTypes:
    - void*
    - GuardedAllocationsStackTrace**
    - GuardedAllocationsStackTrace**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: tcmalloc_internal::GuardedPageAllocator::GetStackTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GuardedPageAllocator::GetErrorType
    - tcmalloc_internal::GuardedPageAllocator::PointerIsMine
    - tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    linkageType: ''
    returnType: GuardedAllocationsErrorType
    signature: "GuardedAllocationsErrorType GuardedPageAllocator::GetStackTraces(\n
      \   const void* ptr, GuardedAllocationsStackTrace** alloc_trace,\n    GuardedAllocationsStackTrace**
      dealloc_trace) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:312,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:313,1
    - Dst: std::ceil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:317,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:317,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 320
    functionName: tcmalloc_internal::GetChainedInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - std::ceil
    - static_cast<double>
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: int
    signature: int GetChainedInterval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:323,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:339,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:341,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:343,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:345,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:347,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:349,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:351,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:354,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:356,1
    - Dst: GetChainedInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 359
    functionName: tcmalloc_internal::GuardedPageAllocator::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - load
    - GetChainedInterval
    - tcmalloc_internal::GuardedPageAllocator::allocated_pages
    - printf
    - value
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::Print(Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:362,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:362,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:363,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:363,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:364,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:365,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:366,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:367,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:368,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:369,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:370,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:370,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:371,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:371,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:372,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:373,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:374,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:375,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:375,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:376,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:377,1
    - Dst: GetChainedInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' gwp_asan'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 378
    functionName: tcmalloc_internal::GuardedPageAllocator::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - load
    - PrintI64
    - GetChainedInterval
    - tcmalloc_internal::GuardedPageAllocator::allocated_pages
    - value
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::PrintInPbtxt(PbtxtRegion& gwp_asan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:384,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:385,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:385,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:388,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:388,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:390,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:394,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:394,1
    - Dst: BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:395,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:396,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:396,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:397,1
    - Dst: reinterpret_cast<SlotMetadata*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:402,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:403,1
    - Dst: SlotMetadata::SlotMetadata
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:405,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 415
    functionName: tcmalloc_internal::GuardedPageAllocator::MapPages
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - BytesToLengthFloor
    - system_allocator
    - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    - GetPageSize
    - PageIdContaining
    - arena
    - pagemap
    - Range
    - reinterpret_cast<SlotMetadata*>
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - TC_ASSERT
    - TC_ASSERT_EQ
    - SlotMetadata::SlotMetadata
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::MapPages()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNumAvailablePages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:421,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:422,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:425,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetFreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:427,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:428,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:428,1
    - Dst: SetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:429,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:436,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:437,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:438,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 442
    functionName: tcmalloc_internal::GuardedPageAllocator::ReserveFreeSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::GuardedPageAllocator::GetFreeSlot
    - load
    - LossyAdd
    - Add
    - GetBit
    - store
    - SetBit
    - tcmalloc_internal::GuardedPageAllocator::GetNumAvailablePages
    - TC_ASSERT
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t GuardedPageAllocator::ReserveFreeSlot()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:445,1
    - Dst: FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:447,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:449,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 452
    functionName: tcmalloc_internal::GuardedPageAllocator::GetFreeSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - FindClear
    - FindClearBackwards
    - Next
    - TC_ASSERT_LT
    linkageType: ''
    returnType: size_t
    signature: size_t GuardedPageAllocator::GetFreeSlot()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:455,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:456,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:456,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:457,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:459,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 461
    functionName: tcmalloc_internal::GuardedPageAllocator::FreeSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 4
    functionsReached:
    - load
    - GetBit
    - store
    - TC_ASSERT
    - TC_ASSERT_LT
    - ClearBit
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::FreeSlot(size_t slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t GuardedPageAllocator::GetPageAddr(uintptr_t addr) const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 484
    functionName: tcmalloc_internal::GuardedPageAllocator::GetNearestValidPage
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t GuardedPageAllocator::GetNearestValidPage(uintptr_t addr)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GuardedPageAllocator::AddrToSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:487,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:487,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNearestValidPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 488
    functionName: tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::GuardedPageAllocator::AddrToSlot
    - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    - tcmalloc_internal::GuardedPageAllocator::GetNearestValidPage
    linkageType: ''
    returnType: size_t
    signature: size_t GuardedPageAllocator::GetNearestSlot(uintptr_t addr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GuardedPageAllocator::ShouldRightAlign
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:491,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:492,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:495,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:496,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 501
    functionName: tcmalloc_internal::GuardedPageAllocator::WriteOverflowOccurred
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::GuardedPageAllocator::SlotToAddr
    - tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
    - reinterpret_cast<uint8_t*>
    - std::min
    - tcmalloc_internal::GuardedPageAllocator::ShouldRightAlign
    linkageType: ''
    returnType: bool
    signature: bool GuardedPageAllocator::WriteOverflowOccurred(size_t slot) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dealloc_count::load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - addr
    - ' d'
    argTypes:
    - uintptr_t
    - SlotMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 520
    functionName: tcmalloc_internal::GuardedPageAllocator::GetErrorType
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - dealloc_count::load
    linkageType: ''
    returnType: GuardedAllocationsErrorType
    signature: "GuardedAllocationsErrorType GuardedPageAllocator::GetErrorType(\n
      \   uintptr_t addr, const SlotMetadata& d) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: tcmalloc_internal::GuardedPageAllocator::SlotToAddr
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 6
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t GuardedPageAllocator::SlotToAddr(size_t slot) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:529,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:530,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 534
    functionName: tcmalloc_internal::GuardedPageAllocator::AddrToSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 6
    functionsReached:
    - TC_ASSERT
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: size_t
    signature: size_t GuardedPageAllocator::AddrToSlot(uintptr_t addr) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GuardedPageAllocator::ShouldRightAlign
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:538,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:540,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:549,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:549,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:550,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:550,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:551,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:554,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:559,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:560,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:560,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:561,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - slot
    - size
    - alignment
    - ptr
    argTypes:
    - size_t
    - size_t
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 563
    functionName: tcmalloc_internal::GuardedPageAllocator::MaybeRightAlign
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - static_cast<size_t>
    - tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
    - memset
    - std::min
    - absl::bit_ceil
    - std::max
    - tcmalloc_internal::GuardedPageAllocator::ShouldRightAlign
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: "void GuardedPageAllocator::MaybeRightAlign(size_t slot, size_t size,\n
      \                                          size_t alignment, void** ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:40,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:43,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:45,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:47,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:48,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:59,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:59,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:67,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:67,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:74,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:74,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:77,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:100,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:101,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:102,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler_test.cc
    functionUses: 0
    functionsReached:
    - sigaltstack
    - sigaction
    - GTEST_SKIP
    - guardedpage_allocator
    - EXPECT_EQ
    - SegvHandler
    - syscall
    - static_cast<char*>
    - EXPECT_GT
    - EXPECT_LT
    - getpid
    - memset
    - printf
    - mmap
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(SegvHandlerTest, SignalHandlerStackConsumption)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:40,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:43,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:45,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:47,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:48,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:59,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:59,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:67,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:67,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:74,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:74,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:77,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:100,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:101,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:102,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler_test.cc
    functionUses: 0
    functionsReached:
    - sigaltstack
    - sigaction
    - GTEST_SKIP
    - guardedpage_allocator
    - EXPECT_EQ
    - SegvHandler
    - syscall
    - static_cast<char*>
    - EXPECT_GT
    - EXPECT_LT
    - getpid
    - memset
    - printf
    - mmap
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(SegvHandlerTest, SignalHandlerStackConsumption)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:40,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:43,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:45,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:47,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:48,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:59,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:59,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:67,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:67,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:74,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:74,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:77,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:100,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:101,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:102,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler_test.cc
    functionUses: 0
    functionsReached:
    - sigaltstack
    - sigaction
    - GTEST_SKIP
    - guardedpage_allocator
    - EXPECT_EQ
    - SegvHandler
    - syscall
    - static_cast<char*>
    - EXPECT_GT
    - EXPECT_LT
    - getpid
    - memset
    - printf
    - mmap
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(SegvHandlerTest, SignalHandlerStackConsumption)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:40,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:43,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:45,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:47,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:48,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:59,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:59,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:67,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:67,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:74,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:74,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:77,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:100,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:101,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:102,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler_test.cc
    functionUses: 0
    functionsReached:
    - sigaltstack
    - sigaction
    - GTEST_SKIP
    - guardedpage_allocator
    - EXPECT_EQ
    - SegvHandler
    - syscall
    - static_cast<char*>
    - EXPECT_GT
    - EXPECT_LT
    - getpid
    - memset
    - printf
    - mmap
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(SegvHandlerTest, SignalHandlerStackConsumption)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:40,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:43,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:45,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:47,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:48,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:59,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:59,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:67,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:67,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:74,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:74,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:77,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:100,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:101,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:102,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler_test.cc
    functionUses: 0
    functionsReached:
    - sigaltstack
    - sigaction
    - GTEST_SKIP
    - guardedpage_allocator
    - EXPECT_EQ
    - SegvHandler
    - syscall
    - static_cast<char*>
    - EXPECT_GT
    - EXPECT_LT
    - getpid
    - memset
    - printf
    - mmap
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(SegvHandlerTest, SignalHandlerStackConsumption)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:40,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:43,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:45,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:47,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:48,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:59,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:59,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:67,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:67,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:74,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:74,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:77,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:100,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:101,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:102,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler_test.cc
    functionUses: 0
    functionsReached:
    - sigaltstack
    - sigaction
    - GTEST_SKIP
    - guardedpage_allocator
    - EXPECT_EQ
    - SegvHandler
    - syscall
    - static_cast<char*>
    - EXPECT_GT
    - EXPECT_LT
    - getpid
    - memset
    - printf
    - mmap
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(SegvHandlerTest, SignalHandlerStackConsumption)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:40,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:43,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:45,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:47,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:48,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:59,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:59,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:67,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:67,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:74,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:74,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:77,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:100,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:101,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:102,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler_test.cc
    functionUses: 0
    functionsReached:
    - sigaltstack
    - sigaction
    - GTEST_SKIP
    - guardedpage_allocator
    - EXPECT_EQ
    - SegvHandler
    - syscall
    - static_cast<char*>
    - EXPECT_GT
    - EXPECT_LT
    - getpid
    - memset
    - printf
    - mmap
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(SegvHandlerTest, SignalHandlerStackConsumption)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:40,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:43,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:45,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:47,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:48,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:59,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:59,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:67,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:67,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:74,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:74,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:77,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:100,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:101,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:102,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler_test.cc
    functionUses: 0
    functionsReached:
    - sigaltstack
    - sigaction
    - GTEST_SKIP
    - guardedpage_allocator
    - EXPECT_EQ
    - SegvHandler
    - syscall
    - static_cast<char*>
    - EXPECT_GT
    - EXPECT_LT
    - getpid
    - memset
    - printf
    - mmap
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(SegvHandlerTest, SignalHandlerStackConsumption)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:38,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:43,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:43,1
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:44,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:45,1
    - Dst: ActivateCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:46,1
    - Dst: tcmalloc_internal::ThreadCache::BecomeIdle
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:48,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:50,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:50,1
    - Dst: ActivatePerCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 63
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.cc
    functionUses: 0
    functionsReached:
    - ActivatePerCpuCaches
    - cpu_cache
    - InitIfNecessary
    - tcmalloc_internal::ThreadCache::BecomeIdle
    - ::operator new
    - CpuCacheActive
    - ActivateCpuCache
    - tcmalloc_internal::subtle::percpu::IsFast
    - ::operator delete
    - tcmalloc_internal::Parameters::per_cpu_caches
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:38,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:43,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:43,1
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:44,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:45,1
    - Dst: ActivateCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:46,1
    - Dst: tcmalloc_internal::ThreadCache::BecomeIdle
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:48,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:50,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::ActivatePerCpuCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - InitIfNecessary
    - tcmalloc_internal::ThreadCache::BecomeIdle
    - ::operator new
    - CpuCacheActive
    - ActivateCpuCache
    - tcmalloc_internal::subtle::percpu::IsFast
    - ::operator delete
    - tcmalloc_internal::Parameters::per_cpu_caches
    linkageType: ''
    returnType: void
    signature: void ActivatePerCpuCaches()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActivatePerCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::PerCPUInitializer::PerCPUInitializer
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.cc
    functionUses: 0
    functionsReached:
    - ActivatePerCpuCaches
    linkageType: ''
    returnType: void
    signature: void PerCPUInitializer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:38,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:43,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:43,1
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:44,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:45,1
    - Dst: ActivateCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:46,1
    - Dst: tcmalloc_internal::ThreadCache::BecomeIdle
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:48,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:50,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::ActivatePerCpuCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - InitIfNecessary
    - tcmalloc_internal::ThreadCache::BecomeIdle
    - ::operator new
    - CpuCacheActive
    - ActivateCpuCache
    - tcmalloc_internal::subtle::percpu::IsFast
    - ::operator delete
    - tcmalloc_internal::Parameters::per_cpu_caches
    linkageType: ''
    returnType: void
    signature: void ActivatePerCpuCaches()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActivatePerCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::PerCPUInitializer::PerCPUInitializer
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.cc
    functionUses: 0
    functionsReached:
    - ActivatePerCpuCaches
    linkageType: ''
    returnType: void
    signature: void PerCPUInitializer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ActivatePerCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: TCMalloc_Internal_ForceCpuCacheActivation
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ActivatePerCpuCaches
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_ForceCpuCacheActivation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: MallocExtension_Internal_GetPerCpuCachesActive
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.cc
    functionUses: 2
    functionsReached:
    - CpuCacheActive
    linkageType: ''
    returnType: bool
    signature: bool MallocExtension_Internal_GetPerCpuCachesActive()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: MallocExtension_Internal_GetMaxPerCpuCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    linkageType: ''
    returnType: int32_t
    signature: int32_t MallocExtension_Internal_GetMaxPerCpuCacheSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: MallocExtension_Internal_SetMaxPerCpuCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
    linkageType: ''
    returnType: void
    signature: void MallocExtension_Internal_SetMaxPerCpuCacheSize(int32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:28,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:29,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:30,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:30,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:31,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: tcmalloc::tcmalloc_internal::RealCentralFreeListForTesting::AllocateBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - absl::Span<void*>::size
    - ASSERT_LE
    - absl::Span<void*>::subspan
    - RemoveRange
    linkageType: ''
    returnType: void
    signature: void RealCentralFreeListForTesting::AllocateBatch(absl::Span<void*>
      batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::RealCentralFreeListForTesting::FreeBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void RealCentralFreeListForTesting::FreeBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MinimalFakeCentralFreeList::AllocateBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::FreeBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    linkageType: ''
    returnType: void
    signature: void MinimalFakeCentralFreeList::FreeBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::FreeBatch
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::FreeBatch
    linkageType: ''
    returnType: void
    signature: void MinimalFakeCentralFreeList::InsertRange(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:56,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - absl::Span<void*>::size
    - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
    linkageType: ''
    returnType: int
    signature: int MinimalFakeCentralFreeList::RemoveRange(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:61,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeList::AllocateBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - absl::Span<void*>::size
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeList::AllocateBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeList::FreeBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeList::FreeBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeCentralFreeList::FreeBatch
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeList::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeCentralFreeList::FreeBatch
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeList::InsertRange(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeCentralFreeList::AllocateBatch
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:77,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeList::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeCentralFreeList::AllocateBatch
    - absl::Span<void*>::size
    linkageType: ''
    returnType: int
    signature: int FakeCentralFreeList::RemoveRange(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:28,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:29,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:30,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:30,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:31,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: tcmalloc::tcmalloc_internal::RealCentralFreeListForTesting::AllocateBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - absl::Span<void*>::size
    - ASSERT_LE
    - absl::Span<void*>::subspan
    - RemoveRange
    linkageType: ''
    returnType: void
    signature: void RealCentralFreeListForTesting::AllocateBatch(absl::Span<void*>
      batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::RealCentralFreeListForTesting::FreeBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void RealCentralFreeListForTesting::FreeBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MinimalFakeCentralFreeList::AllocateBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::FreeBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 1
    functionsReached:
    - TC_CHECK_NE
    linkageType: ''
    returnType: void
    signature: void MinimalFakeCentralFreeList::FreeBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::FreeBatch
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::FreeBatch
    linkageType: ''
    returnType: void
    signature: void MinimalFakeCentralFreeList::InsertRange(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:56,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - absl::Span<void*>::size
    - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
    linkageType: ''
    returnType: int
    signature: int MinimalFakeCentralFreeList::RemoveRange(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:61,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeList::AllocateBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 1
    functionsReached:
    - absl::Span<void*>::size
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeList::AllocateBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeList::FreeBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 1
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeList::FreeBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeCentralFreeList::FreeBatch
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeList::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeCentralFreeList::FreeBatch
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeList::InsertRange(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeCentralFreeList::AllocateBatch
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:77,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeList::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeCentralFreeList::AllocateBatch
    - absl::Span<void*>::size
    linkageType: ''
    returnType: int
    signature: int FakeCentralFreeList::RemoveRange(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:28,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:29,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:30,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:30,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:31,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: tcmalloc::tcmalloc_internal::RealCentralFreeListForTesting::AllocateBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - absl::Span<void*>::size
    - ASSERT_LE
    - absl::Span<void*>::subspan
    - RemoveRange
    linkageType: ''
    returnType: void
    signature: void RealCentralFreeListForTesting::AllocateBatch(absl::Span<void*>
      batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::RealCentralFreeListForTesting::FreeBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void RealCentralFreeListForTesting::FreeBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MinimalFakeCentralFreeList::AllocateBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::FreeBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 2
    functionsReached:
    - TC_CHECK_NE
    linkageType: ''
    returnType: void
    signature: void MinimalFakeCentralFreeList::FreeBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::FreeBatch
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::FreeBatch
    linkageType: ''
    returnType: void
    signature: void MinimalFakeCentralFreeList::InsertRange(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:56,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - absl::Span<void*>::size
    - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
    linkageType: ''
    returnType: int
    signature: int MinimalFakeCentralFreeList::RemoveRange(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:61,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeList::AllocateBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 2
    functionsReached:
    - absl::Span<void*>::size
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeList::AllocateBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeList::FreeBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 2
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeList::FreeBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeCentralFreeList::FreeBatch
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeList::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeCentralFreeList::FreeBatch
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeList::InsertRange(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeCentralFreeList::AllocateBatch
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:77,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeList::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeCentralFreeList::AllocateBatch
    - absl::Span<void*>::size
    linkageType: ''
    returnType: int
    signature: int FakeCentralFreeList::RemoveRange(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:28,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:29,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:30,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:30,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:31,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: tcmalloc::tcmalloc_internal::RealCentralFreeListForTesting::AllocateBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - absl::Span<void*>::size
    - ASSERT_LE
    - absl::Span<void*>::subspan
    - RemoveRange
    linkageType: ''
    returnType: void
    signature: void RealCentralFreeListForTesting::AllocateBatch(absl::Span<void*>
      batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::RealCentralFreeListForTesting::FreeBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void RealCentralFreeListForTesting::FreeBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MinimalFakeCentralFreeList::AllocateBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::FreeBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 3
    functionsReached:
    - TC_CHECK_NE
    linkageType: ''
    returnType: void
    signature: void MinimalFakeCentralFreeList::FreeBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::FreeBatch
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::FreeBatch
    linkageType: ''
    returnType: void
    signature: void MinimalFakeCentralFreeList::InsertRange(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:56,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - absl::Span<void*>::size
    - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
    linkageType: ''
    returnType: int
    signature: int MinimalFakeCentralFreeList::RemoveRange(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:61,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeList::AllocateBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 3
    functionsReached:
    - absl::Span<void*>::size
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeList::AllocateBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeList::FreeBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 3
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeList::FreeBatch(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeCentralFreeList::FreeBatch
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeList::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeCentralFreeList::FreeBatch
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeList::InsertRange(absl::Span<void*> batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FakeCentralFreeList::AllocateBatch
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:77,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeList::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeCentralFreeList::AllocateBatch
    - absl::Span<void*>::size
    linkageType: ''
    returnType: int
    signature: int FakeCentralFreeList::RemoveRange(absl::Span<void*> batch)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:40,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:43,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:45,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:46,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:49,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:51,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:52,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:56,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:62,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:62,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:66,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:68,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:70,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:80,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:80,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:87,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:100,1
    - Dst: ShrinkHardBy
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:101,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:107,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:109,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:111,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:117,1
    - Dst: ShrinkHardBy
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:118,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:120,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:125,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:126,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:139,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:147,1
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:157,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:162,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:169,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:177,1
    - Dst: active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:184,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:185,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:193,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:202,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 206
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - numa_topology
    - IsEnabled
    - in_bytes
    - TC_CHECK_LE
    - ColdFeatureActive
    - sampled_objects_size_::value
    - TC_ASSERT_EQ
    - HugePageAwareAllocator::HugePageAwareAllocator
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - active_numa_partitions
    - static_cast<HugePageAwareAllocator*>
    - LengthFromBytes
    - stats
    - tcmalloc_internal::max
    - ABSL_ARRAYSIZE
    - metadata_bytes
    - TC_BUG
    - ShrinkHardBy
    - ReleaseAtLeastNPages
    - TC_LOG
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:40,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:43,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:45,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:46,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:49,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:51,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:52,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:56,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:62,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 63
    functionName: tcmalloc_internal::PageAllocator::PageAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 0
    functionsReached:
    - ColdFeatureActive
    - numa_topology
    - IsEnabled
    - ABSL_ARRAYSIZE
    - TC_CHECK_LE
    - HugePageAwareAllocator::HugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void PageAllocator::PageAllocator()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:66,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:68,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:70,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:80,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:80,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:87,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:100,1
    - Dst: tcmalloc_internal::PageAllocator::ShrinkHardBy
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:101,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:107,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:109,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:111,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:117,1
    - Dst: tcmalloc_internal::PageAllocator::ShrinkHardBy
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:118,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:120,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:125,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:126,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 141
    functionName: tcmalloc_internal::PageAllocator::ShrinkToUsageLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 2
    functionsReached:
    - ABSL_PREDICT_FALSE
    - LengthFromBytes
    - tcmalloc_internal::PageAllocator::stats
    - TC_BUG
    - tcmalloc_internal::max
    - tcmalloc_internal::PageAllocator::ShrinkHardBy
    - TC_LOG
    - sampled_objects_size_::value
    - TC_ASSERT_EQ
    - metadata_bytes
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void PageAllocator::ShrinkToUsageLimit(Length n)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:147,1
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:157,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:162,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:169,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:177,1
    - Dst: tcmalloc_internal::PageAllocator::active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:184,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:185,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - pages
    - limit_kind
    argTypes:
    - Length
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 199
    functionName: tcmalloc_internal::PageAllocator::ShrinkHardBy
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - static_cast<HugePageAwareAllocator*>
    - tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
    - tcmalloc_internal::PageAllocator::active_numa_partitions
    - TC_LOG
    linkageType: ''
    returnType: bool
    signature: bool PageAllocator::ShrinkHardBy(Length pages, LimitKind limit_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: tcmalloc_internal::PageAllocator::active_numa_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 13
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: size_t
    signature: size_t PageAllocator::active_numa_partitions() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:40,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:43,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:45,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:46,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:49,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:51,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:52,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:56,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:62,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 63
    functionName: tcmalloc_internal::PageAllocator::PageAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 0
    functionsReached:
    - ColdFeatureActive
    - numa_topology
    - IsEnabled
    - ABSL_ARRAYSIZE
    - TC_CHECK_LE
    - HugePageAwareAllocator::HugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void PageAllocator::PageAllocator()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:66,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:68,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:70,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:80,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:80,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:87,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:100,1
    - Dst: tcmalloc_internal::PageAllocator::ShrinkHardBy
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:101,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:107,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:109,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:111,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:117,1
    - Dst: tcmalloc_internal::PageAllocator::ShrinkHardBy
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:118,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:120,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:125,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:126,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 141
    functionName: tcmalloc_internal::PageAllocator::ShrinkToUsageLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 2
    functionsReached:
    - ABSL_PREDICT_FALSE
    - LengthFromBytes
    - tcmalloc_internal::PageAllocator::stats
    - TC_BUG
    - tcmalloc_internal::max
    - tcmalloc_internal::PageAllocator::ShrinkHardBy
    - TC_LOG
    - sampled_objects_size_::value
    - TC_ASSERT_EQ
    - metadata_bytes
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void PageAllocator::ShrinkToUsageLimit(Length n)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:147,1
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:157,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:162,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:169,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:177,1
    - Dst: tcmalloc_internal::PageAllocator::active_numa_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:184,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:185,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - pages
    - limit_kind
    argTypes:
    - Length
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 199
    functionName: tcmalloc_internal::PageAllocator::ShrinkHardBy
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - static_cast<HugePageAwareAllocator*>
    - tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
    - tcmalloc_internal::PageAllocator::active_numa_partitions
    - TC_LOG
    linkageType: ''
    returnType: bool
    signature: bool PageAllocator::ShrinkHardBy(Length pages, LimitKind limit_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: tcmalloc_internal::PageAllocator::active_numa_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 14
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: size_t
    signature: size_t PageAllocator::active_numa_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:25,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:26,1
    - Dst: EXPECT_DEBUG_DEATH
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:29,1
    - Dst: EXPECT_DEBUG_DEATH
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:30,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/pages_test.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - EXPECT_DEBUG_DEATH
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST(LengthDeathTest, UnderflowChecks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:25,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:26,1
    - Dst: EXPECT_DEBUG_DEATH
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:29,1
    - Dst: EXPECT_DEBUG_DEATH
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:30,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/pages_test.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - EXPECT_DEBUG_DEATH
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST(LengthDeathTest, UnderflowChecks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:25,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:26,1
    - Dst: EXPECT_DEBUG_DEATH
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:29,1
    - Dst: EXPECT_DEBUG_DEATH
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:30,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/pages_test.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - EXPECT_DEBUG_DEATH
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST(LengthDeathTest, UnderflowChecks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:25,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:26,1
    - Dst: EXPECT_DEBUG_DEATH
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:29,1
    - Dst: EXPECT_DEBUG_DEATH
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:30,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/pages_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/pages_test.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - EXPECT_DEBUG_DEATH
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST(LengthDeathTest, UnderflowChecks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:41,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:43,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:44,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:45,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:49,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:54,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:54,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:57,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:57,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:60,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:60,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:64,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:69,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:75,1
    - Dst: perftools::profiles::Profile::period
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: perftools::profiles::Profile::period_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: perftools::profiles::Profile::period_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: perftools::profiles::Profile::drop_frames
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: perftools::profiles::Profile::duration_nanos
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    - Dst: perftools::profiles::Profile::default_sample_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc
    functionUses: 0
    functionsReached:
    - absl::StatusOr::ok
    - perftools::profiles::Profile::ParseFromCodedStream
    - perftools::profiles::Profile::period
    - perftools::profiles::Profile::drop_frames
    - absl::string_view::size
    - auto::SetType
    - Marshal
    - perftools::profiles::Profile::period_type
    - std::make_unique<FakeProfile>
    - perftools::profiles::Profile::default_sample_type
    - testing::HasSubstr
    - absl::Milliseconds
    - auto::SetDuration
    - absl::string_view::data
    - EXPECT_EQ
    - perftools::profiles::Profile::string_table
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - perftools::profiles::Profile::duration_nanos
    - std::move
    - absl::ToInt64Nanoseconds
    - std::vector::emplace_back
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileMarshalTest, Smoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:41,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:43,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:44,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:45,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:49,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:54,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:54,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:57,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:57,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:60,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:60,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:64,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:69,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:75,1
    - Dst: perftools::profiles::Profile::period
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: perftools::profiles::Profile::period_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: perftools::profiles::Profile::period_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: perftools::profiles::Profile::drop_frames
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: perftools::profiles::Profile::duration_nanos
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    - Dst: perftools::profiles::Profile::default_sample_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc
    functionUses: 0
    functionsReached:
    - absl::StatusOr::ok
    - perftools::profiles::Profile::ParseFromCodedStream
    - perftools::profiles::Profile::period
    - perftools::profiles::Profile::drop_frames
    - absl::string_view::size
    - auto::SetType
    - Marshal
    - perftools::profiles::Profile::period_type
    - std::make_unique<FakeProfile>
    - perftools::profiles::Profile::default_sample_type
    - testing::HasSubstr
    - absl::Milliseconds
    - auto::SetDuration
    - absl::string_view::data
    - EXPECT_EQ
    - perftools::profiles::Profile::string_table
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - perftools::profiles::Profile::duration_nanos
    - std::move
    - absl::ToInt64Nanoseconds
    - std::vector::emplace_back
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileMarshalTest, Smoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:41,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:43,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:44,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:45,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:49,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:54,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:54,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:57,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:57,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:60,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:60,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:64,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:69,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:75,1
    - Dst: perftools::profiles::Profile::period
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: perftools::profiles::Profile::period_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: perftools::profiles::Profile::period_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: perftools::profiles::Profile::drop_frames
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: perftools::profiles::Profile::duration_nanos
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    - Dst: perftools::profiles::Profile::default_sample_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc
    functionUses: 0
    functionsReached:
    - absl::StatusOr::ok
    - perftools::profiles::Profile::ParseFromCodedStream
    - perftools::profiles::Profile::period
    - perftools::profiles::Profile::drop_frames
    - absl::string_view::size
    - auto::SetType
    - Marshal
    - perftools::profiles::Profile::period_type
    - std::make_unique<FakeProfile>
    - perftools::profiles::Profile::default_sample_type
    - testing::HasSubstr
    - absl::Milliseconds
    - auto::SetDuration
    - absl::string_view::data
    - EXPECT_EQ
    - perftools::profiles::Profile::string_table
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - perftools::profiles::Profile::duration_nanos
    - std::move
    - absl::ToInt64Nanoseconds
    - std::vector::emplace_back
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileMarshalTest, Smoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:41,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:43,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:44,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:45,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:49,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:54,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:54,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:57,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:57,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:60,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:60,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:64,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:69,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:75,1
    - Dst: perftools::profiles::Profile::period
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: perftools::profiles::Profile::period_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: perftools::profiles::Profile::period_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: perftools::profiles::Profile::drop_frames
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: perftools::profiles::Profile::duration_nanos
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    - Dst: perftools::profiles::Profile::default_sample_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc
    functionUses: 0
    functionsReached:
    - absl::StatusOr::ok
    - perftools::profiles::Profile::ParseFromCodedStream
    - perftools::profiles::Profile::period
    - perftools::profiles::Profile::drop_frames
    - absl::string_view::size
    - auto::SetType
    - Marshal
    - perftools::profiles::Profile::period_type
    - std::make_unique<FakeProfile>
    - perftools::profiles::Profile::default_sample_type
    - testing::HasSubstr
    - absl::Milliseconds
    - auto::SetDuration
    - absl::string_view::data
    - EXPECT_EQ
    - perftools::profiles::Profile::string_table
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - perftools::profiles::Profile::duration_nanos
    - std::move
    - absl::ToInt64Nanoseconds
    - std::vector::emplace_back
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileMarshalTest, Smoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:41,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:43,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:44,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:45,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:49,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:54,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:54,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:57,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:57,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:60,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:60,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:64,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:69,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:75,1
    - Dst: perftools::profiles::Profile::period
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: perftools::profiles::Profile::period_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: perftools::profiles::Profile::period_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: perftools::profiles::Profile::drop_frames
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: perftools::profiles::Profile::duration_nanos
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    - Dst: perftools::profiles::Profile::default_sample_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc
    functionUses: 0
    functionsReached:
    - absl::StatusOr::ok
    - perftools::profiles::Profile::ParseFromCodedStream
    - perftools::profiles::Profile::period
    - perftools::profiles::Profile::drop_frames
    - absl::string_view::size
    - auto::SetType
    - Marshal
    - perftools::profiles::Profile::period_type
    - std::make_unique<FakeProfile>
    - perftools::profiles::Profile::default_sample_type
    - testing::HasSubstr
    - absl::Milliseconds
    - auto::SetDuration
    - absl::string_view::data
    - EXPECT_EQ
    - perftools::profiles::Profile::string_table
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - perftools::profiles::Profile::duration_nanos
    - std::move
    - absl::ToInt64Nanoseconds
    - std::vector::emplace_back
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileMarshalTest, Smoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:41,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:43,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:44,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:45,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:49,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:54,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:54,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:57,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:57,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:60,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:60,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:64,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:69,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:75,1
    - Dst: perftools::profiles::Profile::period
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: perftools::profiles::Profile::period_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: perftools::profiles::Profile::period_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: perftools::profiles::Profile::drop_frames
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: perftools::profiles::Profile::duration_nanos
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    - Dst: perftools::profiles::Profile::default_sample_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc
    functionUses: 0
    functionsReached:
    - absl::StatusOr::ok
    - perftools::profiles::Profile::ParseFromCodedStream
    - perftools::profiles::Profile::period
    - perftools::profiles::Profile::drop_frames
    - absl::string_view::size
    - auto::SetType
    - Marshal
    - perftools::profiles::Profile::period_type
    - std::make_unique<FakeProfile>
    - perftools::profiles::Profile::default_sample_type
    - testing::HasSubstr
    - absl::Milliseconds
    - auto::SetDuration
    - absl::string_view::data
    - EXPECT_EQ
    - perftools::profiles::Profile::string_table
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - perftools::profiles::Profile::duration_nanos
    - std::move
    - absl::ToInt64Nanoseconds
    - std::vector::emplace_back
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileMarshalTest, Smoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:41,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:43,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:44,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:45,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:49,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:54,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:54,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:57,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:57,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:60,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:60,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:64,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:69,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:75,1
    - Dst: perftools::profiles::Profile::period
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: perftools::profiles::Profile::period_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: perftools::profiles::Profile::period_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: perftools::profiles::Profile::drop_frames
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: perftools::profiles::Profile::duration_nanos
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    - Dst: perftools::profiles::Profile::default_sample_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc
    functionUses: 0
    functionsReached:
    - absl::StatusOr::ok
    - perftools::profiles::Profile::ParseFromCodedStream
    - perftools::profiles::Profile::period
    - perftools::profiles::Profile::drop_frames
    - absl::string_view::size
    - auto::SetType
    - Marshal
    - perftools::profiles::Profile::period_type
    - std::make_unique<FakeProfile>
    - perftools::profiles::Profile::default_sample_type
    - testing::HasSubstr
    - absl::Milliseconds
    - auto::SetDuration
    - absl::string_view::data
    - EXPECT_EQ
    - perftools::profiles::Profile::string_table
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - perftools::profiles::Profile::duration_nanos
    - std::move
    - absl::ToInt64Nanoseconds
    - std::vector::emplace_back
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileMarshalTest, Smoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:41,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:43,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:44,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:45,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:49,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:54,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:54,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:57,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:57,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:60,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:60,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:64,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:69,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:75,1
    - Dst: perftools::profiles::Profile::period
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: perftools::profiles::Profile::period_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: perftools::profiles::Profile::period_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: perftools::profiles::Profile::drop_frames
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:78,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: perftools::profiles::Profile::duration_nanos
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    - Dst: perftools::profiles::Profile::default_sample_type
      Src: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc
    functionUses: 0
    functionsReached:
    - absl::StatusOr::ok
    - perftools::profiles::Profile::ParseFromCodedStream
    - perftools::profiles::Profile::period
    - perftools::profiles::Profile::drop_frames
    - absl::string_view::size
    - auto::SetType
    - Marshal
    - perftools::profiles::Profile::period_type
    - std::make_unique<FakeProfile>
    - perftools::profiles::Profile::default_sample_type
    - testing::HasSubstr
    - absl::Milliseconds
    - auto::SetDuration
    - absl::string_view::data
    - EXPECT_EQ
    - perftools::profiles::Profile::string_table
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - perftools::profiles::Profile::duration_nanos
    - std::move
    - absl::ToInt64Nanoseconds
    - std::vector::emplace_back
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileMarshalTest, Smoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - align
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: tcmalloc::tcmalloc_internal::Align
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t Align(int align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - Arena::Alloc
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, AlignedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:53,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:56,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:56,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:57,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:61,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:65,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:70,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:70,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:71,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:74,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:85,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:85,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:86,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:90,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:92,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:96,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:98,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Arena::UpdateAllocatedAndNonresident
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, ReportUnmapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:109,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:111,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:114,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:116,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:117,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:118,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Arena::UpdateAllocatedAndNonresident
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, BytesImpending)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - align
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: tcmalloc::tcmalloc_internal::Align
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 4
    functionsReached:
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t Align(int align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - Arena::Alloc
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, AlignedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:53,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:56,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:56,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:57,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:61,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:65,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:70,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:70,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:71,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:74,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:85,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:85,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:86,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:90,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:92,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:96,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:98,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Arena::UpdateAllocatedAndNonresident
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, ReportUnmapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:109,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:111,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:114,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:116,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:117,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:118,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Arena::UpdateAllocatedAndNonresident
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, BytesImpending)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - align
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: tcmalloc::tcmalloc_internal::Align
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 8
    functionsReached:
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t Align(int align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - Arena::Alloc
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, AlignedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:53,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:56,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:56,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:57,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:61,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:65,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:70,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:70,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:71,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:74,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:85,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:85,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:86,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:90,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:92,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:96,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:98,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Arena::UpdateAllocatedAndNonresident
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, ReportUnmapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:109,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:111,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:114,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:116,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:117,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:118,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Arena::UpdateAllocatedAndNonresident
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, BytesImpending)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - align
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: tcmalloc::tcmalloc_internal::Align
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 12
    functionsReached:
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t Align(int align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - Arena::Alloc
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, AlignedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:53,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:56,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:56,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:57,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:61,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:65,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:70,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:70,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:71,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:74,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:85,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:85,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:86,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:90,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:92,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:96,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:98,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Arena::UpdateAllocatedAndNonresident
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, ReportUnmapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:109,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:111,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:114,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:116,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:117,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:118,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Arena::UpdateAllocatedAndNonresident
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, BytesImpending)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - align
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: tcmalloc::tcmalloc_internal::Align
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 16
    functionsReached:
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t Align(int align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - Arena::Alloc
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, AlignedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:53,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:56,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:56,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:57,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:61,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:65,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:70,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:70,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:71,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:74,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:85,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:85,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:86,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:90,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:92,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:96,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:98,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Arena::UpdateAllocatedAndNonresident
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, ReportUnmapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:109,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:111,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:114,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:116,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:117,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:118,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Arena::UpdateAllocatedAndNonresident
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, BytesImpending)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - align
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: tcmalloc::tcmalloc_internal::Align
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 20
    functionsReached:
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t Align(int align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - Arena::Alloc
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, AlignedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:53,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:56,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:56,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:57,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:61,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:65,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:70,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:70,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:71,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:74,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:85,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:85,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:86,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:90,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:92,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:96,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:98,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Arena::UpdateAllocatedAndNonresident
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, ReportUnmapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:109,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:111,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:114,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:116,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:117,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:118,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Arena::UpdateAllocatedAndNonresident
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, BytesImpending)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - align
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: tcmalloc::tcmalloc_internal::Align
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 24
    functionsReached:
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t Align(int align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - Arena::Alloc
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, AlignedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:53,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:56,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:56,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:57,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:61,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:65,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:70,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:70,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:71,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:74,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:85,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:85,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:86,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:90,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:92,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:96,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:98,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Arena::UpdateAllocatedAndNonresident
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, ReportUnmapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:109,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:111,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:114,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:116,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:117,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:118,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Arena::UpdateAllocatedAndNonresident
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, BytesImpending)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - align
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: tcmalloc::tcmalloc_internal::Align
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 28
    functionsReached:
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t Align(int align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - Arena::Alloc
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, AlignedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:53,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:56,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:56,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:57,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:61,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:65,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:70,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:70,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:71,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:74,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:85,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:85,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:86,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:90,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:92,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:96,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:98,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Arena::UpdateAllocatedAndNonresident
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, ReportUnmapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:109,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:111,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:114,1
    - Dst: Arena::UpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:116,1
    - Dst: Arena::Alloc
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::Align
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:117,1
    - Dst: Arena::stats
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:118,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/arena_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/arena_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Arena::UpdateAllocatedAndNonresident
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Align
    - Arena::stats
    - Arena::Alloc
    linkageType: ''
    returnType: void
    signature: void TEST(Arena, BytesImpending)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' back'
    - ' small'
    - ' large'
    - ' expected'
    argTypes:
    - BackingStats
    - SmallSpanStats
    - LargeSpanStats
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::PrintTest::ExpectStats
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrintStats
    linkageType: ''
    returnType: void
    signature: "void ExpectStats(const BackingStats& back, const SmallSpanStats& small,\n
      \                  const LargeSpanStats& large, const std::string& expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - system
    - free
    - unmapped
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: tcmalloc::tcmalloc_internal::PrintTest::Backing
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats Backing(size_t system, size_t free, size_t unmapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:58,1
    - Dst: Backing
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:58,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:59,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - Backing
    - ExpectStats
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrintTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:70,1
    - Dst: Backing
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:70,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:73,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - Backing
    - ExpectStats
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrintTest, ManySizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:89,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: PageAllocInfo::RecordFree
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:100,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:103,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:104,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:104,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:110,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: PageAllocInfo::small
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    - Dst: PageAllocInfo::slack
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - PageAllocInfo::RecordAlloc
    - Length
    - EXPECT_EQ
    - Range
    - PageAllocInfo::counts_for
    - PageAllocInfo::RecordFree
    - PageAllocInfo::small
    - PageAllocInfo::slack
    linkageType: ''
    returnType: void
    signature: void TEST(PageAllocInfo, Small)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:123,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:124,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:124,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:126,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:126,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:130,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:131,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:131,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:135,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:138,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:139,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:139,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:141,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: PageAllocInfo::small
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:148,1
    - Dst: PageAllocInfo::slack
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - PageAllocInfo::RecordAlloc
    - Length
    - EXPECT_EQ
    - Range
    - PageAllocInfo::counts_for
    - PageAllocInfo::small
    - PageAllocInfo::slack
    linkageType: ''
    returnType: void
    signature: void TEST(PageAllocInfo, Large)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:156,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:157,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:158,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:159,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:160,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:162,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:163,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:166,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:167,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_GE
    - EXPECT_LE
    - absl::Now
    - absl::base_internal::CycleClock::Now
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void TEST(ClockTest, ClockTicks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' back'
    - ' small'
    - ' large'
    - ' expected'
    argTypes:
    - BackingStats
    - SmallSpanStats
    - LargeSpanStats
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::PrintTest::ExpectStats
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrintStats
    linkageType: ''
    returnType: void
    signature: "void ExpectStats(const BackingStats& back, const SmallSpanStats& small,\n
      \                  const LargeSpanStats& large, const std::string& expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - system
    - free
    - unmapped
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: tcmalloc::tcmalloc_internal::PrintTest::Backing
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats Backing(size_t system, size_t free, size_t unmapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:58,1
    - Dst: Backing
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:58,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:59,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - Backing
    - ExpectStats
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrintTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:70,1
    - Dst: Backing
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:70,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:73,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - Backing
    - ExpectStats
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrintTest, ManySizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:89,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: PageAllocInfo::RecordFree
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:100,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:103,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:104,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:104,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:110,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: PageAllocInfo::small
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    - Dst: PageAllocInfo::slack
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - PageAllocInfo::RecordAlloc
    - Length
    - EXPECT_EQ
    - Range
    - PageAllocInfo::counts_for
    - PageAllocInfo::RecordFree
    - PageAllocInfo::small
    - PageAllocInfo::slack
    linkageType: ''
    returnType: void
    signature: void TEST(PageAllocInfo, Small)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:123,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:124,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:124,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:126,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:126,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:130,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:131,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:131,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:135,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:138,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:139,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:139,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:141,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: PageAllocInfo::small
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:148,1
    - Dst: PageAllocInfo::slack
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - PageAllocInfo::RecordAlloc
    - Length
    - EXPECT_EQ
    - Range
    - PageAllocInfo::counts_for
    - PageAllocInfo::small
    - PageAllocInfo::slack
    linkageType: ''
    returnType: void
    signature: void TEST(PageAllocInfo, Large)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:156,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:157,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:158,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:159,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:160,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:162,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:163,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:166,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:167,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_GE
    - EXPECT_LE
    - absl::Now
    - absl::base_internal::CycleClock::Now
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void TEST(ClockTest, ClockTicks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' back'
    - ' small'
    - ' large'
    - ' expected'
    argTypes:
    - BackingStats
    - SmallSpanStats
    - LargeSpanStats
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::PrintTest::ExpectStats
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrintStats
    linkageType: ''
    returnType: void
    signature: "void ExpectStats(const BackingStats& back, const SmallSpanStats& small,\n
      \                  const LargeSpanStats& large, const std::string& expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - system
    - free
    - unmapped
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: tcmalloc::tcmalloc_internal::PrintTest::Backing
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats Backing(size_t system, size_t free, size_t unmapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:58,1
    - Dst: Backing
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:58,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:59,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - Backing
    - ExpectStats
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrintTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:70,1
    - Dst: Backing
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:70,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:73,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - Backing
    - ExpectStats
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrintTest, ManySizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:89,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: PageAllocInfo::RecordFree
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:100,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:103,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:104,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:104,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:110,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: PageAllocInfo::small
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    - Dst: PageAllocInfo::slack
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - PageAllocInfo::RecordAlloc
    - Length
    - EXPECT_EQ
    - Range
    - PageAllocInfo::counts_for
    - PageAllocInfo::RecordFree
    - PageAllocInfo::small
    - PageAllocInfo::slack
    linkageType: ''
    returnType: void
    signature: void TEST(PageAllocInfo, Small)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:123,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:124,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:124,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:126,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:126,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:130,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:131,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:131,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:135,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:138,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:139,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:139,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:141,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: PageAllocInfo::small
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:148,1
    - Dst: PageAllocInfo::slack
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - PageAllocInfo::RecordAlloc
    - Length
    - EXPECT_EQ
    - Range
    - PageAllocInfo::counts_for
    - PageAllocInfo::small
    - PageAllocInfo::slack
    linkageType: ''
    returnType: void
    signature: void TEST(PageAllocInfo, Large)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:156,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:157,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:158,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:159,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:160,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:162,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:163,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:166,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:167,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_GE
    - EXPECT_LE
    - absl::Now
    - absl::base_internal::CycleClock::Now
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void TEST(ClockTest, ClockTicks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' back'
    - ' small'
    - ' large'
    - ' expected'
    argTypes:
    - BackingStats
    - SmallSpanStats
    - LargeSpanStats
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::PrintTest::ExpectStats
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrintStats
    linkageType: ''
    returnType: void
    signature: "void ExpectStats(const BackingStats& back, const SmallSpanStats& small,\n
      \                  const LargeSpanStats& large, const std::string& expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - system
    - free
    - unmapped
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: tcmalloc::tcmalloc_internal::PrintTest::Backing
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats Backing(size_t system, size_t free, size_t unmapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:58,1
    - Dst: Backing
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:58,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:59,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - Backing
    - ExpectStats
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrintTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:70,1
    - Dst: Backing
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:70,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:73,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - Backing
    - ExpectStats
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrintTest, ManySizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:89,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: PageAllocInfo::RecordFree
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:100,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:103,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:104,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:104,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:110,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: PageAllocInfo::small
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    - Dst: PageAllocInfo::slack
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - PageAllocInfo::RecordAlloc
    - Length
    - EXPECT_EQ
    - Range
    - PageAllocInfo::counts_for
    - PageAllocInfo::RecordFree
    - PageAllocInfo::small
    - PageAllocInfo::slack
    linkageType: ''
    returnType: void
    signature: void TEST(PageAllocInfo, Small)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:123,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:124,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:124,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:126,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:126,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:130,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:131,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:131,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:135,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:138,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:139,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:139,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:141,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: PageAllocInfo::small
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:148,1
    - Dst: PageAllocInfo::slack
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - PageAllocInfo::RecordAlloc
    - Length
    - EXPECT_EQ
    - Range
    - PageAllocInfo::counts_for
    - PageAllocInfo::small
    - PageAllocInfo::slack
    linkageType: ''
    returnType: void
    signature: void TEST(PageAllocInfo, Large)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:156,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:157,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:158,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:159,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:160,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:162,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:163,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:166,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:167,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_GE
    - EXPECT_LE
    - absl::Now
    - absl::base_internal::CycleClock::Now
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void TEST(ClockTest, ClockTicks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' back'
    - ' small'
    - ' large'
    - ' expected'
    argTypes:
    - BackingStats
    - SmallSpanStats
    - LargeSpanStats
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::PrintTest::ExpectStats
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrintStats
    linkageType: ''
    returnType: void
    signature: "void ExpectStats(const BackingStats& back, const SmallSpanStats& small,\n
      \                  const LargeSpanStats& large, const std::string& expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - system
    - free
    - unmapped
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: tcmalloc::tcmalloc_internal::PrintTest::Backing
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats Backing(size_t system, size_t free, size_t unmapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:58,1
    - Dst: Backing
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:58,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:59,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - Backing
    - ExpectStats
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrintTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:70,1
    - Dst: Backing
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:70,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:73,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - Backing
    - ExpectStats
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrintTest, ManySizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:89,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: PageAllocInfo::RecordFree
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:100,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:103,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:104,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:104,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:110,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: PageAllocInfo::small
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    - Dst: PageAllocInfo::slack
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - PageAllocInfo::RecordAlloc
    - Length
    - EXPECT_EQ
    - Range
    - PageAllocInfo::counts_for
    - PageAllocInfo::RecordFree
    - PageAllocInfo::small
    - PageAllocInfo::slack
    linkageType: ''
    returnType: void
    signature: void TEST(PageAllocInfo, Small)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:123,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:124,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:124,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:126,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:126,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:130,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:131,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:131,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:135,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:138,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:139,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:139,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:141,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: PageAllocInfo::small
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:148,1
    - Dst: PageAllocInfo::slack
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - PageAllocInfo::RecordAlloc
    - Length
    - EXPECT_EQ
    - Range
    - PageAllocInfo::counts_for
    - PageAllocInfo::small
    - PageAllocInfo::slack
    linkageType: ''
    returnType: void
    signature: void TEST(PageAllocInfo, Large)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:156,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:157,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:158,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:159,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:160,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:162,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:163,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:166,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:167,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_GE
    - EXPECT_LE
    - absl::Now
    - absl::base_internal::CycleClock::Now
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void TEST(ClockTest, ClockTicks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' back'
    - ' small'
    - ' large'
    - ' expected'
    argTypes:
    - BackingStats
    - SmallSpanStats
    - LargeSpanStats
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::PrintTest::ExpectStats
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrintStats
    linkageType: ''
    returnType: void
    signature: "void ExpectStats(const BackingStats& back, const SmallSpanStats& small,\n
      \                  const LargeSpanStats& large, const std::string& expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - system
    - free
    - unmapped
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: tcmalloc::tcmalloc_internal::PrintTest::Backing
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats Backing(size_t system, size_t free, size_t unmapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:58,1
    - Dst: Backing
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:58,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:59,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - Backing
    - ExpectStats
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrintTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:70,1
    - Dst: Backing
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:70,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:73,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - Backing
    - ExpectStats
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrintTest, ManySizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:89,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: PageAllocInfo::RecordFree
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:100,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:103,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:104,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:104,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:110,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: PageAllocInfo::small
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    - Dst: PageAllocInfo::slack
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - PageAllocInfo::RecordAlloc
    - Length
    - EXPECT_EQ
    - Range
    - PageAllocInfo::counts_for
    - PageAllocInfo::RecordFree
    - PageAllocInfo::small
    - PageAllocInfo::slack
    linkageType: ''
    returnType: void
    signature: void TEST(PageAllocInfo, Small)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:123,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:124,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:124,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:126,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:126,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:130,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:131,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:131,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:135,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:138,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:139,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:139,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:141,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: PageAllocInfo::small
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:148,1
    - Dst: PageAllocInfo::slack
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - PageAllocInfo::RecordAlloc
    - Length
    - EXPECT_EQ
    - Range
    - PageAllocInfo::counts_for
    - PageAllocInfo::small
    - PageAllocInfo::slack
    linkageType: ''
    returnType: void
    signature: void TEST(PageAllocInfo, Large)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:156,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:157,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:158,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:159,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:160,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:162,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:163,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:166,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:167,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_GE
    - EXPECT_LE
    - absl::Now
    - absl::base_internal::CycleClock::Now
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void TEST(ClockTest, ClockTicks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' back'
    - ' small'
    - ' large'
    - ' expected'
    argTypes:
    - BackingStats
    - SmallSpanStats
    - LargeSpanStats
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::PrintTest::ExpectStats
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrintStats
    linkageType: ''
    returnType: void
    signature: "void ExpectStats(const BackingStats& back, const SmallSpanStats& small,\n
      \                  const LargeSpanStats& large, const std::string& expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - system
    - free
    - unmapped
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: tcmalloc::tcmalloc_internal::PrintTest::Backing
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats Backing(size_t system, size_t free, size_t unmapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:58,1
    - Dst: Backing
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:58,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:59,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - Backing
    - ExpectStats
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrintTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:70,1
    - Dst: Backing
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:70,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:73,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - Backing
    - ExpectStats
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrintTest, ManySizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:89,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: PageAllocInfo::RecordFree
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:100,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:103,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:104,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:104,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:110,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: PageAllocInfo::small
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    - Dst: PageAllocInfo::slack
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - PageAllocInfo::RecordAlloc
    - Length
    - EXPECT_EQ
    - Range
    - PageAllocInfo::counts_for
    - PageAllocInfo::RecordFree
    - PageAllocInfo::small
    - PageAllocInfo::slack
    linkageType: ''
    returnType: void
    signature: void TEST(PageAllocInfo, Small)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:123,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:124,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:124,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:126,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:126,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:130,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:131,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:131,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:135,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:138,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:139,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:139,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:141,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: PageAllocInfo::small
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:148,1
    - Dst: PageAllocInfo::slack
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - PageAllocInfo::RecordAlloc
    - Length
    - EXPECT_EQ
    - Range
    - PageAllocInfo::counts_for
    - PageAllocInfo::small
    - PageAllocInfo::slack
    linkageType: ''
    returnType: void
    signature: void TEST(PageAllocInfo, Large)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:156,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:157,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:158,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:159,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:160,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:162,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:163,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:166,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:167,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_GE
    - EXPECT_LE
    - absl::Now
    - absl::base_internal::CycleClock::Now
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void TEST(ClockTest, ClockTicks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' back'
    - ' small'
    - ' large'
    - ' expected'
    argTypes:
    - BackingStats
    - SmallSpanStats
    - LargeSpanStats
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::PrintTest::ExpectStats
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrintStats
    linkageType: ''
    returnType: void
    signature: "void ExpectStats(const BackingStats& back, const SmallSpanStats& small,\n
      \                  const LargeSpanStats& large, const std::string& expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - system
    - free
    - unmapped
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: tcmalloc::tcmalloc_internal::PrintTest::Backing
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats Backing(size_t system, size_t free, size_t unmapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:58,1
    - Dst: Backing
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:58,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:59,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - Backing
    - ExpectStats
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrintTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectStats
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:70,1
    - Dst: Backing
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:70,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:73,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - Backing
    - ExpectStats
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrintTest, ManySizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:89,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:91,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:92,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:93,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:95,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:96,1
    - Dst: PageAllocInfo::RecordFree
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:98,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:100,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:103,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:104,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:104,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:110,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: PageAllocInfo::small
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    - Dst: PageAllocInfo::slack
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - PageAllocInfo::RecordAlloc
    - Length
    - EXPECT_EQ
    - Range
    - PageAllocInfo::counts_for
    - PageAllocInfo::RecordFree
    - PageAllocInfo::small
    - PageAllocInfo::slack
    linkageType: ''
    returnType: void
    signature: void TEST(PageAllocInfo, Small)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:123,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:124,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:124,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:126,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:126,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:130,1
    - Dst: PageAllocInfo::RecordAlloc
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:131,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:131,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:135,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:138,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:139,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:139,1
    - Dst: PageAllocInfo::counts_for
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:141,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:144,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: PageAllocInfo::small
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:148,1
    - Dst: PageAllocInfo::slack
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - PageAllocInfo::RecordAlloc
    - Length
    - EXPECT_EQ
    - Range
    - PageAllocInfo::counts_for
    - PageAllocInfo::small
    - PageAllocInfo::slack
    linkageType: ''
    returnType: void
    signature: void TEST(PageAllocInfo, Large)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:156,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:157,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:158,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:159,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:160,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:162,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:163,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:166,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:167,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/stats_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_GE
    - EXPECT_LE
    - absl::Now
    - absl::base_internal::CycleClock::Now
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void TEST(ClockTest, ClockTicks)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:41,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:42,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:46,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:46,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:47,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:48,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:49,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:61,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:62,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:66,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:66,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:67,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:73,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:74,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:75,1
    - Dst: SetBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:77,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:83,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:84,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:85,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:86,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:91,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:99,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:100,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:107,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:110,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:110,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:112,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 126
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - empty
    - func
    - TC_ASSERT_NE
    - first
    - remove
    - prepend
    - FindSet
    - SetBit
    - length
    - TC_ASSERT
    - TC_ASSERT_LT
    - ClearBit
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: tcmalloc_internal::HintedTrackerLists::HintedTrackerLists
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HintedTrackerLists()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:41,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:42,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:46,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:46,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:47,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:48,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::HintedTrackerLists::GetLeast
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - empty
    - first
    - remove
    - FindSet
    - TC_ASSERT
    - TC_ASSERT_LT
    - ClearBit
    linkageType: ''
    returnType: TrackerType
    signature: TrackerType * GetLeast(const size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:61,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:62,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:66,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:66,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: tcmalloc_internal::HintedTrackerLists::PeekLeast
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - empty
    - first
    - FindSet
    - TC_ASSERT
    - TC_ASSERT_LT
    linkageType: ''
    returnType: TrackerType
    signature: TrackerType * PeekLeast(const size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:73,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:74,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:75,1
    - Dst: SetBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pt
    - i
    argTypes:
    - TrackerType*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::HintedTrackerLists::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - prepend
    - SetBit
    - TC_ASSERT_LT
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void Add(TrackerType* pt, const size_t i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:83,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:84,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:85,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pt
    - i
    argTypes:
    - TrackerType*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: tcmalloc_internal::HintedTrackerLists::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - remove
    - TC_ASSERT_LT
    - ClearBit
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void Remove(TrackerType* pt, const size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '& operator[](const size_t n) const'
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: TrackerList
    signature: TrackerList & operator[](const size_t n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: tcmalloc_internal::HintedTrackerLists::size
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:99,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::HintedTrackerLists::SizeOfList
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - length
    - TC_ASSERT_LT
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfList(const size_t n) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:107,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:110,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:110,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:112,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' func'
    - start
    argTypes:
    - Functor
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::HintedTrackerLists::Iter
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - func
    - TC_ASSERT
    - empty
    - FindSet
    linkageType: ''
    returnType: void
    signature: void Iter(const Functor& func, size_t start) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: tcmalloc_internal::HintedTrackerLists::HintedTrackerLists
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HintedTrackerLists()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:41,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:42,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:46,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:46,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:47,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:48,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::HintedTrackerLists::GetLeast
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - empty
    - first
    - remove
    - FindSet
    - TC_ASSERT
    - TC_ASSERT_LT
    - ClearBit
    linkageType: ''
    returnType: TrackerType
    signature: TrackerType * GetLeast(const size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:61,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:62,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:66,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:66,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: tcmalloc_internal::HintedTrackerLists::PeekLeast
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - empty
    - first
    - FindSet
    - TC_ASSERT
    - TC_ASSERT_LT
    linkageType: ''
    returnType: TrackerType
    signature: TrackerType * PeekLeast(const size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:73,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:74,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:75,1
    - Dst: SetBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pt
    - i
    argTypes:
    - TrackerType*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::HintedTrackerLists::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - prepend
    - SetBit
    - TC_ASSERT_LT
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void Add(TrackerType* pt, const size_t i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:83,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:84,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:85,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pt
    - i
    argTypes:
    - TrackerType*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: tcmalloc_internal::HintedTrackerLists::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - remove
    - TC_ASSERT_LT
    - ClearBit
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void Remove(TrackerType* pt, const size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '& operator[](const size_t n) const'
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: TrackerList
    signature: TrackerList & operator[](const size_t n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: tcmalloc_internal::HintedTrackerLists::size
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:99,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::HintedTrackerLists::SizeOfList
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - length
    - TC_ASSERT_LT
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfList(const size_t n) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:107,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:110,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:110,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:112,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' func'
    - start
    argTypes:
    - Functor
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::HintedTrackerLists::Iter
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - func
    - TC_ASSERT
    - empty
    - FindSet
    linkageType: ''
    returnType: void
    signature: void Iter(const Functor& func, size_t start) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/mock_metadata_allocator.h:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: ~FakeMetadataAllocator() override
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_metadata_allocator.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ~FakeMetadataAllocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/mock_metadata_allocator.h:35,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_metadata_allocator.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: '* operator()(size_t size) override'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_metadata_allocator.h
    functionUses: 0
    functionsReached:
    - malloc
    - push_back
    linkageType: ''
    returnType: void
    signature: void * operator()(size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/mock_metadata_allocator.h:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: ~FakeMetadataAllocator() override
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_metadata_allocator.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ~FakeMetadataAllocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/mock_metadata_allocator.h:35,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_metadata_allocator.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: '* operator()(size_t size) override'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_metadata_allocator.h
    functionUses: 0
    functionsReached:
    - malloc
    - push_back
    linkageType: ''
    returnType: void
    signature: void * operator()(size_t size) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:29,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:30,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:39,1
    - Dst: std::map::find
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:40,1
    - Dst: std::map::end
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:40,1
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' property'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: tcmalloc::FuzzGetProperty
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc
    functionUses: 0
    functionsReached:
    - __builtin_trap
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::optional::has_value
    - std::map::end
    - tcmalloc::MallocExtension::GetProperties
    - std::map::find
    linkageType: ''
    returnType: void
    signature: void FuzzGetProperty(const std::string& property)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:29,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:30,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:39,1
    - Dst: std::map::find
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:40,1
    - Dst: std::map::end
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:40,1
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' property'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: tcmalloc::FuzzGetProperty
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc
    functionUses: 0
    functionsReached:
    - __builtin_trap
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::optional::has_value
    - std::map::end
    - tcmalloc::MallocExtension::GetProperties
    - std::map::find
    linkageType: ''
    returnType: void
    signature: void FuzzGetProperty(const std::string& property)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:29,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:30,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:39,1
    - Dst: std::map::find
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:40,1
    - Dst: std::map::end
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:40,1
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' property'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: tcmalloc::FuzzGetProperty
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc
    functionUses: 0
    functionsReached:
    - __builtin_trap
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::optional::has_value
    - std::map::end
    - tcmalloc::MallocExtension::GetProperties
    - std::map::find
    linkageType: ''
    returnType: void
    signature: void FuzzGetProperty(const std::string& property)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:29,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:30,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:39,1
    - Dst: std::map::find
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:40,1
    - Dst: std::map::end
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:40,1
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' property'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: tcmalloc::FuzzGetProperty
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc
    functionUses: 0
    functionsReached:
    - __builtin_trap
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::optional::has_value
    - std::map::end
    - tcmalloc::MallocExtension::GetProperties
    - std::map::find
    linkageType: ''
    returnType: void
    signature: void FuzzGetProperty(const std::string& property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sample.h:65,1
    - Dst: AllocationSample*::mallocs_::AddTrace
      Src: /src/tcmalloc/tcmalloc/allocation_sample.h:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 89
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sample.h
    functionUses: 0
    functionsReached:
    - AllocationSample*::mallocs_::AddTrace
    - TC_CHECK_NE
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: AllocationSampleList::AllocationSampleList
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sample.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocationSampleList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - as
    argTypes:
    - AllocationSample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: AllocationSampleList::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sample.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Add(AllocationSample* as)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sample.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - as
    argTypes:
    - AllocationSample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: AllocationSampleList::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sample.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    linkageType: ''
    returnType: void
    signature: void Remove(AllocationSample* as)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocationSample*::mallocs_::AddTrace
      Src: /src/tcmalloc/tcmalloc/allocation_sample.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' sample'
    argTypes:
    - struct StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: AllocationSampleList::ReportMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sample.h
    functionUses: 4
    functionsReached:
    - AllocationSample*::mallocs_::AddTrace
    linkageType: ''
    returnType: void
    signature: void ReportMalloc(const struct StackTrace& sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 59
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/size_class_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:45,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:49,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:49,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:52,1
    - Dst: Create
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:64,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:65,1
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:66,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:67,1
    - Dst: ExtraRegion::ExtraRegion
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:68,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 80
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test_util.h
    functionUses: 0
    functionsReached:
    - MallocInternal
    - GetStats
    - Alloc
    - ExtraRegion::ExtraRegion
    - static_cast<char*>
    - std::tie
    - TC_CHECK
    - Create
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - under
    argTypes:
    - AddressRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc_internal::ExtraRegion::ExtraRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtraRegion(AddressRegion* under)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtraRegion::Alloc
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:45,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:49,1
    - Dst: tcmalloc_internal::ExtraRegion::Alloc
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:49,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::ExtraRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test_util.h
    functionUses: 1
    functionsReached:
    - std::tie
    - tcmalloc_internal::ExtraRegion::Alloc
    - static_cast<char*>
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - under
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: tcmalloc_internal::ExtraRegionFactory::ExtraRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtraRegionFactory(AddressRegionFactory* under)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtraRegionFactory::Create
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:64,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:65,1
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:66,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:67,1
    - Dst: ExtraRegion::ExtraRegion
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::ExtraRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test_util.h
    functionUses: 1
    functionsReached:
    - MallocInternal
    - tcmalloc_internal::ExtraRegionFactory::Create
    - ExtraRegion::ExtraRegion
    - TC_CHECK
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtraRegionFactory::GetStats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::ExtraRegionFactory::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test_util.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::ExtraRegionFactory::GetStats
    linkageType: ''
    returnType: size_t
    signature: size_t GetStats(absl::Span<char> buffer) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - under
    argTypes:
    - AddressRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc_internal::ExtraRegion::ExtraRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtraRegion(AddressRegion* under)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtraRegion::Alloc
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:45,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:49,1
    - Dst: tcmalloc_internal::ExtraRegion::Alloc
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:49,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::ExtraRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test_util.h
    functionUses: 2
    functionsReached:
    - std::tie
    - tcmalloc_internal::ExtraRegion::Alloc
    - static_cast<char*>
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - under
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: tcmalloc_internal::ExtraRegionFactory::ExtraRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtraRegionFactory(AddressRegionFactory* under)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtraRegionFactory::Create
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:64,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:65,1
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:66,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:67,1
    - Dst: ExtraRegion::ExtraRegion
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::ExtraRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test_util.h
    functionUses: 2
    functionsReached:
    - MallocInternal
    - tcmalloc_internal::ExtraRegionFactory::Create
    - ExtraRegion::ExtraRegion
    - TC_CHECK
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtraRegionFactory::GetStats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test_util.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::ExtraRegionFactory::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test_util.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::ExtraRegionFactory::GetStats
    linkageType: ''
    returnType: size_t
    signature: size_t GetStats(absl::Span<char> buffer) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::UseBitmapForSize
    linkageType: ''
    returnType: bool
    signature: bool UseBitmapForSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::CalcReciprocal
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CalcReciprocal(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::OffsetToIdx
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - reciprocal
    argTypes:
    - uintptr_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::OffsetToIdx
    linkageType: ''
    returnType: Span::ObjIdx
    signature: Span::ObjIdx TestOffsetToIdx(uintptr_t offset, uint32_t reciprocal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: tcmalloc::tcmalloc_internal::Alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Alignment(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:85,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - class_to_pages
    - class_to_size
    - EXPECT_GE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, SpanPages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:100,1
    - Dst: tcmalloc_internal::Span::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:101,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::IsValidSizeClass
    - EXPECT_TRUE
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidatePagesAndBitmapCapacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:112,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:114,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:117,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - class_to_pages
    - Length
    - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    - ASSERT_EQ
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateCorrectScalingByReciprocal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::Alignment
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Alignment
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Aligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:153,1
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:157,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - EXPECT_EQ
    - SizeClass
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Distinguishable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:168,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:174,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:180,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::Alignment
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:185,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - size_class_configuration
    - tcmalloc::tcmalloc_internal::Alignment
    - class_to_pages
    - GTEST_SKIP
    - EXPECT_LT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, WastedSpan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:197,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:197,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:198,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:199,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:202,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:202,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:206,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:207,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - CppPolicy
    - SizeClass
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, DoubleCheckedConsistency)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:216,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:220,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - EXPECT_GT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, NumToMove)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:228,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:228,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:229,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:240,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - class_to_pages
    - Length
    - EXPECT_EQ
    - class_to_size
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, DenseSpansAreOnePage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:253,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, MaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:267,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsExpandedSizeClass
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ExpandedSizeClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:279,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:279,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:282,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeIncreases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:291,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:291,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:295,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:298,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:307,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:307,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:310,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:315,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:315,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:318,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizesAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:327,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:327,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:330,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateBatchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:339,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:339,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:342,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidatePageSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:353,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:355,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:356,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:357,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:361,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:366,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:369,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:371,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:371,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:372,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:374,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 381
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_EQ
    - SizeMap::class_to_size
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - CppPolicy
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:391,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:392,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:394,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:396,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:401,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:406,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:409,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:410,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:413,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:417,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 425
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_EQ
    - absl::Uniform
    - SizeMap::GetSizeClass
    - SizeMap::class_to_size
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - ASSERT_EQ
    - CppPolicy
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClassWithAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:435,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:436,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:437,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:438,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:444,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:448,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:448,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:450,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 454
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform<size_t>
    - EXPECT_EQ
    - SizeMap::class_to_size
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - SizeMap::SizeClass
    - CppPolicy
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, SizeClass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:459,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:463,1
    - Dst: SizeMap::class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:463,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:465,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 470
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - SizeMap::class_to_size
    - EXPECT_TRUE
    - SizeMap::class_to_pages
    - SizeMap::Init
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ValidateConditionsForSeparateAllocsInHugePageFiller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:476,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:477,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:478,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 480
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - num_objects_to_move
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, Preinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:483,1
    - Dst: tcmalloc_internal::SizeMap::CheckAssumptions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::CheckAssumptions
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, CheckAssumptions)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: tcmalloc::tcmalloc_internal::Alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Alignment(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:85,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - class_to_pages
    - class_to_size
    - EXPECT_GE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, SpanPages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:100,1
    - Dst: tcmalloc_internal::Span::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:101,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::IsValidSizeClass
    - EXPECT_TRUE
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidatePagesAndBitmapCapacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:112,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:114,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:117,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - class_to_pages
    - Length
    - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    - ASSERT_EQ
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateCorrectScalingByReciprocal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::Alignment
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Alignment
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Aligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:153,1
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:157,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - EXPECT_EQ
    - SizeClass
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Distinguishable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:168,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:174,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:180,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::Alignment
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:185,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - size_class_configuration
    - tcmalloc::tcmalloc_internal::Alignment
    - class_to_pages
    - GTEST_SKIP
    - EXPECT_LT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, WastedSpan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:197,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:197,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:198,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:199,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:202,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:202,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:206,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:207,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - CppPolicy
    - SizeClass
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, DoubleCheckedConsistency)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:216,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:220,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - EXPECT_GT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, NumToMove)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:228,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:228,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:229,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:240,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - class_to_pages
    - Length
    - EXPECT_EQ
    - class_to_size
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, DenseSpansAreOnePage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:253,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, MaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:267,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsExpandedSizeClass
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ExpandedSizeClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:279,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:279,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:282,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeIncreases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:291,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:291,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:295,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:298,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:307,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:307,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:310,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:315,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:315,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:318,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizesAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:327,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:327,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:330,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateBatchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:339,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:339,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:342,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidatePageSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:353,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:355,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:356,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:357,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:361,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:366,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:369,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:371,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:371,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:372,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:374,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 381
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_EQ
    - SizeMap::class_to_size
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - CppPolicy
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:391,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:392,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:394,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:396,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:401,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:406,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:409,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:410,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:413,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:417,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 425
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_EQ
    - absl::Uniform
    - SizeMap::GetSizeClass
    - SizeMap::class_to_size
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - ASSERT_EQ
    - CppPolicy
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClassWithAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:435,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:436,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:437,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:438,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:444,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:448,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:448,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:450,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 454
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform<size_t>
    - EXPECT_EQ
    - SizeMap::class_to_size
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - SizeMap::SizeClass
    - CppPolicy
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, SizeClass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:459,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:463,1
    - Dst: SizeMap::class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:463,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:465,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 470
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - SizeMap::class_to_size
    - EXPECT_TRUE
    - SizeMap::class_to_pages
    - SizeMap::Init
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ValidateConditionsForSeparateAllocsInHugePageFiller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:476,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:477,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:478,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 480
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - num_objects_to_move
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, Preinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:483,1
    - Dst: tcmalloc_internal::SizeMap::CheckAssumptions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::CheckAssumptions
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, CheckAssumptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Span::UseBitmapForSize
    linkageType: ''
    returnType: bool
    signature: bool UseBitmapForSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Span::CalcReciprocal
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CalcReciprocal(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::OffsetToIdx
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - reciprocal
    argTypes:
    - uintptr_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Span::OffsetToIdx
    linkageType: ''
    returnType: Span::ObjIdx
    signature: Span::ObjIdx TestOffsetToIdx(uintptr_t offset, uint32_t reciprocal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: tcmalloc::tcmalloc_internal::Alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 4
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Alignment(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:85,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - class_to_pages
    - class_to_size
    - EXPECT_GE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, SpanPages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:100,1
    - Dst: tcmalloc_internal::Span::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:101,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::IsValidSizeClass
    - EXPECT_TRUE
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidatePagesAndBitmapCapacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:112,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:114,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:117,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - class_to_pages
    - Length
    - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    - ASSERT_EQ
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateCorrectScalingByReciprocal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::Alignment
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Alignment
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Aligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:153,1
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:157,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - EXPECT_EQ
    - SizeClass
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Distinguishable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:168,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:174,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:180,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::Alignment
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:185,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - size_class_configuration
    - tcmalloc::tcmalloc_internal::Alignment
    - class_to_pages
    - GTEST_SKIP
    - EXPECT_LT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, WastedSpan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:197,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:197,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:198,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:199,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:202,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:202,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:206,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:207,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - CppPolicy
    - SizeClass
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, DoubleCheckedConsistency)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:216,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:220,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - EXPECT_GT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, NumToMove)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:228,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:228,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:229,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:240,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - class_to_pages
    - Length
    - EXPECT_EQ
    - class_to_size
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, DenseSpansAreOnePage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:253,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, MaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:267,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsExpandedSizeClass
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ExpandedSizeClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:279,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:279,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:282,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeIncreases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:291,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:291,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:295,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:298,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:307,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:307,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:310,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:315,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:315,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:318,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizesAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:327,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:327,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:330,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateBatchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:339,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:339,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:342,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidatePageSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:353,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:355,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:356,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:357,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:361,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:366,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:369,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:371,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:371,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:372,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:374,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 381
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_EQ
    - SizeMap::class_to_size
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - CppPolicy
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:391,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:392,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:394,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:396,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:401,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:406,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:409,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:410,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:413,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:417,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 425
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_EQ
    - absl::Uniform
    - SizeMap::GetSizeClass
    - SizeMap::class_to_size
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - ASSERT_EQ
    - CppPolicy
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClassWithAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:435,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:436,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:437,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:438,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:444,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:448,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:448,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:450,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 454
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform<size_t>
    - EXPECT_EQ
    - SizeMap::class_to_size
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - SizeMap::SizeClass
    - CppPolicy
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, SizeClass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:459,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:463,1
    - Dst: SizeMap::class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:463,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:465,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 470
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - SizeMap::class_to_size
    - EXPECT_TRUE
    - SizeMap::class_to_pages
    - SizeMap::Init
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ValidateConditionsForSeparateAllocsInHugePageFiller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:476,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:477,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:478,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 480
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - num_objects_to_move
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, Preinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:483,1
    - Dst: tcmalloc_internal::SizeMap::CheckAssumptions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::CheckAssumptions
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, CheckAssumptions)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: tcmalloc::tcmalloc_internal::Alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 6
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Alignment(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:85,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - class_to_pages
    - class_to_size
    - EXPECT_GE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, SpanPages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:100,1
    - Dst: tcmalloc_internal::Span::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:101,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::IsValidSizeClass
    - EXPECT_TRUE
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidatePagesAndBitmapCapacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:112,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:114,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:117,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - class_to_pages
    - Length
    - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    - ASSERT_EQ
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateCorrectScalingByReciprocal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::Alignment
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Alignment
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Aligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:153,1
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:157,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - EXPECT_EQ
    - SizeClass
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Distinguishable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:168,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:174,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:180,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::Alignment
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:185,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - size_class_configuration
    - tcmalloc::tcmalloc_internal::Alignment
    - class_to_pages
    - GTEST_SKIP
    - EXPECT_LT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, WastedSpan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:197,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:197,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:198,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:199,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:202,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:202,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:206,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:207,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - CppPolicy
    - SizeClass
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, DoubleCheckedConsistency)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:216,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:220,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - EXPECT_GT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, NumToMove)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:228,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:228,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:229,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:240,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - class_to_pages
    - Length
    - EXPECT_EQ
    - class_to_size
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, DenseSpansAreOnePage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:253,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, MaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:267,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsExpandedSizeClass
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ExpandedSizeClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:279,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:279,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:282,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeIncreases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:291,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:291,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:295,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:298,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:307,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:307,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:310,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:315,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:315,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:318,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizesAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:327,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:327,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:330,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateBatchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:339,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:339,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:342,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidatePageSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:353,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:355,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:356,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:357,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:361,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:366,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:369,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:371,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:371,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:372,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:374,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 381
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_EQ
    - SizeMap::class_to_size
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - CppPolicy
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:391,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:392,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:394,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:396,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:401,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:406,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:409,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:410,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:413,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:417,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 425
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_EQ
    - absl::Uniform
    - SizeMap::GetSizeClass
    - SizeMap::class_to_size
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - ASSERT_EQ
    - CppPolicy
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClassWithAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:435,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:436,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:437,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:438,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:444,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:448,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:448,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:450,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 454
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform<size_t>
    - EXPECT_EQ
    - SizeMap::class_to_size
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - SizeMap::SizeClass
    - CppPolicy
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, SizeClass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:459,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:463,1
    - Dst: SizeMap::class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:463,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:465,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 470
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - SizeMap::class_to_size
    - EXPECT_TRUE
    - SizeMap::class_to_pages
    - SizeMap::Init
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ValidateConditionsForSeparateAllocsInHugePageFiller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:476,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:477,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:478,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 480
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - num_objects_to_move
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, Preinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:483,1
    - Dst: tcmalloc_internal::SizeMap::CheckAssumptions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::CheckAssumptions
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, CheckAssumptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::Span::UseBitmapForSize
    linkageType: ''
    returnType: bool
    signature: bool UseBitmapForSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::Span::CalcReciprocal
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CalcReciprocal(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::OffsetToIdx
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - reciprocal
    argTypes:
    - uintptr_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::Span::OffsetToIdx
    linkageType: ''
    returnType: Span::ObjIdx
    signature: Span::ObjIdx TestOffsetToIdx(uintptr_t offset, uint32_t reciprocal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: tcmalloc::tcmalloc_internal::Alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 8
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Alignment(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:85,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - class_to_pages
    - class_to_size
    - EXPECT_GE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, SpanPages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:100,1
    - Dst: tcmalloc_internal::Span::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:101,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::IsValidSizeClass
    - EXPECT_TRUE
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidatePagesAndBitmapCapacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:112,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:114,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:117,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - class_to_pages
    - Length
    - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    - ASSERT_EQ
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateCorrectScalingByReciprocal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::Alignment
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Alignment
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Aligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:153,1
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:157,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - EXPECT_EQ
    - SizeClass
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Distinguishable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:168,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:174,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:180,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::Alignment
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:185,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - size_class_configuration
    - tcmalloc::tcmalloc_internal::Alignment
    - class_to_pages
    - GTEST_SKIP
    - EXPECT_LT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, WastedSpan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:197,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:197,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:198,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:199,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:202,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:202,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:206,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:207,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - CppPolicy
    - SizeClass
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, DoubleCheckedConsistency)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:216,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:220,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - EXPECT_GT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, NumToMove)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:228,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:228,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:229,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:240,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - class_to_pages
    - Length
    - EXPECT_EQ
    - class_to_size
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, DenseSpansAreOnePage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:253,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, MaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:267,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsExpandedSizeClass
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ExpandedSizeClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:279,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:279,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:282,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeIncreases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:291,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:291,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:295,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:298,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:307,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:307,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:310,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:315,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:315,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:318,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizesAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:327,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:327,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:330,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateBatchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:339,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:339,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:342,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidatePageSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:353,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:355,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:356,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:357,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:361,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:366,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:369,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:371,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:371,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:372,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:374,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 381
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_EQ
    - SizeMap::class_to_size
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - CppPolicy
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:391,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:392,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:394,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:396,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:401,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:406,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:409,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:410,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:413,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:417,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 425
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_EQ
    - absl::Uniform
    - SizeMap::GetSizeClass
    - SizeMap::class_to_size
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - ASSERT_EQ
    - CppPolicy
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClassWithAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:435,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:436,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:437,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:438,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:444,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:448,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:448,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:450,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 454
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform<size_t>
    - EXPECT_EQ
    - SizeMap::class_to_size
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - SizeMap::SizeClass
    - CppPolicy
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, SizeClass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:459,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:463,1
    - Dst: SizeMap::class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:463,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:465,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 470
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - SizeMap::class_to_size
    - EXPECT_TRUE
    - SizeMap::class_to_pages
    - SizeMap::Init
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ValidateConditionsForSeparateAllocsInHugePageFiller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:476,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:477,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:478,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 480
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - num_objects_to_move
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, Preinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:483,1
    - Dst: tcmalloc_internal::SizeMap::CheckAssumptions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::CheckAssumptions
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, CheckAssumptions)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: tcmalloc::tcmalloc_internal::Alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 10
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Alignment(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:85,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - class_to_pages
    - class_to_size
    - EXPECT_GE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, SpanPages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:100,1
    - Dst: tcmalloc_internal::Span::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:101,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::IsValidSizeClass
    - EXPECT_TRUE
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidatePagesAndBitmapCapacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:112,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:114,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:117,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - class_to_pages
    - Length
    - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    - ASSERT_EQ
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateCorrectScalingByReciprocal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::Alignment
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Alignment
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Aligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:153,1
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:157,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - EXPECT_EQ
    - SizeClass
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Distinguishable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:168,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:174,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:180,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::Alignment
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:185,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - size_class_configuration
    - tcmalloc::tcmalloc_internal::Alignment
    - class_to_pages
    - GTEST_SKIP
    - EXPECT_LT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, WastedSpan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:197,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:197,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:198,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:199,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:202,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:202,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:206,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:207,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - CppPolicy
    - SizeClass
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, DoubleCheckedConsistency)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:216,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:220,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - EXPECT_GT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, NumToMove)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:228,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:228,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:229,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:240,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - class_to_pages
    - Length
    - EXPECT_EQ
    - class_to_size
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, DenseSpansAreOnePage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:253,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, MaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:267,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsExpandedSizeClass
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ExpandedSizeClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:279,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:279,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:282,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeIncreases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:291,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:291,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:295,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:298,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:307,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:307,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:310,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:315,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:315,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:318,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizesAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:327,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:327,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:330,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateBatchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:339,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:339,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:342,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidatePageSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:353,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:355,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:356,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:357,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:361,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:366,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:369,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:371,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:371,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:372,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:374,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 381
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_EQ
    - SizeMap::class_to_size
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - CppPolicy
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:391,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:392,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:394,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:396,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:401,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:406,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:409,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:410,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:413,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:417,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 425
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_EQ
    - absl::Uniform
    - SizeMap::GetSizeClass
    - SizeMap::class_to_size
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - ASSERT_EQ
    - CppPolicy
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClassWithAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:435,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:436,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:437,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:438,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:444,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:448,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:448,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:450,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 454
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform<size_t>
    - EXPECT_EQ
    - SizeMap::class_to_size
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - SizeMap::SizeClass
    - CppPolicy
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, SizeClass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:459,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:463,1
    - Dst: SizeMap::class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:463,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:465,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 470
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - SizeMap::class_to_size
    - EXPECT_TRUE
    - SizeMap::class_to_pages
    - SizeMap::Init
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ValidateConditionsForSeparateAllocsInHugePageFiller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:476,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:477,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:478,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 480
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - num_objects_to_move
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, Preinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:483,1
    - Dst: tcmalloc_internal::SizeMap::CheckAssumptions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::CheckAssumptions
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, CheckAssumptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::Span::UseBitmapForSize
    linkageType: ''
    returnType: bool
    signature: bool UseBitmapForSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::Span::CalcReciprocal
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CalcReciprocal(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::OffsetToIdx
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - reciprocal
    argTypes:
    - uintptr_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::Span::OffsetToIdx
    linkageType: ''
    returnType: Span::ObjIdx
    signature: Span::ObjIdx TestOffsetToIdx(uintptr_t offset, uint32_t reciprocal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: tcmalloc::tcmalloc_internal::Alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 12
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Alignment(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:85,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - class_to_pages
    - class_to_size
    - EXPECT_GE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, SpanPages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:100,1
    - Dst: tcmalloc_internal::Span::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:101,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::IsValidSizeClass
    - EXPECT_TRUE
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidatePagesAndBitmapCapacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:112,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:114,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:117,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - class_to_pages
    - Length
    - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    - ASSERT_EQ
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateCorrectScalingByReciprocal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::Alignment
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Alignment
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Aligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:153,1
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:157,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - EXPECT_EQ
    - SizeClass
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Distinguishable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:168,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:174,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:180,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::Alignment
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:185,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - size_class_configuration
    - tcmalloc::tcmalloc_internal::Alignment
    - class_to_pages
    - GTEST_SKIP
    - EXPECT_LT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, WastedSpan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:197,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:197,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:198,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:199,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:202,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:202,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:206,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:207,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - CppPolicy
    - SizeClass
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, DoubleCheckedConsistency)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:216,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:220,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - EXPECT_GT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, NumToMove)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:228,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:228,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:229,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:240,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - class_to_pages
    - Length
    - EXPECT_EQ
    - class_to_size
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, DenseSpansAreOnePage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:253,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, MaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:267,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsExpandedSizeClass
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ExpandedSizeClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:279,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:279,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:282,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeIncreases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:291,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:291,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:295,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:298,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:307,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:307,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:310,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:315,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:315,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:318,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizesAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:327,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:327,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:330,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateBatchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:339,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:339,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:342,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidatePageSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:353,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:355,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:356,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:357,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:361,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:366,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:369,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:371,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:371,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:372,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:374,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 381
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_EQ
    - SizeMap::class_to_size
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - CppPolicy
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:391,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:392,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:394,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:396,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:401,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:406,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:409,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:410,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:413,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:417,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 425
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_EQ
    - absl::Uniform
    - SizeMap::GetSizeClass
    - SizeMap::class_to_size
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - ASSERT_EQ
    - CppPolicy
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClassWithAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:435,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:436,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:437,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:438,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:444,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:448,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:448,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:450,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 454
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform<size_t>
    - EXPECT_EQ
    - SizeMap::class_to_size
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - SizeMap::SizeClass
    - CppPolicy
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, SizeClass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:459,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:463,1
    - Dst: SizeMap::class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:463,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:465,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 470
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - SizeMap::class_to_size
    - EXPECT_TRUE
    - SizeMap::class_to_pages
    - SizeMap::Init
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ValidateConditionsForSeparateAllocsInHugePageFiller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:476,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:477,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:478,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 480
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - num_objects_to_move
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, Preinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:483,1
    - Dst: tcmalloc_internal::SizeMap::CheckAssumptions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::CheckAssumptions
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, CheckAssumptions)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: tcmalloc::tcmalloc_internal::Alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 14
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Alignment(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:85,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - class_to_pages
    - class_to_size
    - EXPECT_GE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, SpanPages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:100,1
    - Dst: tcmalloc_internal::Span::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:101,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::IsValidSizeClass
    - EXPECT_TRUE
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidatePagesAndBitmapCapacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:112,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:114,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:117,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - class_to_pages
    - Length
    - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    - ASSERT_EQ
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateCorrectScalingByReciprocal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::Alignment
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Alignment
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Aligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:153,1
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:157,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - EXPECT_EQ
    - SizeClass
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Distinguishable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:168,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:174,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:180,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::Alignment
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:185,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - size_class_configuration
    - tcmalloc::tcmalloc_internal::Alignment
    - class_to_pages
    - GTEST_SKIP
    - EXPECT_LT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, WastedSpan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:197,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:197,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:198,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:199,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:202,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:202,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:206,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:207,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - CppPolicy
    - SizeClass
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, DoubleCheckedConsistency)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:216,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:220,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - EXPECT_GT
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, NumToMove)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:228,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:228,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:229,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:240,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - class_to_pages
    - Length
    - EXPECT_EQ
    - class_to_size
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, DenseSpansAreOnePage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:253,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, MaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:267,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsExpandedSizeClass
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ExpandedSizeClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:279,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:279,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:282,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeIncreases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:291,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:291,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:295,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:298,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:307,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:307,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:310,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:315,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:315,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:318,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizesAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:327,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:327,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:330,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateBatchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:339,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:339,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:342,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidatePageSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:353,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:355,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:356,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:357,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:361,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:366,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:369,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:371,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:371,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:372,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:374,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 381
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_EQ
    - SizeMap::class_to_size
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - CppPolicy
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:391,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:392,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:394,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:396,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:401,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:406,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:409,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:410,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:413,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:417,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 425
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_EQ
    - absl::Uniform
    - SizeMap::GetSizeClass
    - SizeMap::class_to_size
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - ASSERT_EQ
    - CppPolicy
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClassWithAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:435,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:436,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:437,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:438,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:444,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:448,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:448,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:450,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 454
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform<size_t>
    - EXPECT_EQ
    - SizeMap::class_to_size
    - ASSERT_GE
    - EXPECT_LT
    - SizeMap::Init
    - SizeMap::SizeClass
    - CppPolicy
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, SizeClass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:459,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:463,1
    - Dst: SizeMap::class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:463,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:465,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 470
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - SizeMap::class_to_size
    - EXPECT_TRUE
    - SizeMap::class_to_pages
    - SizeMap::Init
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ValidateConditionsForSeparateAllocsInHugePageFiller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:476,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:477,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:478,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 480
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - num_objects_to_move
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, Preinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:483,1
    - Dst: tcmalloc_internal::SizeMap::CheckAssumptions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::CheckAssumptions
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, CheckAssumptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::PageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::max
    - GetPageSize
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t PageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::GetStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 5
    functionsReached:
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: auto
    signature: auto GetStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:63,1
    - Dst: AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllowAllocations
    - Init
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:69,1
    - Dst: AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_pages
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllowAllocations
    - Init
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorTest(size_t num_pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: ~GuardedPageAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~GuardedPageAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorParamTest::GuardedPageAllocatorParamTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorParamTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:88,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:88,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:90,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:91,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:93,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:93,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:95,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:96,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:98,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:99,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:99,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsCorrectlyAligned
    - PointerIsMine
    - memset
    - Allocate
    - EXPECT_DEATH
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, SingleAllocDealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:105,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:105,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:106,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:111,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:120,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:123,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:124,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:124,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:128,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:128,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:129,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:129,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:137,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - absl::bit_cast<uintptr_t>
    - SCOPED_TRACE
    - static_cast<size_t>
    - absl::countr_zero
    - EXPECT_GE
    - PointerIsMine
    - std::min
    - Allocate
    - std::max
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, NoAlignmentProvided)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:141,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:143,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:144,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:148,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: __builtin_clz
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsMine
    - reinterpret_cast<uintptr_t>
    - Allocate
    - __builtin_clz
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, AllocDeallocAligned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:155,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:157,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:162,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:166,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:166,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:171,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:171,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:172,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_TRUE
    - absl::bit_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsMine
    - reinterpret_cast<uintptr_t>
    - Allocate
    - EXPECT_DEATH
    - absl::bit_cast<void*>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, MismatchedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:182,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:186,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:188,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:196,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:197,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:198,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:199,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:200,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:201,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - GetParam
    - PointerIsMine
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_P(GuardedPageAllocatorParamTest, AllocDeallocAllPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:213,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:215,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:215,1
    - Dst: std::make_unique<char>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - auto::get
    - std::make_unique<char>
    - PointerIsMine
    - Allocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, PointerIsMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:228,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Print
    - testing::ContainsRegex
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, Print)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:232,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:233,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:237,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:238,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:243,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:243,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - successful_allocations
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - PointerIsCorrectlyAligned
    - PointerIsMine
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetRequestedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteAllocationAndDeallocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:251,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:255,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:255,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:256,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - static_cast<char*>
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetRequestedSize
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteUseAfterFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:264,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:265,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:268,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:269,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteDoubleFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:279,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:281,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:281,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:283,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:283,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:289,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:295,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:300,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 301
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - absl::flat_hash_set::size
    - absl::flat_hash_set::erase
    - std::thread
    - std::vector::push_back
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - Allocate
    - join
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedAllocCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:306,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:311,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:311,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:314,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:317,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:318,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:330,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:330,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:334,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:339,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:344,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:345,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 349
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - EXPECT_NE
    - std::thread
    - std::vector::push_back
    - absl::SleepFor
    - EXPECT_EQ
    - reinterpret_cast<char*>
    - NumCPUs
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - join
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedHighContention)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:357,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: tcmalloc::tcmalloc_internal::SampledAllocationWithFilterTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:369,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:372,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:373,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 385
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:392,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:393,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:394,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:394,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 405
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDeleteZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:412,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:413,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:415,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:415,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:418,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:418,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:419,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:420,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:420,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 433
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - guardedpage_allocator
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, SizedNewMismatchedSizeDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::PageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 3
    functionsReached:
    - std::max
    - GetPageSize
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t PageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::GetStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 16
    functionsReached:
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: auto
    signature: auto GetStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:63,1
    - Dst: AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllowAllocations
    - Init
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:69,1
    - Dst: AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_pages
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllowAllocations
    - Init
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorTest(size_t num_pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: ~GuardedPageAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~GuardedPageAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorParamTest::GuardedPageAllocatorParamTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorParamTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:88,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:88,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:90,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:91,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:93,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:93,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:95,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:96,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:98,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:99,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:99,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsCorrectlyAligned
    - PointerIsMine
    - memset
    - Allocate
    - EXPECT_DEATH
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, SingleAllocDealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:105,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:105,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:106,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:111,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:120,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:123,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:124,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:124,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:128,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:128,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:129,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:129,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:137,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - absl::bit_cast<uintptr_t>
    - SCOPED_TRACE
    - static_cast<size_t>
    - absl::countr_zero
    - EXPECT_GE
    - PointerIsMine
    - std::min
    - Allocate
    - std::max
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, NoAlignmentProvided)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:141,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:143,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:144,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:148,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: __builtin_clz
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsMine
    - reinterpret_cast<uintptr_t>
    - Allocate
    - __builtin_clz
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, AllocDeallocAligned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:155,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:157,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:162,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:166,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:166,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:171,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:171,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:172,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_TRUE
    - absl::bit_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsMine
    - reinterpret_cast<uintptr_t>
    - Allocate
    - EXPECT_DEATH
    - absl::bit_cast<void*>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, MismatchedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:182,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:186,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:188,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:196,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:197,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:198,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:199,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:200,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:201,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - GetParam
    - PointerIsMine
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_P(GuardedPageAllocatorParamTest, AllocDeallocAllPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:213,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:215,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:215,1
    - Dst: std::make_unique<char>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - auto::get
    - std::make_unique<char>
    - PointerIsMine
    - Allocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, PointerIsMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:228,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Print
    - testing::ContainsRegex
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, Print)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:232,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:233,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:237,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:238,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:243,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:243,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - successful_allocations
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - PointerIsCorrectlyAligned
    - PointerIsMine
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetRequestedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteAllocationAndDeallocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:251,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:255,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:255,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:256,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - static_cast<char*>
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetRequestedSize
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteUseAfterFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:264,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:265,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:268,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:269,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteDoubleFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:279,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:281,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:281,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:283,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:283,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:289,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:295,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:300,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 301
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - absl::flat_hash_set::size
    - absl::flat_hash_set::erase
    - std::thread
    - std::vector::push_back
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - Allocate
    - join
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedAllocCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:306,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:311,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:311,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:314,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:317,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:318,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:330,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:330,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:334,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:339,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:344,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:345,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 349
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - EXPECT_NE
    - std::thread
    - std::vector::push_back
    - absl::SleepFor
    - EXPECT_EQ
    - reinterpret_cast<char*>
    - NumCPUs
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - join
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedHighContention)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:357,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: tcmalloc::tcmalloc_internal::SampledAllocationWithFilterTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:369,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:372,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:373,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 385
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:392,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:393,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:394,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:394,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 405
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDeleteZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:412,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:413,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:415,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:415,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:418,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:418,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:419,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:420,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:420,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 433
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - guardedpage_allocator
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, SizedNewMismatchedSizeDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::PageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 6
    functionsReached:
    - std::max
    - GetPageSize
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t PageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::GetStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 27
    functionsReached:
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: auto
    signature: auto GetStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:63,1
    - Dst: AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllowAllocations
    - Init
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:69,1
    - Dst: AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_pages
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllowAllocations
    - Init
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorTest(size_t num_pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: ~GuardedPageAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~GuardedPageAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorParamTest::GuardedPageAllocatorParamTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorParamTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:88,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:88,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:90,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:91,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:93,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:93,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:95,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:96,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:98,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:99,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:99,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsCorrectlyAligned
    - PointerIsMine
    - memset
    - Allocate
    - EXPECT_DEATH
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, SingleAllocDealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:105,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:105,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:106,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:111,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:120,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:123,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:124,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:124,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:128,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:128,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:129,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:129,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:137,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - absl::bit_cast<uintptr_t>
    - SCOPED_TRACE
    - static_cast<size_t>
    - absl::countr_zero
    - EXPECT_GE
    - PointerIsMine
    - std::min
    - Allocate
    - std::max
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, NoAlignmentProvided)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:141,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:143,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:144,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:148,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: __builtin_clz
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsMine
    - reinterpret_cast<uintptr_t>
    - Allocate
    - __builtin_clz
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, AllocDeallocAligned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:155,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:157,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:162,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:166,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:166,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:171,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:171,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:172,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_TRUE
    - absl::bit_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsMine
    - reinterpret_cast<uintptr_t>
    - Allocate
    - EXPECT_DEATH
    - absl::bit_cast<void*>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, MismatchedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:182,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:186,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:188,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:196,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:197,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:198,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:199,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:200,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:201,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - GetParam
    - PointerIsMine
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_P(GuardedPageAllocatorParamTest, AllocDeallocAllPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:213,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:215,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:215,1
    - Dst: std::make_unique<char>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - auto::get
    - std::make_unique<char>
    - PointerIsMine
    - Allocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, PointerIsMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:228,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Print
    - testing::ContainsRegex
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, Print)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:232,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:233,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:237,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:238,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:243,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:243,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - successful_allocations
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - PointerIsCorrectlyAligned
    - PointerIsMine
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetRequestedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteAllocationAndDeallocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:251,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:255,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:255,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:256,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - static_cast<char*>
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetRequestedSize
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteUseAfterFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:264,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:265,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:268,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:269,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteDoubleFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:279,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:281,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:281,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:283,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:283,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:289,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:295,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:300,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 301
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - absl::flat_hash_set::size
    - absl::flat_hash_set::erase
    - std::thread
    - std::vector::push_back
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - Allocate
    - join
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedAllocCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:306,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:311,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:311,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:314,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:317,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:318,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:330,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:330,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:334,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:339,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:344,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:345,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 349
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - EXPECT_NE
    - std::thread
    - std::vector::push_back
    - absl::SleepFor
    - EXPECT_EQ
    - reinterpret_cast<char*>
    - NumCPUs
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - join
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedHighContention)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:357,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: tcmalloc::tcmalloc_internal::SampledAllocationWithFilterTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:369,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:372,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:373,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 385
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:392,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:393,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:394,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:394,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 405
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDeleteZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:412,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:413,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:415,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:415,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:418,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:418,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:419,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:420,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:420,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 433
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - guardedpage_allocator
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, SizedNewMismatchedSizeDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::PageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 9
    functionsReached:
    - std::max
    - GetPageSize
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t PageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::GetStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 38
    functionsReached:
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: auto
    signature: auto GetStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:63,1
    - Dst: AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllowAllocations
    - Init
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:69,1
    - Dst: AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_pages
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllowAllocations
    - Init
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorTest(size_t num_pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: ~GuardedPageAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~GuardedPageAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorParamTest::GuardedPageAllocatorParamTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorParamTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:88,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:88,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:90,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:91,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:93,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:93,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:95,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:96,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:98,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:99,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:99,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsCorrectlyAligned
    - PointerIsMine
    - memset
    - Allocate
    - EXPECT_DEATH
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, SingleAllocDealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:105,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:105,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:106,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:111,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:120,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:123,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:124,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:124,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:128,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:128,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:129,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:129,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:137,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - absl::bit_cast<uintptr_t>
    - SCOPED_TRACE
    - static_cast<size_t>
    - absl::countr_zero
    - EXPECT_GE
    - PointerIsMine
    - std::min
    - Allocate
    - std::max
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, NoAlignmentProvided)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:141,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:143,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:144,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:148,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: __builtin_clz
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsMine
    - reinterpret_cast<uintptr_t>
    - Allocate
    - __builtin_clz
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, AllocDeallocAligned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:155,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:157,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:162,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:166,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:166,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:171,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:171,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:172,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_TRUE
    - absl::bit_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsMine
    - reinterpret_cast<uintptr_t>
    - Allocate
    - EXPECT_DEATH
    - absl::bit_cast<void*>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, MismatchedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:182,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:186,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:188,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:196,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:197,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:198,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:199,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:200,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:201,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - GetParam
    - PointerIsMine
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_P(GuardedPageAllocatorParamTest, AllocDeallocAllPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:213,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:215,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:215,1
    - Dst: std::make_unique<char>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - auto::get
    - std::make_unique<char>
    - PointerIsMine
    - Allocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, PointerIsMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:228,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Print
    - testing::ContainsRegex
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, Print)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:232,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:233,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:237,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:238,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:243,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:243,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - successful_allocations
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - PointerIsCorrectlyAligned
    - PointerIsMine
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetRequestedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteAllocationAndDeallocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:251,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:255,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:255,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:256,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - static_cast<char*>
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetRequestedSize
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteUseAfterFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:264,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:265,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:268,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:269,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteDoubleFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:279,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:281,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:281,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:283,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:283,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:289,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:295,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:300,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 301
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - absl::flat_hash_set::size
    - absl::flat_hash_set::erase
    - std::thread
    - std::vector::push_back
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - Allocate
    - join
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedAllocCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:306,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:311,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:311,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:314,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:317,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:318,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:330,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:330,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:334,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:339,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:344,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:345,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 349
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - EXPECT_NE
    - std::thread
    - std::vector::push_back
    - absl::SleepFor
    - EXPECT_EQ
    - reinterpret_cast<char*>
    - NumCPUs
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - join
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedHighContention)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:357,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: tcmalloc::tcmalloc_internal::SampledAllocationWithFilterTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:369,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:372,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:373,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 385
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:392,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:393,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:394,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:394,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 405
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDeleteZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:412,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:413,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:415,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:415,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:418,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:418,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:419,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:420,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:420,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 433
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - guardedpage_allocator
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, SizedNewMismatchedSizeDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::PageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 12
    functionsReached:
    - std::max
    - GetPageSize
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t PageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::GetStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 49
    functionsReached:
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: auto
    signature: auto GetStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:63,1
    - Dst: AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllowAllocations
    - Init
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:69,1
    - Dst: AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_pages
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllowAllocations
    - Init
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorTest(size_t num_pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: ~GuardedPageAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~GuardedPageAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorParamTest::GuardedPageAllocatorParamTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorParamTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:88,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:88,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:90,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:91,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:93,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:93,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:95,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:96,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:98,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:99,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:99,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsCorrectlyAligned
    - PointerIsMine
    - memset
    - Allocate
    - EXPECT_DEATH
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, SingleAllocDealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:105,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:105,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:106,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:111,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:120,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:123,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:124,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:124,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:128,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:128,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:129,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:129,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:137,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - absl::bit_cast<uintptr_t>
    - SCOPED_TRACE
    - static_cast<size_t>
    - absl::countr_zero
    - EXPECT_GE
    - PointerIsMine
    - std::min
    - Allocate
    - std::max
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, NoAlignmentProvided)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:141,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:143,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:144,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:148,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: __builtin_clz
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsMine
    - reinterpret_cast<uintptr_t>
    - Allocate
    - __builtin_clz
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, AllocDeallocAligned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:155,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:157,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:162,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:166,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:166,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:171,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:171,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:172,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_TRUE
    - absl::bit_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsMine
    - reinterpret_cast<uintptr_t>
    - Allocate
    - EXPECT_DEATH
    - absl::bit_cast<void*>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, MismatchedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:182,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:186,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:188,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:196,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:197,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:198,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:199,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:200,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:201,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - GetParam
    - PointerIsMine
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_P(GuardedPageAllocatorParamTest, AllocDeallocAllPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:213,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:215,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:215,1
    - Dst: std::make_unique<char>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - auto::get
    - std::make_unique<char>
    - PointerIsMine
    - Allocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, PointerIsMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:228,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Print
    - testing::ContainsRegex
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, Print)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:232,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:233,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:237,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:238,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:243,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:243,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - successful_allocations
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - PointerIsCorrectlyAligned
    - PointerIsMine
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetRequestedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteAllocationAndDeallocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:251,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:255,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:255,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:256,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - static_cast<char*>
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetRequestedSize
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteUseAfterFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:264,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:265,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:268,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:269,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteDoubleFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:279,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:281,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:281,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:283,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:283,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:289,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:295,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:300,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 301
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - absl::flat_hash_set::size
    - absl::flat_hash_set::erase
    - std::thread
    - std::vector::push_back
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - Allocate
    - join
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedAllocCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:306,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:311,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:311,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:314,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:317,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:318,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:330,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:330,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:334,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:339,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:344,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:345,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 349
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - EXPECT_NE
    - std::thread
    - std::vector::push_back
    - absl::SleepFor
    - EXPECT_EQ
    - reinterpret_cast<char*>
    - NumCPUs
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - join
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedHighContention)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:357,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: tcmalloc::tcmalloc_internal::SampledAllocationWithFilterTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:369,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:372,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:373,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 385
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:392,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:393,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:394,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:394,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 405
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDeleteZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:412,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:413,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:415,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:415,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:418,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:418,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:419,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:420,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:420,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 433
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - guardedpage_allocator
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, SizedNewMismatchedSizeDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::PageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 15
    functionsReached:
    - std::max
    - GetPageSize
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t PageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::GetStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 60
    functionsReached:
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: auto
    signature: auto GetStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:63,1
    - Dst: AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllowAllocations
    - Init
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:69,1
    - Dst: AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_pages
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllowAllocations
    - Init
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorTest(size_t num_pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: ~GuardedPageAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~GuardedPageAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorParamTest::GuardedPageAllocatorParamTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorParamTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:88,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:88,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:90,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:91,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:93,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:93,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:95,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:96,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:98,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:99,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:99,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsCorrectlyAligned
    - PointerIsMine
    - memset
    - Allocate
    - EXPECT_DEATH
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, SingleAllocDealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:105,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:105,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:106,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:111,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:120,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:123,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:124,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:124,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:128,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:128,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:129,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:129,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:137,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - absl::bit_cast<uintptr_t>
    - SCOPED_TRACE
    - static_cast<size_t>
    - absl::countr_zero
    - EXPECT_GE
    - PointerIsMine
    - std::min
    - Allocate
    - std::max
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, NoAlignmentProvided)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:141,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:143,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:144,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:148,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: __builtin_clz
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsMine
    - reinterpret_cast<uintptr_t>
    - Allocate
    - __builtin_clz
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, AllocDeallocAligned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:155,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:157,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:162,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:166,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:166,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:171,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:171,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:172,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_TRUE
    - absl::bit_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsMine
    - reinterpret_cast<uintptr_t>
    - Allocate
    - EXPECT_DEATH
    - absl::bit_cast<void*>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, MismatchedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:182,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:186,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:188,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:196,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:197,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:198,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:199,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:200,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:201,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - GetParam
    - PointerIsMine
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_P(GuardedPageAllocatorParamTest, AllocDeallocAllPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:213,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:215,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:215,1
    - Dst: std::make_unique<char>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - auto::get
    - std::make_unique<char>
    - PointerIsMine
    - Allocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, PointerIsMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:228,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Print
    - testing::ContainsRegex
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, Print)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:232,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:233,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:237,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:238,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:243,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:243,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - successful_allocations
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - PointerIsCorrectlyAligned
    - PointerIsMine
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetRequestedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteAllocationAndDeallocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:251,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:255,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:255,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:256,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - static_cast<char*>
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetRequestedSize
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteUseAfterFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:264,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:265,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:268,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:269,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteDoubleFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:279,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:281,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:281,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:283,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:283,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:289,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:295,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:300,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 301
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - absl::flat_hash_set::size
    - absl::flat_hash_set::erase
    - std::thread
    - std::vector::push_back
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - Allocate
    - join
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedAllocCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:306,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:311,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:311,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:314,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:317,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:318,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:330,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:330,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:334,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:339,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:344,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:345,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 349
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - EXPECT_NE
    - std::thread
    - std::vector::push_back
    - absl::SleepFor
    - EXPECT_EQ
    - reinterpret_cast<char*>
    - NumCPUs
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - join
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedHighContention)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:357,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: tcmalloc::tcmalloc_internal::SampledAllocationWithFilterTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:369,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:372,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:373,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 385
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:392,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:393,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:394,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:394,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 405
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDeleteZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:412,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:413,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:415,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:415,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:418,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:418,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:419,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:420,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:420,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 433
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - guardedpage_allocator
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, SizedNewMismatchedSizeDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::PageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 18
    functionsReached:
    - std::max
    - GetPageSize
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t PageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::GetStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 71
    functionsReached:
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: auto
    signature: auto GetStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:63,1
    - Dst: AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllowAllocations
    - Init
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:69,1
    - Dst: AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_pages
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllowAllocations
    - Init
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorTest(size_t num_pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: ~GuardedPageAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~GuardedPageAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorParamTest::GuardedPageAllocatorParamTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorParamTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:88,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:88,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:90,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:91,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:93,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:93,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:95,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:96,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:98,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:99,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:99,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsCorrectlyAligned
    - PointerIsMine
    - memset
    - Allocate
    - EXPECT_DEATH
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, SingleAllocDealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:105,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:105,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:106,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:111,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:120,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:123,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:124,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:124,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:128,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:128,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:129,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:129,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:137,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - absl::bit_cast<uintptr_t>
    - SCOPED_TRACE
    - static_cast<size_t>
    - absl::countr_zero
    - EXPECT_GE
    - PointerIsMine
    - std::min
    - Allocate
    - std::max
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, NoAlignmentProvided)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:141,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:143,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:144,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:148,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: __builtin_clz
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsMine
    - reinterpret_cast<uintptr_t>
    - Allocate
    - __builtin_clz
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, AllocDeallocAligned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:155,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:157,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:162,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:166,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:166,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:171,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:171,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:172,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_TRUE
    - absl::bit_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsMine
    - reinterpret_cast<uintptr_t>
    - Allocate
    - EXPECT_DEATH
    - absl::bit_cast<void*>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, MismatchedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:182,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:186,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:188,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:196,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:197,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:198,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:199,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:200,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:201,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - GetParam
    - PointerIsMine
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_P(GuardedPageAllocatorParamTest, AllocDeallocAllPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:213,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:215,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:215,1
    - Dst: std::make_unique<char>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - auto::get
    - std::make_unique<char>
    - PointerIsMine
    - Allocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, PointerIsMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:228,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Print
    - testing::ContainsRegex
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, Print)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:232,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:233,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:237,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:238,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:243,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:243,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - successful_allocations
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - PointerIsCorrectlyAligned
    - PointerIsMine
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetRequestedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteAllocationAndDeallocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:251,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:255,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:255,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:256,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - static_cast<char*>
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetRequestedSize
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteUseAfterFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:264,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:265,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:268,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:269,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteDoubleFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:279,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:281,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:281,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:283,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:283,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:289,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:295,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:300,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 301
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - absl::flat_hash_set::size
    - absl::flat_hash_set::erase
    - std::thread
    - std::vector::push_back
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - Allocate
    - join
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedAllocCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:306,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:311,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:311,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:314,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:317,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:318,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:330,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:330,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:334,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:339,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:344,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:345,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 349
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - EXPECT_NE
    - std::thread
    - std::vector::push_back
    - absl::SleepFor
    - EXPECT_EQ
    - reinterpret_cast<char*>
    - NumCPUs
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - join
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedHighContention)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:357,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: tcmalloc::tcmalloc_internal::SampledAllocationWithFilterTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:369,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:372,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:373,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 385
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:392,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:393,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:394,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:394,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 405
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDeleteZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:412,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:413,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:415,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:415,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:418,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:418,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:419,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:420,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:420,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 433
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - guardedpage_allocator
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, SizedNewMismatchedSizeDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::PageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 21
    functionsReached:
    - std::max
    - GetPageSize
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t PageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::GetStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 82
    functionsReached:
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: auto
    signature: auto GetStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:63,1
    - Dst: AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllowAllocations
    - Init
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:69,1
    - Dst: AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_pages
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllowAllocations
    - Init
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorTest(size_t num_pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: ~GuardedPageAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~GuardedPageAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorParamTest::GuardedPageAllocatorParamTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocatorParamTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:88,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:88,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:90,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:91,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:93,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:93,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:95,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:96,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:98,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:99,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:99,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsCorrectlyAligned
    - PointerIsMine
    - memset
    - Allocate
    - EXPECT_DEATH
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, SingleAllocDealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:105,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:105,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:106,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:111,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:120,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:123,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:124,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:124,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:128,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:128,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:129,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:129,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:137,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - absl::bit_cast<uintptr_t>
    - SCOPED_TRACE
    - static_cast<size_t>
    - absl::countr_zero
    - EXPECT_GE
    - PointerIsMine
    - std::min
    - Allocate
    - std::max
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, NoAlignmentProvided)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:141,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:143,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:144,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:148,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: __builtin_clz
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsMine
    - reinterpret_cast<uintptr_t>
    - Allocate
    - __builtin_clz
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, AllocDeallocAligned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:155,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:157,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:162,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:166,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:166,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:171,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:171,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:172,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_TRUE
    - absl::bit_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::PageSize
    - PointerIsMine
    - reinterpret_cast<uintptr_t>
    - Allocate
    - EXPECT_DEATH
    - absl::bit_cast<void*>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, MismatchedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:182,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:186,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:188,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:196,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:197,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:198,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:199,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:200,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:201,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - GetParam
    - PointerIsMine
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_P(GuardedPageAllocatorParamTest, AllocDeallocAllPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:213,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:215,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:215,1
    - Dst: std::make_unique<char>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - auto::get
    - std::make_unique<char>
    - PointerIsMine
    - Allocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, PointerIsMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:228,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Print
    - testing::ContainsRegex
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, Print)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:232,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:233,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:237,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:238,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:243,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:243,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - successful_allocations
    - EXPECT_NE
    - EXPECT_EQ
    - EXPECT_TRUE
    - static_cast<char*>
    - PointerIsCorrectlyAligned
    - PointerIsMine
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetRequestedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteAllocationAndDeallocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:251,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:255,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:255,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:256,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - static_cast<char*>
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetRequestedSize
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteUseAfterFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:264,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:265,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:268,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:269,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_DEATH
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteDoubleFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:279,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:281,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:281,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:283,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:283,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:289,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:295,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:300,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 301
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - absl::flat_hash_set::size
    - absl::flat_hash_set::erase
    - std::thread
    - std::vector::push_back
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - Allocate
    - join
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - successful_allocations
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedAllocCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:306,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:311,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:311,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:314,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:317,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:318,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:330,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:330,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:334,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:339,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:344,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:345,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 349
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - EXPECT_NE
    - std::thread
    - std::vector::push_back
    - absl::SleepFor
    - EXPECT_EQ
    - reinterpret_cast<char*>
    - NumCPUs
    - Allocate
    - Deallocate
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - join
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedHighContention)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:357,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: tcmalloc::tcmalloc_internal::SampledAllocationWithFilterTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:369,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:372,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:373,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:375,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:377,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 385
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:392,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:393,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:394,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:394,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:395,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:397,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 405
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDeleteZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:412,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:413,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:415,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:415,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:418,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:418,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:419,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:420,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:420,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 433
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - guardedpage_allocator
    - std::unique_ptr::get
    - ASSERT_TRUE
    - GetParam
    - EXPECT_DEATH
    - ::operator delete
    - filter
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, SizedNewMismatchedSizeDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:51,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:51,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:83,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:83,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:89,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:95,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:96,1
    - Dst: Nil
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:99,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:156,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:156,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:157,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:157,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:158,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:159,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:160,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:166,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:166,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:208,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:208,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:208,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:242,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:244,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:257,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:269,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:279,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:280,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:290,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:299,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:300,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:301,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 312
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - now
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Nil
    - freq
    - usage
    - absl::ToDoubleSeconds
    - size
    - tcmalloc_internal::max
    - len
    - start
    - std::min
    - std::max
    - NHugePages
    - absl::ToInt64Nanoseconds
    - in_bytes
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~MemoryModifyFunction()
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MemoryModifyFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:51,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: operator()(HugeRange r)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - HugeRange::start
    linkageType: ''
    returnType: bool
    signature: bool operator()(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~MemoryTagFunction()
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MemoryTagFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - clock
    - w
    argTypes:
    - Clock
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: tcmalloc_internal::MinMaxTracker::MinMaxTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MinMaxTracker(Clock clock, absl::Duration w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: tcmalloc_internal::MinMaxTracker::Nil
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: Extrema
    signature: Extrema Nil()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:95,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::MinMaxTracker::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: void
    signature: void Report(HugeLength n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MinMaxTracker::Nil
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: tcmalloc_internal::MinMaxTracker::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::MinMaxTracker::Nil
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - allocator
    - ' meta_allocate ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - ' unback ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - cache_time
    argTypes:
    - HugeAllocator*
    - MetadataAllocator
    - MemoryModifyFunction
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::HugeCache::HugeCache
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HugeCache(HugeAllocator* allocator,\n            MetadataAllocator&
      meta_allocate ABSL_ATTRIBUTE_LIFETIME_BOUND,\n            MemoryModifyFunction&
      unback ABSL_ATTRIBUTE_LIFETIME_BOUND,\n            absl::Duration cache_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:156,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:156,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:157,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:157,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:158,1
    - Dst: Clock::now
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:159,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:160,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:166,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - allocator
    - ' meta_allocate ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - ' unback ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - cache_time
    - clock
    argTypes:
    - HugeAllocator*
    - MetadataAllocator
    - MemoryModifyFunction
    - absl::Duration
    - Clock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: tcmalloc_internal::HugeCache::HugeCache
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Clock::now
    - freq
    - absl::ToDoubleSeconds
    - absl::ToInt64Nanoseconds
    linkageType: ''
    returnType: void
    signature: "void HugeCache(HugeAllocator* allocator,\n            MetadataAllocator&
      meta_allocate ABSL_ATTRIBUTE_LIFETIME_BOUND,\n            MemoryModifyFunction&
      unback ABSL_ATTRIBUTE_LIFETIME_BOUND,\n            absl::Duration cache_time,
      Clock clock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: tcmalloc_internal::HugeCache::size
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::HugeCache::limit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength limit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: tcmalloc_internal::HugeCache::usage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength usage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::usage
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:208,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:208,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:208,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: tcmalloc_internal::HugeCache::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - in_bytes
    - tcmalloc_internal::HugeCache::usage
    - tcmalloc_internal::HugeCache::size
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: tcmalloc_internal::HugeCache::MinCacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength MinCacheLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::HugeCache::CapDemandInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - absl::Minutes
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration CapDemandInterval() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::usage
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:299,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:300,1
    - Dst: tcmalloc_internal::HugeCache::usage
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:301,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: tcmalloc_internal::HugeCache::GetSubreleaseStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeCache::usage
    - tcmalloc_internal::HugeCache::size
    linkageType: ''
    returnType: StatsTrackerType::SubreleaseStats
    signature: StatsTrackerType::SubreleaseStats GetSubreleaseStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~MemoryModifyFunction()
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MemoryModifyFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:51,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: operator()(HugeRange r)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - HugeRange::start
    linkageType: ''
    returnType: bool
    signature: bool operator()(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~MemoryTagFunction()
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MemoryTagFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - clock
    - w
    argTypes:
    - Clock
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: tcmalloc_internal::MinMaxTracker::MinMaxTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MinMaxTracker(Clock clock, absl::Duration w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: tcmalloc_internal::MinMaxTracker::Nil
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 1
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: Extrema
    signature: Extrema Nil()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:95,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::MinMaxTracker::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: void
    signature: void Report(HugeLength n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MinMaxTracker::Nil
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: tcmalloc_internal::MinMaxTracker::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::MinMaxTracker::Nil
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - allocator
    - ' meta_allocate ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - ' unback ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - cache_time
    argTypes:
    - HugeAllocator*
    - MetadataAllocator
    - MemoryModifyFunction
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::HugeCache::HugeCache
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HugeCache(HugeAllocator* allocator,\n            MetadataAllocator&
      meta_allocate ABSL_ATTRIBUTE_LIFETIME_BOUND,\n            MemoryModifyFunction&
      unback ABSL_ATTRIBUTE_LIFETIME_BOUND,\n            absl::Duration cache_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:156,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:156,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:157,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:157,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:158,1
    - Dst: Clock::now
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:159,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:160,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:166,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - allocator
    - ' meta_allocate ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - ' unback ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - cache_time
    - clock
    argTypes:
    - HugeAllocator*
    - MetadataAllocator
    - MemoryModifyFunction
    - absl::Duration
    - Clock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: tcmalloc_internal::HugeCache::HugeCache
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Clock::now
    - freq
    - absl::ToDoubleSeconds
    - absl::ToInt64Nanoseconds
    linkageType: ''
    returnType: void
    signature: "void HugeCache(HugeAllocator* allocator,\n            MetadataAllocator&
      meta_allocate ABSL_ATTRIBUTE_LIFETIME_BOUND,\n            MemoryModifyFunction&
      unback ABSL_ATTRIBUTE_LIFETIME_BOUND,\n            absl::Duration cache_time,
      Clock clock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: tcmalloc_internal::HugeCache::size
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::HugeCache::limit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength limit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: tcmalloc_internal::HugeCache::usage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength usage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::usage
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:208,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:208,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:208,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: tcmalloc_internal::HugeCache::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - in_bytes
    - tcmalloc_internal::HugeCache::usage
    - tcmalloc_internal::HugeCache::size
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: tcmalloc_internal::HugeCache::MinCacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength MinCacheLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::HugeCache::CapDemandInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - absl::Minutes
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration CapDemandInterval() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::usage
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:299,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:300,1
    - Dst: tcmalloc_internal::HugeCache::usage
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:301,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: tcmalloc_internal::HugeCache::GetSubreleaseStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeCache::usage
    - tcmalloc_internal::HugeCache::size
    linkageType: ''
    returnType: StatsTrackerType::SubreleaseStats
    signature: StatsTrackerType::SubreleaseStats GetSubreleaseStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/arena.h:67,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/arena.h:67,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/arena.h:69,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/arena.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 116
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/arena.h
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - TC_ASSERT_GE
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/arena.h:67,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/arena.h:67,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/arena.h:69,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/arena.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 110
    functionName: tcmalloc_internal::Arena
    functionSourceFile: /src/tcmalloc/tcmalloc/arena.h
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - TC_ASSERT_GE
    linkageType: ''
    returnType: class ABSL_CACHELINE_ALIGNED
    signature: class ABSL_CACHELINE_ALIGNED Arena
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/arena.h:67,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/arena.h:67,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/arena.h:69,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/arena.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - allocated
    - nonresident
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: tcmalloc_internal::UpdateAllocatedAndNonresident
    functionSourceFile: /src/tcmalloc/tcmalloc/arena.h
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void UpdateAllocatedAndNonresident(int64_t allocated, int64_t nonresident)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: tcmalloc_internal::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ArenaStats
    signature: ArenaStats stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::Arena
    functionSourceFile: /src/tcmalloc/tcmalloc/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena(const Arena&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/arena.h:67,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/arena.h:67,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/arena.h:69,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/arena.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 110
    functionName: tcmalloc_internal::Arena
    functionSourceFile: /src/tcmalloc/tcmalloc/arena.h
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - TC_ASSERT_GE
    linkageType: ''
    returnType: class ABSL_CACHELINE_ALIGNED
    signature: class ABSL_CACHELINE_ALIGNED Arena
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/arena.h:67,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/arena.h:67,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/arena.h:69,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/arena.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - allocated
    - nonresident
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: tcmalloc_internal::UpdateAllocatedAndNonresident
    functionSourceFile: /src/tcmalloc/tcmalloc/arena.h
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void UpdateAllocatedAndNonresident(int64_t allocated, int64_t nonresident)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: tcmalloc_internal::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ArenaStats
    signature: ArenaStats stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::Arena
    functionSourceFile: /src/tcmalloc/tcmalloc/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena(const Arena&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/common.cc
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: tcmalloc_internal::TCMalloc_Internal_PossiblyCold
    functionSourceFile: /src/tcmalloc/tcmalloc/common.cc
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    linkageType: ''
    returnType: bool
    signature: bool TCMalloc_Internal_PossiblyCold(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: tcmalloc_internal::TCMalloc_Internal_PossiblyCold
    functionSourceFile: /src/tcmalloc/tcmalloc/common.cc
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    linkageType: ''
    returnType: bool
    signature: bool TCMalloc_Internal_PossiblyCold(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 24
    functionsReached:
    - reinterpret_cast<Span*>
    linkageType: ''
    returnType: Span
    signature: Span * span(intptr_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::sc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t sc(intptr_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:52,1
    - Dst: Map::Map
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::PageMapTest
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - Map::Map
    - memset
    linkageType: ''
    returnType: void
    signature: void PageMapTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:57,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:58,1
    - Dst: ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: ~PageMapTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - ptrs
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ~PageMapTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    linkageType: ''
    returnType: std::vector<void*>
    signature: std::vector<void*> * ptrs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:70,1
    - Dst: tcmalloc::tcmalloc_internal::PageMapTest::ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * alloc(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:84,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:87,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:92,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:93,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:93,1
    - Dst: std::pair<Span*, int>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:94,1
    - Dst: set_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:101,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:101,1
    - Dst: std::pair<Span*, int>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - set
    - get_existing_with_sizeclass
    - std::pair<Span*, int>
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - set_with_sizeclass
    - Ensure
    - tcmalloc::tcmalloc_internal::sc
    - sizeclass
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Sequential)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:107,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:109,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:111,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - set
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Bulk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:121,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:125,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:129,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:134,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - absl::BitGen
    - std::vector::push_back
    - set
    - std::vector::begin
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - std::vector::end
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, RandomAccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::PaddedPageMap
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PaddedPageMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:157,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - sysconf
    - EXPECT_EQ
    - mincore
    - std::vector::data
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TestMemoryFootprint, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 27
    functionsReached:
    - reinterpret_cast<Span*>
    linkageType: ''
    returnType: Span
    signature: Span * span(intptr_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::sc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t sc(intptr_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:52,1
    - Dst: Map::Map
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::PageMapTest
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - Map::Map
    - memset
    linkageType: ''
    returnType: void
    signature: void PageMapTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:57,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:58,1
    - Dst: ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: ~PageMapTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - ptrs
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ~PageMapTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 1
    functionsReached:
    - std::vector<void*>::vector<void*>
    linkageType: ''
    returnType: std::vector<void*>
    signature: std::vector<void*> * ptrs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:70,1
    - Dst: tcmalloc::tcmalloc_internal::PageMapTest::ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * alloc(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:84,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:87,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:92,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:93,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:93,1
    - Dst: std::pair<Span*, int>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:94,1
    - Dst: set_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:101,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:101,1
    - Dst: std::pair<Span*, int>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - set
    - get_existing_with_sizeclass
    - std::pair<Span*, int>
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - set_with_sizeclass
    - Ensure
    - tcmalloc::tcmalloc_internal::sc
    - sizeclass
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Sequential)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:107,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:109,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:111,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - set
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Bulk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:121,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:125,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:129,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:134,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - absl::BitGen
    - std::vector::push_back
    - set
    - std::vector::begin
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - std::vector::end
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, RandomAccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::PaddedPageMap
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PaddedPageMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:157,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - sysconf
    - EXPECT_EQ
    - mincore
    - std::vector::data
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TestMemoryFootprint, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 30
    functionsReached:
    - reinterpret_cast<Span*>
    linkageType: ''
    returnType: Span
    signature: Span * span(intptr_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::sc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t sc(intptr_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:52,1
    - Dst: Map::Map
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::PageMapTest
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - Map::Map
    - memset
    linkageType: ''
    returnType: void
    signature: void PageMapTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:57,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:58,1
    - Dst: ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: ~PageMapTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - ptrs
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ~PageMapTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 2
    functionsReached:
    - std::vector<void*>::vector<void*>
    linkageType: ''
    returnType: std::vector<void*>
    signature: std::vector<void*> * ptrs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:70,1
    - Dst: tcmalloc::tcmalloc_internal::PageMapTest::ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * alloc(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:84,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:87,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:92,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:93,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:93,1
    - Dst: std::pair<Span*, int>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:94,1
    - Dst: set_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:101,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:101,1
    - Dst: std::pair<Span*, int>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - set
    - get_existing_with_sizeclass
    - std::pair<Span*, int>
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - set_with_sizeclass
    - Ensure
    - tcmalloc::tcmalloc_internal::sc
    - sizeclass
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Sequential)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:107,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:109,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:111,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - set
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Bulk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:121,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:125,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:129,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:134,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - absl::BitGen
    - std::vector::push_back
    - set
    - std::vector::begin
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - std::vector::end
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, RandomAccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::PaddedPageMap
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PaddedPageMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:157,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - sysconf
    - EXPECT_EQ
    - mincore
    - std::vector::data
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TestMemoryFootprint, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 33
    functionsReached:
    - reinterpret_cast<Span*>
    linkageType: ''
    returnType: Span
    signature: Span * span(intptr_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::sc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t sc(intptr_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:52,1
    - Dst: Map::Map
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::PageMapTest
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - Map::Map
    - memset
    linkageType: ''
    returnType: void
    signature: void PageMapTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:57,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:58,1
    - Dst: ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: ~PageMapTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - ptrs
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ~PageMapTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 3
    functionsReached:
    - std::vector<void*>::vector<void*>
    linkageType: ''
    returnType: std::vector<void*>
    signature: std::vector<void*> * ptrs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:70,1
    - Dst: tcmalloc::tcmalloc_internal::PageMapTest::ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * alloc(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:84,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:87,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:92,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:93,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:93,1
    - Dst: std::pair<Span*, int>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:94,1
    - Dst: set_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:101,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:101,1
    - Dst: std::pair<Span*, int>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - set
    - get_existing_with_sizeclass
    - std::pair<Span*, int>
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - set_with_sizeclass
    - Ensure
    - tcmalloc::tcmalloc_internal::sc
    - sizeclass
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Sequential)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:107,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:109,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:111,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - set
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Bulk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:121,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:125,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:129,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:134,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - absl::BitGen
    - std::vector::push_back
    - set
    - std::vector::begin
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - std::vector::end
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, RandomAccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::PaddedPageMap
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PaddedPageMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:157,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - sysconf
    - EXPECT_EQ
    - mincore
    - std::vector::data
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TestMemoryFootprint, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 36
    functionsReached:
    - reinterpret_cast<Span*>
    linkageType: ''
    returnType: Span
    signature: Span * span(intptr_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::sc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t sc(intptr_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:52,1
    - Dst: Map::Map
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::PageMapTest
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - Map::Map
    - memset
    linkageType: ''
    returnType: void
    signature: void PageMapTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:57,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:58,1
    - Dst: ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: ~PageMapTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - ptrs
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ~PageMapTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 4
    functionsReached:
    - std::vector<void*>::vector<void*>
    linkageType: ''
    returnType: std::vector<void*>
    signature: std::vector<void*> * ptrs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:70,1
    - Dst: tcmalloc::tcmalloc_internal::PageMapTest::ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * alloc(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:84,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:87,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:92,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:93,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:93,1
    - Dst: std::pair<Span*, int>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:94,1
    - Dst: set_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:101,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:101,1
    - Dst: std::pair<Span*, int>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - set
    - get_existing_with_sizeclass
    - std::pair<Span*, int>
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - set_with_sizeclass
    - Ensure
    - tcmalloc::tcmalloc_internal::sc
    - sizeclass
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Sequential)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:107,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:109,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:111,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - set
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Bulk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:121,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:125,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:129,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:134,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - absl::BitGen
    - std::vector::push_back
    - set
    - std::vector::begin
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - std::vector::end
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, RandomAccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::PaddedPageMap
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PaddedPageMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:157,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - sysconf
    - EXPECT_EQ
    - mincore
    - std::vector::data
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TestMemoryFootprint, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 39
    functionsReached:
    - reinterpret_cast<Span*>
    linkageType: ''
    returnType: Span
    signature: Span * span(intptr_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::sc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t sc(intptr_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:52,1
    - Dst: Map::Map
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::PageMapTest
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - Map::Map
    - memset
    linkageType: ''
    returnType: void
    signature: void PageMapTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:57,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:58,1
    - Dst: ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: ~PageMapTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - ptrs
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ~PageMapTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 5
    functionsReached:
    - std::vector<void*>::vector<void*>
    linkageType: ''
    returnType: std::vector<void*>
    signature: std::vector<void*> * ptrs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:70,1
    - Dst: tcmalloc::tcmalloc_internal::PageMapTest::ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * alloc(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:84,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:87,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:92,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:93,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:93,1
    - Dst: std::pair<Span*, int>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:94,1
    - Dst: set_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:101,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:101,1
    - Dst: std::pair<Span*, int>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - set
    - get_existing_with_sizeclass
    - std::pair<Span*, int>
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - set_with_sizeclass
    - Ensure
    - tcmalloc::tcmalloc_internal::sc
    - sizeclass
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Sequential)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:107,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:109,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:111,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - set
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Bulk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:121,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:125,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:129,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:134,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - absl::BitGen
    - std::vector::push_back
    - set
    - std::vector::begin
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - std::vector::end
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, RandomAccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::PaddedPageMap
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PaddedPageMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:157,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - sysconf
    - EXPECT_EQ
    - mincore
    - std::vector::data
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TestMemoryFootprint, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 42
    functionsReached:
    - reinterpret_cast<Span*>
    linkageType: ''
    returnType: Span
    signature: Span * span(intptr_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::sc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t sc(intptr_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:52,1
    - Dst: Map::Map
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::PageMapTest
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - Map::Map
    - memset
    linkageType: ''
    returnType: void
    signature: void PageMapTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:57,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:58,1
    - Dst: ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: ~PageMapTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - ptrs
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ~PageMapTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 6
    functionsReached:
    - std::vector<void*>::vector<void*>
    linkageType: ''
    returnType: std::vector<void*>
    signature: std::vector<void*> * ptrs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:70,1
    - Dst: tcmalloc::tcmalloc_internal::PageMapTest::ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * alloc(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:84,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:87,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:92,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:93,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:93,1
    - Dst: std::pair<Span*, int>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:94,1
    - Dst: set_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:101,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:101,1
    - Dst: std::pair<Span*, int>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - set
    - get_existing_with_sizeclass
    - std::pair<Span*, int>
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - set_with_sizeclass
    - Ensure
    - tcmalloc::tcmalloc_internal::sc
    - sizeclass
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Sequential)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:107,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:109,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:111,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - set
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Bulk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:121,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:125,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:129,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:134,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - absl::BitGen
    - std::vector::push_back
    - set
    - std::vector::begin
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - std::vector::end
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, RandomAccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::PaddedPageMap
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PaddedPageMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:157,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - sysconf
    - EXPECT_EQ
    - mincore
    - std::vector::data
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TestMemoryFootprint, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 45
    functionsReached:
    - reinterpret_cast<Span*>
    linkageType: ''
    returnType: Span
    signature: Span * span(intptr_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::sc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t sc(intptr_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:52,1
    - Dst: Map::Map
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::PageMapTest
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - Map::Map
    - memset
    linkageType: ''
    returnType: void
    signature: void PageMapTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:57,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:58,1
    - Dst: ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: ~PageMapTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - ptrs
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ~PageMapTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 7
    functionsReached:
    - std::vector<void*>::vector<void*>
    linkageType: ''
    returnType: std::vector<void*>
    signature: std::vector<void*> * ptrs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:70,1
    - Dst: tcmalloc::tcmalloc_internal::PageMapTest::ptrs
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::PageMapTest::alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * alloc(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:84,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:87,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:89,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:92,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:93,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:93,1
    - Dst: std::pair<Span*, int>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:94,1
    - Dst: set_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:101,1
    - Dst: get_existing_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:101,1
    - Dst: std::pair<Span*, int>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::sc
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - set
    - get_existing_with_sizeclass
    - std::pair<Span*, int>
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - set_with_sizeclass
    - Ensure
    - tcmalloc::tcmalloc_internal::sc
    - sizeclass
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Sequential)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:107,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:109,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:111,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - set
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Bulk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:121,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, Overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:125,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:129,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:131,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:134,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - absl::BitGen
    - std::vector::push_back
    - set
    - std::vector::begin
    - tcmalloc::tcmalloc_internal::span
    - get
    - ASSERT_EQ
    - GetParam
    - std::vector::end
    - Ensure
    linkageType: ''
    returnType: void
    signature: void TEST_P(PageMapTest, RandomAccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::PaddedPageMap
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PaddedPageMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:157,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:165,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap_test.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap_test.cc
    functionUses: 0
    functionsReached:
    - sysconf
    - EXPECT_EQ
    - mincore
    - std::vector::data
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TestMemoryFootprint, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/common.h:192,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/common.h:196,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/common.h:209,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/common.h:209,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/common.h:247,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:247,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/common.h:251,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:251,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/common.h:263,1
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/common.h:264,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:273,1
    - Dst: PageHeapSpinLockHolder
      Src: /src/tcmalloc/tcmalloc/common.h:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 306
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - TC_ASSERT_NE
    - ABSL_PREDICT_FALSE
    - ASSUME
    - static_cast<size_t>
    - GetMemoryTag
    - tcmalloc_internal::max
    - __builtin_unreachable
    - PageHeapSpinLockHolder
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: tcmalloc_internal::ColdFeatureActive
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ColdFeatureActive()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: tcmalloc_internal::IsExpandedSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsExpandedSizeClass(unsigned size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/common.h:247,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:247,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/common.h:251,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionName: tcmalloc_internal::AccessFromPointer
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - GetMemoryTag
    - TC_ASSERT_NE
    linkageType: ''
    returnType: AllocationAccess
    signature: AllocationAccess AccessFromPointer(void* ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/common.h:263,1
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/common.h:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - numa_partition
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: tcmalloc_internal::NumaNormalTag
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - __builtin_unreachable
    linkageType: ''
    returnType: MemoryTag
    signature: MemoryTag NumaNormalTag(size_t numa_partition)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: tcmalloc_internal::NumaPartitionFromPointer
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    linkageType: ''
    returnType: size_t
    signature: size_t NumaPartitionFromPointer(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageHeapSpinLockHolder
      Src: /src/tcmalloc/tcmalloc/common.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: tcmalloc_internal::PageHeapSpinLockHolder
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageHeapSpinLockHolder
    linkageType: ''
    returnType: class ABSL_SCOPED_LOCKABLE
    signature: class ABSL_SCOPED_LOCKABLE PageHeapSpinLockHolder
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: tcmalloc_internal::ABSL_EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCK_FUNCTION(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::ABSL_UNLOCK_FUNCTION
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_UNLOCK_FUNCTION()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 303
    functionName: tcmalloc_internal::safe_div
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double safe_div(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: tcmalloc_internal::ColdFeatureActive
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ColdFeatureActive()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: tcmalloc_internal::IsExpandedSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsExpandedSizeClass(unsigned size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/common.h:247,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:247,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/common.h:251,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionName: tcmalloc_internal::AccessFromPointer
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - GetMemoryTag
    - TC_ASSERT_NE
    linkageType: ''
    returnType: AllocationAccess
    signature: AllocationAccess AccessFromPointer(void* ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/common.h:263,1
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/common.h:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - numa_partition
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: tcmalloc_internal::NumaNormalTag
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - __builtin_unreachable
    linkageType: ''
    returnType: MemoryTag
    signature: MemoryTag NumaNormalTag(size_t numa_partition)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: tcmalloc_internal::NumaPartitionFromPointer
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    linkageType: ''
    returnType: size_t
    signature: size_t NumaPartitionFromPointer(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageHeapSpinLockHolder
      Src: /src/tcmalloc/tcmalloc/common.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: tcmalloc_internal::PageHeapSpinLockHolder
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::PageHeapSpinLockHolder
    linkageType: ''
    returnType: class ABSL_SCOPED_LOCKABLE
    signature: class ABSL_SCOPED_LOCKABLE PageHeapSpinLockHolder
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: tcmalloc_internal::ABSL_EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCK_FUNCTION(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::ABSL_UNLOCK_FUNCTION
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_UNLOCK_FUNCTION()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 303
    functionName: tcmalloc_internal::safe_div
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double safe_div(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::ActivateGuardedSampling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::ActivateGuardedSampling
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:49,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:53,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:55,1
    - Dst: evaluate_alloc
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:56,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - size
    - evaluate_alloc
    argTypes:
    - size_t
    - absl::FunctionRef<NextSteps(void*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - ::operator delete
    - evaluate_alloc
    - ::operator new
    linkageType: ''
    returnType: int
    signature: "int AllocateUntil(size_t size,\n                    absl::FunctionRef<NextSteps(void*)>
      evaluate_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:71,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:71,1
    - Dst: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - evaluate_alloc
    argTypes:
    - size_t
    - absl::FunctionRef<NextSteps(void*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateGuardableUntil
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
    - guardedpage_allocator
    - CHECK_LE
    linkageType: ''
    returnType: int
    signature: "int AllocateGuardableUntil(\n      size_t size, absl::FunctionRef<NextSteps(void*)>
      evaluate_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:79,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:80,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntilGuarded
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - guardedpage_allocator
    - IsNormalMemory
    - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateGuardableUntil
    linkageType: ''
    returnType: void
    signature: void AllocateUntilGuarded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:92,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:94,1
    - Dst: verify
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:97,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' profile'
    - sought_status
    argTypes:
    - Profile
    - Profile::Sample::GuardedStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::ExamineSamples
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - verify
    - tcmalloc_internal::StackTraceFilter::Contains
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - Iterate
    linkageType: ''
    returnType: void
    signature: "void ExamineSamples(\n      Profile& profile, Profile::Sample::GuardedStatus
      sought_status,\n      absl::FunctionRef<void(const Profile::Sample& s)> verify
      =\n          [](const Profile::Sample& s) { /* do nothing */ })"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:105,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:106,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:108,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:111,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Guarded)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:117,1
    - Dst: AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:120,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:123,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:124,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - AllocateUntil
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NotAttempted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:138,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:139,1
    - Dst: AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:142,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:145,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:146,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - AllocateUntilGuarded
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - AllocateUntil
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, LargerThanOnePage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:161,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:163,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:166,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - std::move
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Disabled)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:174,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:180,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:181,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:183,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:196,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:197,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:211,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - AllocateGuardableUntil
    - guardedpage_allocator
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, RateLimited)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:218,1
    - Dst: tcmalloc::MallocExtension::GetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:218,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:219,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:220,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:224,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:225,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:227,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:233,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - EXPECT_NE
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ASSERT_EQ
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NeverRateLimited)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:244,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:245,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:247,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:250,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:256,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:257,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:260,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:261,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:262,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:264,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ::operator delete
    - ASSERT_EQ
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAllocSizeReturningNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:270,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:271,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:273,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:274,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:275,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:276,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:278,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - auto::Iterate
    - ::operator delete
    - ASSERT_EQ
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAllocDeallocProfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:284,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:288,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:289,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:290,1
    - Dst: static_cast<void (*)(void*)>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:291,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:292,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:298,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:300,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:301,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:304,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 306
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - std::vector::emplace_back
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - static_cast<void (*)(void*)>
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NoAvailableSlots)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:310,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:313,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:315,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:317,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 321
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - EXPECT_EQ
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ASSERT_EQ
    - std::move
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NeverSample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:324,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:326,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:327,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:331,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Filtered)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:338,1
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:339,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:341,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:346,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:347,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:348,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:356,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:358,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 360
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_GT
    - std::move
    - ExamineSamples
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, FilteredWithRateLimiting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:364,1
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:366,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:369,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:371,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:372,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:378,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 381
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, DynamicParamChange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:105,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:106,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:108,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:111,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Guarded)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:117,1
    - Dst: AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:120,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:123,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:124,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - AllocateUntil
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NotAttempted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:138,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:139,1
    - Dst: AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:142,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:145,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:146,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - AllocateUntilGuarded
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - AllocateUntil
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, LargerThanOnePage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:161,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:163,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:166,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - std::move
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Disabled)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:174,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:180,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:181,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:183,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:196,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:197,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:211,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - AllocateGuardableUntil
    - guardedpage_allocator
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, RateLimited)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:218,1
    - Dst: tcmalloc::MallocExtension::GetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:218,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:219,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:220,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:224,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:225,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:227,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:233,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - EXPECT_NE
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ASSERT_EQ
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NeverRateLimited)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:244,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:245,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:247,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:250,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:256,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:257,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:260,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:261,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:262,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:264,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ::operator delete
    - ASSERT_EQ
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAllocSizeReturningNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:270,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:271,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:273,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:274,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:275,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:276,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:278,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - auto::Iterate
    - ::operator delete
    - ASSERT_EQ
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAllocDeallocProfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:284,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:288,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:289,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:290,1
    - Dst: static_cast<void (*)(void*)>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:291,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:292,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:298,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:300,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:301,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:304,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 306
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - std::vector::emplace_back
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - static_cast<void (*)(void*)>
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NoAvailableSlots)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:310,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:313,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:315,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:317,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 321
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - EXPECT_EQ
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ASSERT_EQ
    - std::move
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NeverSample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:324,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:326,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:327,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:331,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Filtered)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:338,1
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:339,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:341,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:346,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:347,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:348,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:356,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:358,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 360
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_GT
    - std::move
    - ExamineSamples
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, FilteredWithRateLimiting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:364,1
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:366,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:369,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:371,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:372,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:378,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 381
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, DynamicParamChange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::ActivateGuardedSampling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::ActivateGuardedSampling
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:49,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:53,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:55,1
    - Dst: evaluate_alloc
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:56,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - size
    - evaluate_alloc
    argTypes:
    - size_t
    - absl::FunctionRef<NextSteps(void*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 1
    functionsReached:
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - ::operator delete
    - evaluate_alloc
    - ::operator new
    linkageType: ''
    returnType: int
    signature: "int AllocateUntil(size_t size,\n                    absl::FunctionRef<NextSteps(void*)>
      evaluate_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:71,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:71,1
    - Dst: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - evaluate_alloc
    argTypes:
    - size_t
    - absl::FunctionRef<NextSteps(void*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateGuardableUntil
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
    - guardedpage_allocator
    - CHECK_LE
    linkageType: ''
    returnType: int
    signature: "int AllocateGuardableUntil(\n      size_t size, absl::FunctionRef<NextSteps(void*)>
      evaluate_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:79,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:80,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntilGuarded
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - guardedpage_allocator
    - IsNormalMemory
    - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateGuardableUntil
    linkageType: ''
    returnType: void
    signature: void AllocateUntilGuarded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:92,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:94,1
    - Dst: verify
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:97,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' profile'
    - sought_status
    argTypes:
    - Profile
    - Profile::Sample::GuardedStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::ExamineSamples
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - verify
    - tcmalloc_internal::StackTraceFilter::Contains
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - Iterate
    linkageType: ''
    returnType: void
    signature: "void ExamineSamples(\n      Profile& profile, Profile::Sample::GuardedStatus
      sought_status,\n      absl::FunctionRef<void(const Profile::Sample& s)> verify
      =\n          [](const Profile::Sample& s) { /* do nothing */ })"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:105,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:106,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:108,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:111,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Guarded)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:117,1
    - Dst: AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:120,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:123,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:124,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - AllocateUntil
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NotAttempted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:138,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:139,1
    - Dst: AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:142,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:145,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:146,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - AllocateUntilGuarded
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - AllocateUntil
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, LargerThanOnePage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:161,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:163,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:166,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - std::move
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Disabled)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:174,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:180,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:181,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:183,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:196,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:197,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:211,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - AllocateGuardableUntil
    - guardedpage_allocator
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, RateLimited)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:218,1
    - Dst: tcmalloc::MallocExtension::GetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:218,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:219,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:220,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:224,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:225,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:227,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:233,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - EXPECT_NE
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ASSERT_EQ
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NeverRateLimited)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:244,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:245,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:247,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:250,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:256,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:257,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:260,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:261,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:262,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:264,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ::operator delete
    - ASSERT_EQ
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAllocSizeReturningNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:270,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:271,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:273,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:274,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:275,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:276,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:278,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - auto::Iterate
    - ::operator delete
    - ASSERT_EQ
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAllocDeallocProfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:284,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:288,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:289,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:290,1
    - Dst: static_cast<void (*)(void*)>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:291,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:292,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:298,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:300,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:301,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:304,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 306
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - std::vector::emplace_back
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - static_cast<void (*)(void*)>
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NoAvailableSlots)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:310,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:313,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:315,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:317,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 321
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - EXPECT_EQ
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ASSERT_EQ
    - std::move
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NeverSample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:324,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:326,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:327,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:331,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Filtered)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:338,1
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:339,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:341,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:346,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:347,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:348,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:356,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:358,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 360
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_GT
    - std::move
    - ExamineSamples
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, FilteredWithRateLimiting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:364,1
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:366,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:369,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:371,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:372,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:378,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 381
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, DynamicParamChange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:105,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:106,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:108,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:111,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Guarded)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:117,1
    - Dst: AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:120,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:123,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:124,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - AllocateUntil
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NotAttempted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:138,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:139,1
    - Dst: AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:142,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:145,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:146,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - AllocateUntilGuarded
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - AllocateUntil
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, LargerThanOnePage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:161,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:163,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:166,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - std::move
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Disabled)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:174,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:180,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:181,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:183,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:196,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:197,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:211,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - AllocateGuardableUntil
    - guardedpage_allocator
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, RateLimited)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:218,1
    - Dst: tcmalloc::MallocExtension::GetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:218,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:219,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:220,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:224,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:225,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:227,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:233,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - EXPECT_NE
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ASSERT_EQ
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NeverRateLimited)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:244,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:245,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:247,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:250,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:256,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:257,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:260,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:261,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:262,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:264,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ::operator delete
    - ASSERT_EQ
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAllocSizeReturningNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:270,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:271,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:273,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:274,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:275,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:276,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:278,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - auto::Iterate
    - ::operator delete
    - ASSERT_EQ
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAllocDeallocProfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:284,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:288,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:289,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:290,1
    - Dst: static_cast<void (*)(void*)>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:291,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:292,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:298,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:300,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:301,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:304,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 306
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - std::vector::emplace_back
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - static_cast<void (*)(void*)>
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NoAvailableSlots)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:310,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:313,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:315,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:317,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 321
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - EXPECT_EQ
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ASSERT_EQ
    - std::move
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NeverSample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:324,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:326,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:327,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:331,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Filtered)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:338,1
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:339,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:341,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:346,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:347,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:348,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:356,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:358,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 360
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_GT
    - std::move
    - ExamineSamples
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, FilteredWithRateLimiting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:364,1
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:366,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:369,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:371,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:372,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:378,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 381
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, DynamicParamChange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::ActivateGuardedSampling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::ActivateGuardedSampling
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:49,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:53,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:55,1
    - Dst: evaluate_alloc
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:56,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - size
    - evaluate_alloc
    argTypes:
    - size_t
    - absl::FunctionRef<NextSteps(void*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 2
    functionsReached:
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - ::operator delete
    - evaluate_alloc
    - ::operator new
    linkageType: ''
    returnType: int
    signature: "int AllocateUntil(size_t size,\n                    absl::FunctionRef<NextSteps(void*)>
      evaluate_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:71,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:71,1
    - Dst: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - evaluate_alloc
    argTypes:
    - size_t
    - absl::FunctionRef<NextSteps(void*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateGuardableUntil
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
    - guardedpage_allocator
    - CHECK_LE
    linkageType: ''
    returnType: int
    signature: "int AllocateGuardableUntil(\n      size_t size, absl::FunctionRef<NextSteps(void*)>
      evaluate_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:79,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:80,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntilGuarded
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - guardedpage_allocator
    - IsNormalMemory
    - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateGuardableUntil
    linkageType: ''
    returnType: void
    signature: void AllocateUntilGuarded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:92,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:94,1
    - Dst: verify
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:97,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' profile'
    - sought_status
    argTypes:
    - Profile
    - Profile::Sample::GuardedStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::ExamineSamples
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - verify
    - tcmalloc_internal::StackTraceFilter::Contains
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - Iterate
    linkageType: ''
    returnType: void
    signature: "void ExamineSamples(\n      Profile& profile, Profile::Sample::GuardedStatus
      sought_status,\n      absl::FunctionRef<void(const Profile::Sample& s)> verify
      =\n          [](const Profile::Sample& s) { /* do nothing */ })"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:105,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:106,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:108,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:111,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Guarded)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:117,1
    - Dst: AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:120,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:123,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:124,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - AllocateUntil
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NotAttempted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:138,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:139,1
    - Dst: AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:142,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:145,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:146,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - AllocateUntilGuarded
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - AllocateUntil
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, LargerThanOnePage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:161,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:163,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:166,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - std::move
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Disabled)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:174,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:180,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:181,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:183,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:196,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:197,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:211,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - AllocateGuardableUntil
    - guardedpage_allocator
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, RateLimited)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:218,1
    - Dst: tcmalloc::MallocExtension::GetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:218,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:219,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:220,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:224,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:225,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:227,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:233,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - EXPECT_NE
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ASSERT_EQ
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NeverRateLimited)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:244,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:245,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:247,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:250,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:256,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:257,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:260,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:261,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:262,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:264,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ::operator delete
    - ASSERT_EQ
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAllocSizeReturningNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:270,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:271,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:273,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:274,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:275,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:276,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:278,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - auto::Iterate
    - ::operator delete
    - ASSERT_EQ
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAllocDeallocProfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:284,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:288,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:289,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:290,1
    - Dst: static_cast<void (*)(void*)>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:291,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:292,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:298,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:300,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:301,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:304,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 306
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - std::vector::emplace_back
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - static_cast<void (*)(void*)>
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NoAvailableSlots)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:310,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:313,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:315,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:317,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 321
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - EXPECT_EQ
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ASSERT_EQ
    - std::move
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NeverSample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:324,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:326,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:327,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:331,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Filtered)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:338,1
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:339,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:341,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:346,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:347,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:348,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:356,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:358,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 360
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_GT
    - std::move
    - ExamineSamples
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, FilteredWithRateLimiting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:364,1
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:366,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:369,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:371,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:372,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:378,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 381
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, DynamicParamChange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:105,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:106,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:108,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:111,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Guarded)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:117,1
    - Dst: AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:120,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:123,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:124,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - AllocateUntil
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NotAttempted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:138,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:139,1
    - Dst: AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:142,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:145,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:146,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - AllocateUntilGuarded
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - AllocateUntil
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, LargerThanOnePage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:161,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:163,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:166,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - std::move
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Disabled)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:174,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:180,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:181,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:183,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:196,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:197,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:211,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - AllocateGuardableUntil
    - guardedpage_allocator
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, RateLimited)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:218,1
    - Dst: tcmalloc::MallocExtension::GetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:218,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:219,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:220,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:224,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:225,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:227,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:233,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - EXPECT_NE
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ASSERT_EQ
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NeverRateLimited)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:244,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:245,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:247,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:250,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:256,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:257,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:260,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:261,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:262,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:264,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ::operator delete
    - ASSERT_EQ
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAllocSizeReturningNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:270,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:271,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:273,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:274,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:275,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:276,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:278,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - auto::Iterate
    - ::operator delete
    - ASSERT_EQ
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAllocDeallocProfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:284,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:288,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:289,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:290,1
    - Dst: static_cast<void (*)(void*)>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:291,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:292,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:298,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:300,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:301,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:304,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 306
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - std::vector::emplace_back
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - static_cast<void (*)(void*)>
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NoAvailableSlots)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:310,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:313,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:315,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:317,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 321
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - EXPECT_EQ
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ASSERT_EQ
    - std::move
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NeverSample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:324,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:326,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:327,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:331,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Filtered)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:338,1
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:339,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:341,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:346,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:347,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:348,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:356,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:358,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 360
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_GT
    - std::move
    - ExamineSamples
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, FilteredWithRateLimiting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:364,1
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:366,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:369,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:371,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:372,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:378,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 381
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, DynamicParamChange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::ActivateGuardedSampling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::ActivateGuardedSampling
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:49,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:53,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:55,1
    - Dst: evaluate_alloc
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:56,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - size
    - evaluate_alloc
    argTypes:
    - size_t
    - absl::FunctionRef<NextSteps(void*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 3
    functionsReached:
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - ::operator delete
    - evaluate_alloc
    - ::operator new
    linkageType: ''
    returnType: int
    signature: "int AllocateUntil(size_t size,\n                    absl::FunctionRef<NextSteps(void*)>
      evaluate_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:71,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:71,1
    - Dst: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - evaluate_alloc
    argTypes:
    - size_t
    - absl::FunctionRef<NextSteps(void*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateGuardableUntil
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
    - guardedpage_allocator
    - CHECK_LE
    linkageType: ''
    returnType: int
    signature: "int AllocateGuardableUntil(\n      size_t size, absl::FunctionRef<NextSteps(void*)>
      evaluate_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:79,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:80,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntilGuarded
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - guardedpage_allocator
    - IsNormalMemory
    - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateGuardableUntil
    linkageType: ''
    returnType: void
    signature: void AllocateUntilGuarded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:92,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:94,1
    - Dst: verify
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:97,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' profile'
    - sought_status
    argTypes:
    - Profile
    - Profile::Sample::GuardedStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::ExamineSamples
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - verify
    - tcmalloc_internal::StackTraceFilter::Contains
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - Iterate
    linkageType: ''
    returnType: void
    signature: "void ExamineSamples(\n      Profile& profile, Profile::Sample::GuardedStatus
      sought_status,\n      absl::FunctionRef<void(const Profile::Sample& s)> verify
      =\n          [](const Profile::Sample& s) { /* do nothing */ })"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:105,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:106,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:108,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:111,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Guarded)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:117,1
    - Dst: AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:120,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:123,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:124,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - AllocateUntil
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NotAttempted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:138,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:139,1
    - Dst: AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:142,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:145,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:146,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - AllocateUntilGuarded
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - AllocateUntil
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, LargerThanOnePage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:161,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:163,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:166,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - std::move
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Disabled)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:174,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:180,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:181,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:183,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:196,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:197,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:211,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - AllocateGuardableUntil
    - guardedpage_allocator
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, RateLimited)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:218,1
    - Dst: tcmalloc::MallocExtension::GetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:218,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:219,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:220,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:224,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:225,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:227,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:233,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - EXPECT_NE
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ASSERT_EQ
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NeverRateLimited)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:244,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:245,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:247,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:250,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:256,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:257,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:260,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:261,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:262,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:264,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ::operator delete
    - ASSERT_EQ
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAllocSizeReturningNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:270,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:271,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:273,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:274,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:275,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:276,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:278,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - auto::Iterate
    - ::operator delete
    - ASSERT_EQ
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAllocDeallocProfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:284,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:288,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:289,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:290,1
    - Dst: static_cast<void (*)(void*)>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:291,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:292,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:298,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:300,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:301,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:304,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 306
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - std::vector::emplace_back
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - static_cast<void (*)(void*)>
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NoAvailableSlots)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:310,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:313,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:315,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:317,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 321
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - EXPECT_EQ
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ASSERT_EQ
    - std::move
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NeverSample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:324,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:326,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:327,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:331,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Filtered)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:338,1
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:339,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:341,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:346,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:347,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:348,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:356,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:358,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 360
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_GT
    - std::move
    - ExamineSamples
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, FilteredWithRateLimiting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:364,1
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:366,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:369,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:371,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:372,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:378,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 381
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, DynamicParamChange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:105,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:106,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:108,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:111,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Guarded)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:117,1
    - Dst: AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:120,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:123,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:124,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - AllocateUntil
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NotAttempted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:138,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:139,1
    - Dst: AllocateUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:142,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:145,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:146,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - AllocateUntilGuarded
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - AllocateUntil
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, LargerThanOnePage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:161,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:163,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:166,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - std::move
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Disabled)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:174,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:180,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:181,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:183,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:196,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:197,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:211,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - AllocateGuardableUntil
    - guardedpage_allocator
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, RateLimited)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:218,1
    - Dst: tcmalloc::MallocExtension::GetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:218,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:219,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:220,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:224,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:225,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:227,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:233,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - EXPECT_NE
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ASSERT_EQ
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NeverRateLimited)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:244,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:245,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:247,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:250,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:256,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:257,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:260,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:261,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:262,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:264,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ::operator delete
    - ASSERT_EQ
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAllocSizeReturningNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:270,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:271,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:273,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:274,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:275,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:276,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:278,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - auto::Iterate
    - ::operator delete
    - ASSERT_EQ
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, ZeroSizedAllocDeallocProfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:284,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:288,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:289,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:290,1
    - Dst: static_cast<void (*)(void*)>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:291,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:292,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:298,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:300,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:301,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:304,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 306
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - std::vector::emplace_back
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - static_cast<void (*)(void*)>
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NoAvailableSlots)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:310,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:313,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:315,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:317,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 321
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - EXPECT_EQ
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ASSERT_EQ
    - std::move
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, NeverSample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:324,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:326,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:327,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:331,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, Filtered)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:338,1
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:339,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:341,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:346,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:347,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:348,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:356,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:358,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 360
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_GT
    - std::move
    - ExamineSamples
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, FilteredWithRateLimiting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:364,1
    - Dst: AllocateUntilGuarded
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:366,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:369,1
    - Dst: AllocateGuardableUntil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:371,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:372,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:378,1
    - Dst: ExamineSamples
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 381
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    functionUses: 0
    functionsReached:
    - AllocateUntilGuarded
    - AllocateGuardableUntil
    - guardedpage_allocator
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::move
    - ExamineSamples
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, DynamicParamChange)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Static::size_class_configuration
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:40,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:51,1
    - Dst: CurrentClasses
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:56,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:58,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:63,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:68,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:74,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:79,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:84,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:85,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:86,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:94,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:98,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:104,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:106,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:110,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:114,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:117,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:119,1
    - Dst: tcmalloc_internal::Span::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:122,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:123,1
    - Dst: tcmalloc_internal::Span::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:127,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:128,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:133,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:137,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:146,1
    - Dst: ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:147,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:172,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:174,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:176,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:186,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:189,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:205,1
    - Dst: IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:209,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:218,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:228,1
    - Dst: ClassIndex
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:228,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:229,1
    - Dst: ClassIndex
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:229,1
    - Dst: SetSizeClasses
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:232,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:241,1
    - Dst: ClassIndex
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:242,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:244,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:250,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:254,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:260,1
    - Dst: tcmalloc_internal::Span::IsNonIntrusive
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:265,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:266,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:270,1
    - Dst: tcmalloc_internal::Span::IsNonIntrusive
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:270,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:276,1
    - Dst: ClassIndex
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:277,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:279,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 168
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 288
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 0
    functionsReached:
    - empty
    - Length
    - CurrentClasses
    - TC_CHECK_LT
    - std::copy
    - tcmalloc_internal::Static::size_class_configuration
    - memset
    - ColdFeatureActive
    - size
    - ClassIndex
    - fprintf
    - tcmalloc_internal::Span::IsNonIntrusive
    - tcmalloc_internal::Span::IsValidSizeClass
    - TC_CHECK_EQ
    - ValidSizeClasses
    - TC_CHECK
    - TC_BUG
    - static_cast<size_t>
    - TC_LOG
    - SetSizeClasses
    - IsValidSizeClass
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Static::size_class_configuration
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:40,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: '& SizeMap::CurrentClasses()'
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 0
    functionsReached:
    - TC_BUG
    - tcmalloc_internal::Static::size_class_configuration
    linkageType: ''
    returnType: SizeClasses
    signature: SizeClasses & SizeMap::CurrentClasses()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CurrentClasses
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:56,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:58,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:63,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:68,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:74,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:79,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:84,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:85,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 89
    functionName: tcmalloc_internal::SizeMap::CheckAssumptions
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 8
    functionsReached:
    - fprintf
    - CurrentClasses
    linkageType: ''
    returnType: bool
    signature: bool SizeMap::CheckAssumptions()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:94,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:98,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:104,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:106,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:110,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:114,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:117,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:119,1
    - Dst: tcmalloc_internal::Span::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:122,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:123,1
    - Dst: tcmalloc_internal::Span::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:127,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:128,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:133,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - size
    - pages
    - num_objects_to_move
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::SizeMap::IsValidSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 11
    functionsReached:
    - TC_LOG
    - tcmalloc_internal::Span::IsValidSizeClass
    - static_cast<size_t>
    - Length
    linkageType: ''
    returnType: bool
    signature: "bool SizeMap::IsValidSizeClass(size_t size, size_t pages,\n                               size_t
      num_objects_to_move)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<const SizeClassInfo>::size
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:146,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:147,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:172,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:174,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - size_classes
    argTypes:
    - absl::Span<const SizeClassInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 181
    functionName: tcmalloc_internal::SizeMap::SetSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    - std::copy
    - absl::Span<const SizeClassInfo>::size
    linkageType: ''
    returnType: bool
    signature: bool SizeMap::SetSizeClasses(absl::Span<const SizeClassInfo> size_classes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<const SizeClassInfo>::empty
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:186,1
    - Dst: absl::Span<const SizeClassInfo>::size
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:189,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:205,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:209,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:218,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - size_classes
    argTypes:
    - absl::Span<const SizeClassInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 223
    functionName: tcmalloc_internal::SizeMap::ValidSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 41
    functionsReached:
    - TC_LOG
    - absl::Span<const SizeClassInfo>::empty
    - absl::Span<const SizeClassInfo>::size
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: bool
    signature: bool SizeMap::ValidSizeClasses(absl::Span<const SizeClassInfo> size_classes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:228,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndex
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:228,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:229,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndex
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:229,1
    - Dst: tcmalloc_internal::SizeMap::SetSizeClasses
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:232,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:241,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndex
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:242,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:244,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:250,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:254,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:260,1
    - Dst: tcmalloc_internal::Span::IsNonIntrusive
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:265,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:266,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:270,1
    - Dst: tcmalloc_internal::Span::IsNonIntrusive
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:270,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:276,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndex
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:277,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:279,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - size_classes
    argTypes:
    - absl::Span<const SizeClassInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 285
    functionName: tcmalloc_internal::SizeMap::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SizeMap::ClassIndex
    - ColdFeatureActive
    - static_cast<size_t>
    - TC_CHECK_LT
    - TC_CHECK_EQ
    - std::copy
    - memset
    - tcmalloc_internal::SizeMap::SetSizeClasses
    - TC_CHECK
    - tcmalloc_internal::Span::IsNonIntrusive
    linkageType: ''
    returnType: bool
    signature: bool SizeMap::Init(absl::Span<const SizeClassInfo> size_classes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Static::size_class_configuration
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:40,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: '& SizeMap::CurrentClasses()'
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 0
    functionsReached:
    - TC_BUG
    - tcmalloc_internal::Static::size_class_configuration
    linkageType: ''
    returnType: SizeClasses
    signature: SizeClasses & SizeMap::CurrentClasses()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CurrentClasses
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:56,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:58,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:63,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:68,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:74,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:79,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:84,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:85,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 89
    functionName: tcmalloc_internal::SizeMap::CheckAssumptions
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 8
    functionsReached:
    - fprintf
    - CurrentClasses
    linkageType: ''
    returnType: bool
    signature: bool SizeMap::CheckAssumptions()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:94,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:98,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:104,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:106,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:110,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:114,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:117,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:119,1
    - Dst: tcmalloc_internal::Span::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:122,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:123,1
    - Dst: tcmalloc_internal::Span::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:127,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:128,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:133,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - size
    - pages
    - num_objects_to_move
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::SizeMap::IsValidSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 12
    functionsReached:
    - TC_LOG
    - tcmalloc_internal::Span::IsValidSizeClass
    - static_cast<size_t>
    - Length
    linkageType: ''
    returnType: bool
    signature: "bool SizeMap::IsValidSizeClass(size_t size, size_t pages,\n                               size_t
      num_objects_to_move)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<const SizeClassInfo>::size
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:146,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:147,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:172,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:174,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - size_classes
    argTypes:
    - absl::Span<const SizeClassInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 181
    functionName: tcmalloc_internal::SizeMap::SetSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    - std::copy
    - absl::Span<const SizeClassInfo>::size
    linkageType: ''
    returnType: bool
    signature: bool SizeMap::SetSizeClasses(absl::Span<const SizeClassInfo> size_classes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<const SizeClassInfo>::empty
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:186,1
    - Dst: absl::Span<const SizeClassInfo>::size
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:189,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:205,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:209,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:218,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - size_classes
    argTypes:
    - absl::Span<const SizeClassInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 223
    functionName: tcmalloc_internal::SizeMap::ValidSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 42
    functionsReached:
    - TC_LOG
    - absl::Span<const SizeClassInfo>::empty
    - absl::Span<const SizeClassInfo>::size
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: bool
    signature: bool SizeMap::ValidSizeClasses(absl::Span<const SizeClassInfo> size_classes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:228,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndex
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:228,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:229,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndex
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:229,1
    - Dst: tcmalloc_internal::SizeMap::SetSizeClasses
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:232,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:241,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndex
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:242,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:244,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:250,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:254,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:260,1
    - Dst: tcmalloc_internal::Span::IsNonIntrusive
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:265,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:266,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:270,1
    - Dst: tcmalloc_internal::Span::IsNonIntrusive
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:270,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:276,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndex
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:277,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:279,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - size_classes
    argTypes:
    - absl::Span<const SizeClassInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 285
    functionName: tcmalloc_internal::SizeMap::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SizeMap::ClassIndex
    - ColdFeatureActive
    - static_cast<size_t>
    - TC_CHECK_LT
    - TC_CHECK_EQ
    - std::copy
    - memset
    - tcmalloc_internal::SizeMap::SetSizeClasses
    - TC_CHECK
    - tcmalloc_internal::Span::IsNonIntrusive
    linkageType: ''
    returnType: bool
    signature: bool SizeMap::Init(absl::Span<const SizeClassInfo> size_classes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:66,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:67,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:69,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:70,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:79,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:80,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:81,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:83,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:91,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:93,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 104
    functionName: namespace tcmalloc::tcmalloc_internal::system_allocator_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - GetPageSize
    - TC_CHECK_NE
    - mmap
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - absl::base_internal::LowLevelCallOnce
    - munmap
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal::system_allocator_internal
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:66,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:67,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:69,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:70,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:79,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:80,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:81,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:83,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:91,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:93,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/system-alloc.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 102
    functionName: MapFixedNoReplaceFlagAvailable
    functionSourceFile: /src/tcmalloc/tcmalloc/system-alloc.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - GetPageSize
    - TC_CHECK_NE
    - mmap
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - absl::base_internal::LowLevelCallOnce
    - munmap
    linkageType: ''
    returnType: int
    signature: int MapFixedNoReplaceFlagAvailable()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/arena.cc:35,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/arena.cc:36,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena.cc:41,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/arena.cc:48,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/arena.cc:52,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/arena.cc:53,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/arena.cc:54,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/arena.cc:55,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/arena.cc:61,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/arena.cc:71,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena.cc:71,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/arena.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 80
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/arena.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - ABSL_PREDICT_FALSE
    - TC_BUG
    - static_cast<size_t>
    - TC_ASSERT_GT
    - reinterpret_cast<char*>
    - reinterpret_cast<uintptr_t>
    - Allocate
    - TC_ASSERT_EQ
    - reinterpret_cast<void*>
    - Back
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/arena.cc:35,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/arena.cc:36,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena.cc:41,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/arena.cc:48,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/arena.cc:52,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/arena.cc:53,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/arena.cc:54,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/arena.cc:55,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/arena.cc:61,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/arena.cc:71,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena.cc:71,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/arena.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::Arena::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/arena.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - ABSL_PREDICT_FALSE
    - TC_BUG
    - static_cast<size_t>
    - TC_ASSERT_GT
    - reinterpret_cast<char*>
    - reinterpret_cast<uintptr_t>
    - Allocate
    - TC_ASSERT_EQ
    - reinterpret_cast<void*>
    - Back
    linkageType: ''
    returnType: void
    signature: void * Arena::Alloc(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/arena.cc:35,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/arena.cc:36,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena.cc:41,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/arena.cc:48,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/arena.cc:52,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/arena.cc:53,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/arena.cc:54,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/arena.cc:55,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/arena.cc:61,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/arena.cc:71,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/arena.cc:71,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/arena.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::Arena::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/arena.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - ABSL_PREDICT_FALSE
    - TC_BUG
    - static_cast<size_t>
    - TC_ASSERT_GT
    - reinterpret_cast<char*>
    - reinterpret_cast<uintptr_t>
    - Allocate
    - TC_ASSERT_EQ
    - reinterpret_cast<void*>
    - Back
    linkageType: ''
    returnType: void
    signature: void * Arena::Alloc(size_t bytes, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesRequested
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugePagesRequested()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugePagesReceived()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:49,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:50,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:51,1
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugeAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - backing_::resize
    - GetParam
    linkageType: ''
    returnType: void
    signature: void HugeAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~HugeAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - backing_::clear
    linkageType: ''
    returnType: void
    signature: void ~HugeAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugePage::index
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HugePage::index
    linkageType: ''
    returnType: size_t
    signature: size_t * GetActual(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:66,1
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - HugeRange
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    linkageType: ''
    returnType: void
    signature: void CheckPages(HugeRange r, size_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - HugeRange
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::MarkPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    linkageType: ''
    returnType: void
    signature: void MarkPages(HugeRange r, size_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:78,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:78,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - expected_use
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - system
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    - EXPECT_EQ
    - size
    linkageType: ''
    returnType: void
    signature: void CheckStats(HugeLength expected_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:92,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:97,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:97,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:98,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:99,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:99,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:101,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:102,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:103,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:104,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:109,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:110,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:112,1
    - Dst: auto::first::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:113,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:114,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:115,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:118,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:118,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:119,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:120,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:121,1
    - Dst: auto::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:121,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:123,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:124,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:125,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:130,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - std::vector::push_back
    - auto::len
    - auto::first::len
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - std::max
    - NHugePages
    - ASSERT_EQ
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - std::swap
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:138,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:139,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:144,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:145,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:146,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:146,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:147,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:148,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:148,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:149,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:152,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:152,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:154,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::push_back
    - EXPECT_EQ
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Subrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:165,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:166,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:168,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:168,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:169,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:173,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:173,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:174,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:174,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:178,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:179,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:181,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:181,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:182,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:183,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:183,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:184,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:185,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:189,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 192
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::push_back
    - HLFromBytes
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - NHugePages
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, SubreleaseLarge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:206,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:207,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:212,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:212,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:213,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:216,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:217,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:217,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:218,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:219,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:222,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:224,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:226,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:229,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:232,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:233,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:233,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:234,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:234,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:237,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:238,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:238,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:239,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:242,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:244,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:246,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:250,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:250,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:251,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:254,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:256,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:257,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:257,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:258,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:260,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:262,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 266
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - std::vector::push_back
    - absl::Bernoulli
    - absl::Uniform
    - std::vector::size
    - EXPECT_EQ
    - SCOPED_TRACE
    - size
    - HugeLength::raw_num
    - system
    - Get
    - ASSERT_TRUE
    - HugeRange::valid
    - auto::valid
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Fragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:270,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:273,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:275,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:275,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:279,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - EXPECT_EQ
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Frugal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:289,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:300,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:304,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:304,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:305,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:305,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:306,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:309,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:312,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:312,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:313,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:313,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:320,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:322,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:325,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:325,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:327,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:330,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:330,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:332,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:335,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:335,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:337,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:338,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:341,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 342
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - EXPECT_EQ
    - tcmalloc_internal::ThreadCache::GetStats
    - AddSpanStats
    - Get
    - ASSERT_TRUE
    - HugeRange::valid
    - GetParam
    - HugeRange::start
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeAllocator*::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:289,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - huge
    - num_spans
    - pages
    argTypes:
    - HugeAllocator*
    - size_t*
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::Stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - HugeAllocator*::AddSpanStats
    - EXPECT_EQ
    - Length
    linkageType: ''
    returnType: void
    signature: "void Stats(const HugeAllocator* huge, size_t* num_spans,\n                      Length*
      pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:347,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, OOM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesRequested
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugePagesRequested()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugePagesReceived()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:49,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:50,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:51,1
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugeAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - backing_::resize
    - GetParam
    linkageType: ''
    returnType: void
    signature: void HugeAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~HugeAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - backing_::clear
    linkageType: ''
    returnType: void
    signature: void ~HugeAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugePage::index
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 2
    functionsReached:
    - HugePage::index
    linkageType: ''
    returnType: size_t
    signature: size_t * GetActual(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:66,1
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - HugeRange
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    linkageType: ''
    returnType: void
    signature: void CheckPages(HugeRange r, size_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - HugeRange
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::MarkPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    linkageType: ''
    returnType: void
    signature: void MarkPages(HugeRange r, size_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:78,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:78,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - expected_use
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - system
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    - EXPECT_EQ
    - size
    linkageType: ''
    returnType: void
    signature: void CheckStats(HugeLength expected_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:92,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:97,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:97,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:98,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:99,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:99,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:101,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:102,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:103,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:104,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:109,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:110,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:112,1
    - Dst: auto::first::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:113,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:114,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:115,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:118,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:118,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:119,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:120,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:121,1
    - Dst: auto::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:121,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:123,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:124,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:125,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:130,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - std::vector::push_back
    - auto::len
    - auto::first::len
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - std::max
    - NHugePages
    - ASSERT_EQ
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - std::swap
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:138,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:139,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:144,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:145,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:146,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:146,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:147,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:148,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:148,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:149,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:152,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:152,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:154,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::push_back
    - EXPECT_EQ
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Subrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:165,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:166,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:168,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:168,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:169,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:173,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:173,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:174,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:174,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:178,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:179,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:181,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:181,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:182,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:183,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:183,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:184,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:185,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:189,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 192
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::push_back
    - HLFromBytes
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - NHugePages
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, SubreleaseLarge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:206,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:207,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:212,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:212,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:213,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:216,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:217,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:217,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:218,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:219,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:222,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:224,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:226,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:229,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:232,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:233,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:233,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:234,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:234,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:237,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:238,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:238,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:239,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:242,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:244,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:246,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:250,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:250,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:251,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:254,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:256,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:257,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:257,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:258,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:260,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:262,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 266
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - std::vector::push_back
    - absl::Bernoulli
    - absl::Uniform
    - std::vector::size
    - EXPECT_EQ
    - SCOPED_TRACE
    - size
    - HugeLength::raw_num
    - system
    - Get
    - ASSERT_TRUE
    - HugeRange::valid
    - auto::valid
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Fragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:270,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:273,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:275,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:275,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:279,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - EXPECT_EQ
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Frugal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:289,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:300,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:304,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:304,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:305,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:305,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:306,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:309,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:312,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:312,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:313,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:313,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:320,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:322,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:325,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:325,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:327,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:330,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:330,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:332,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:335,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:335,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:337,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:338,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:341,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 342
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - EXPECT_EQ
    - tcmalloc_internal::ThreadCache::GetStats
    - AddSpanStats
    - Get
    - ASSERT_TRUE
    - HugeRange::valid
    - GetParam
    - HugeRange::start
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeAllocator*::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:289,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - huge
    - num_spans
    - pages
    argTypes:
    - HugeAllocator*
    - size_t*
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::Stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - HugeAllocator*::AddSpanStats
    - EXPECT_EQ
    - Length
    linkageType: ''
    returnType: void
    signature: "void Stats(const HugeAllocator* huge, size_t* num_spans,\n                      Length*
      pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:347,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, OOM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesRequested
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugePagesRequested()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugePagesReceived()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:49,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:50,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:51,1
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugeAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - backing_::resize
    - GetParam
    linkageType: ''
    returnType: void
    signature: void HugeAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~HugeAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - backing_::clear
    linkageType: ''
    returnType: void
    signature: void ~HugeAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugePage::index
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 4
    functionsReached:
    - HugePage::index
    linkageType: ''
    returnType: size_t
    signature: size_t * GetActual(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:66,1
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - HugeRange
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    linkageType: ''
    returnType: void
    signature: void CheckPages(HugeRange r, size_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - HugeRange
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::MarkPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    linkageType: ''
    returnType: void
    signature: void MarkPages(HugeRange r, size_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:78,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:78,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - expected_use
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - system
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    - EXPECT_EQ
    - size
    linkageType: ''
    returnType: void
    signature: void CheckStats(HugeLength expected_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:92,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:97,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:97,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:98,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:99,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:99,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:101,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:102,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:103,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:104,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:109,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:110,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:112,1
    - Dst: auto::first::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:113,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:114,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:115,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:118,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:118,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:119,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:120,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:121,1
    - Dst: auto::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:121,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:123,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:124,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:125,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:130,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - std::vector::push_back
    - auto::len
    - auto::first::len
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - std::max
    - NHugePages
    - ASSERT_EQ
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - std::swap
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:138,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:139,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:144,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:145,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:146,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:146,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:147,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:148,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:148,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:149,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:152,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:152,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:154,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::push_back
    - EXPECT_EQ
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Subrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:165,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:166,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:168,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:168,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:169,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:173,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:173,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:174,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:174,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:178,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:179,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:181,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:181,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:182,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:183,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:183,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:184,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:185,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:189,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 192
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::push_back
    - HLFromBytes
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - NHugePages
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, SubreleaseLarge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:206,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:207,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:212,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:212,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:213,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:216,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:217,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:217,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:218,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:219,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:222,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:224,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:226,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:229,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:232,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:233,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:233,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:234,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:234,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:237,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:238,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:238,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:239,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:242,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:244,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:246,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:250,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:250,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:251,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:254,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:256,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:257,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:257,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:258,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:260,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:262,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 266
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - std::vector::push_back
    - absl::Bernoulli
    - absl::Uniform
    - std::vector::size
    - EXPECT_EQ
    - SCOPED_TRACE
    - size
    - HugeLength::raw_num
    - system
    - Get
    - ASSERT_TRUE
    - HugeRange::valid
    - auto::valid
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Fragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:270,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:273,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:275,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:275,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:279,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - EXPECT_EQ
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Frugal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:289,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:300,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:304,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:304,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:305,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:305,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:306,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:309,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:312,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:312,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:313,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:313,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:320,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:322,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:325,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:325,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:327,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:330,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:330,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:332,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:335,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:335,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:337,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:338,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:341,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 342
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - EXPECT_EQ
    - tcmalloc_internal::ThreadCache::GetStats
    - AddSpanStats
    - Get
    - ASSERT_TRUE
    - HugeRange::valid
    - GetParam
    - HugeRange::start
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeAllocator*::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:289,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - huge
    - num_spans
    - pages
    argTypes:
    - HugeAllocator*
    - size_t*
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::Stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - HugeAllocator*::AddSpanStats
    - EXPECT_EQ
    - Length
    linkageType: ''
    returnType: void
    signature: "void Stats(const HugeAllocator* huge, size_t* num_spans,\n                      Length*
      pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:347,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, OOM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesRequested
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugePagesRequested()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugePagesReceived()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:49,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:50,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:51,1
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugeAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - backing_::resize
    - GetParam
    linkageType: ''
    returnType: void
    signature: void HugeAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~HugeAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - backing_::clear
    linkageType: ''
    returnType: void
    signature: void ~HugeAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugePage::index
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 6
    functionsReached:
    - HugePage::index
    linkageType: ''
    returnType: size_t
    signature: size_t * GetActual(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:66,1
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - HugeRange
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    linkageType: ''
    returnType: void
    signature: void CheckPages(HugeRange r, size_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - HugeRange
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::MarkPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    linkageType: ''
    returnType: void
    signature: void MarkPages(HugeRange r, size_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:78,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:78,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - expected_use
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - system
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    - EXPECT_EQ
    - size
    linkageType: ''
    returnType: void
    signature: void CheckStats(HugeLength expected_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:92,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:97,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:97,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:98,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:99,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:99,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:101,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:102,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:103,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:104,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:109,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:110,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:112,1
    - Dst: auto::first::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:113,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:114,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:115,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:118,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:118,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:119,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:120,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:121,1
    - Dst: auto::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:121,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:123,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:124,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:125,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:130,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - std::vector::push_back
    - auto::len
    - auto::first::len
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - std::max
    - NHugePages
    - ASSERT_EQ
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - std::swap
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:138,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:139,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:144,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:145,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:146,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:146,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:147,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:148,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:148,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:149,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:152,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:152,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:154,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::push_back
    - EXPECT_EQ
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Subrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:165,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:166,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:168,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:168,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:169,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:173,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:173,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:174,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:174,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:178,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:179,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:181,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:181,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:182,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:183,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:183,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:184,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:185,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:189,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 192
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::push_back
    - HLFromBytes
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - NHugePages
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, SubreleaseLarge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:206,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:207,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:212,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:212,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:213,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:216,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:217,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:217,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:218,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:219,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:222,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:224,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:226,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:229,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:232,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:233,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:233,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:234,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:234,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:237,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:238,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:238,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:239,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:242,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:244,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:246,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:250,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:250,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:251,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:254,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:256,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:257,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:257,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:258,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:260,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:262,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 266
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - std::vector::push_back
    - absl::Bernoulli
    - absl::Uniform
    - std::vector::size
    - EXPECT_EQ
    - SCOPED_TRACE
    - size
    - HugeLength::raw_num
    - system
    - Get
    - ASSERT_TRUE
    - HugeRange::valid
    - auto::valid
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Fragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:270,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:273,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:275,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:275,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:279,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - EXPECT_EQ
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Frugal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:289,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:300,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:304,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:304,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:305,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:305,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:306,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:309,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:312,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:312,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:313,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:313,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:320,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:322,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:325,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:325,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:327,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:330,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:330,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:332,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:335,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:335,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:337,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:338,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:341,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 342
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - EXPECT_EQ
    - tcmalloc_internal::ThreadCache::GetStats
    - AddSpanStats
    - Get
    - ASSERT_TRUE
    - HugeRange::valid
    - GetParam
    - HugeRange::start
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeAllocator*::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:289,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - huge
    - num_spans
    - pages
    argTypes:
    - HugeAllocator*
    - size_t*
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::Stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - HugeAllocator*::AddSpanStats
    - EXPECT_EQ
    - Length
    linkageType: ''
    returnType: void
    signature: "void Stats(const HugeAllocator* huge, size_t* num_spans,\n                      Length*
      pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:347,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, OOM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesRequested
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugePagesRequested()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugePagesReceived()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:49,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:50,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:51,1
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugeAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - backing_::resize
    - GetParam
    linkageType: ''
    returnType: void
    signature: void HugeAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~HugeAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - backing_::clear
    linkageType: ''
    returnType: void
    signature: void ~HugeAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugePage::index
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 8
    functionsReached:
    - HugePage::index
    linkageType: ''
    returnType: size_t
    signature: size_t * GetActual(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:66,1
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - HugeRange
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    linkageType: ''
    returnType: void
    signature: void CheckPages(HugeRange r, size_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - HugeRange
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::MarkPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    linkageType: ''
    returnType: void
    signature: void MarkPages(HugeRange r, size_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:78,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:78,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - expected_use
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - system
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    - EXPECT_EQ
    - size
    linkageType: ''
    returnType: void
    signature: void CheckStats(HugeLength expected_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:92,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:97,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:97,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:98,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:99,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:99,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:101,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:102,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:103,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:104,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:109,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:110,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:112,1
    - Dst: auto::first::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:113,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:114,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:115,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:118,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:118,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:119,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:120,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:121,1
    - Dst: auto::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:121,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:123,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:124,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:125,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:130,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - std::vector::push_back
    - auto::len
    - auto::first::len
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - std::max
    - NHugePages
    - ASSERT_EQ
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - std::swap
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:138,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:139,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:144,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:145,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:146,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:146,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:147,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:148,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:148,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:149,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:152,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:152,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:154,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::push_back
    - EXPECT_EQ
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Subrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:165,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:166,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:168,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:168,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:169,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:173,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:173,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:174,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:174,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:178,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:179,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:181,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:181,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:182,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:183,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:183,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:184,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:185,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:189,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 192
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::push_back
    - HLFromBytes
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - NHugePages
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, SubreleaseLarge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:206,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:207,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:212,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:212,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:213,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:216,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:217,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:217,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:218,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:219,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:222,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:224,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:226,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:229,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:232,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:233,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:233,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:234,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:234,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:237,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:238,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:238,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:239,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:242,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:244,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:246,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:250,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:250,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:251,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:254,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:256,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:257,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:257,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:258,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:260,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:262,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 266
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - std::vector::push_back
    - absl::Bernoulli
    - absl::Uniform
    - std::vector::size
    - EXPECT_EQ
    - SCOPED_TRACE
    - size
    - HugeLength::raw_num
    - system
    - Get
    - ASSERT_TRUE
    - HugeRange::valid
    - auto::valid
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Fragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:270,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:273,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:275,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:275,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:279,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - EXPECT_EQ
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Frugal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:289,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:300,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:304,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:304,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:305,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:305,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:306,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:309,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:312,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:312,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:313,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:313,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:320,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:322,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:325,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:325,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:327,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:330,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:330,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:332,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:335,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:335,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:337,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:338,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:341,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 342
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - EXPECT_EQ
    - tcmalloc_internal::ThreadCache::GetStats
    - AddSpanStats
    - Get
    - ASSERT_TRUE
    - HugeRange::valid
    - GetParam
    - HugeRange::start
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeAllocator*::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:289,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - huge
    - num_spans
    - pages
    argTypes:
    - HugeAllocator*
    - size_t*
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::Stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - HugeAllocator*::AddSpanStats
    - EXPECT_EQ
    - Length
    linkageType: ''
    returnType: void
    signature: "void Stats(const HugeAllocator* huge, size_t* num_spans,\n                      Length*
      pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:347,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, OOM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesRequested
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugePagesRequested()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugePagesReceived()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:49,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:50,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:51,1
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugeAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - backing_::resize
    - GetParam
    linkageType: ''
    returnType: void
    signature: void HugeAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~HugeAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - backing_::clear
    linkageType: ''
    returnType: void
    signature: void ~HugeAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugePage::index
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 10
    functionsReached:
    - HugePage::index
    linkageType: ''
    returnType: size_t
    signature: size_t * GetActual(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:66,1
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - HugeRange
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    linkageType: ''
    returnType: void
    signature: void CheckPages(HugeRange r, size_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - HugeRange
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::MarkPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    linkageType: ''
    returnType: void
    signature: void MarkPages(HugeRange r, size_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:78,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:78,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - expected_use
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - system
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    - EXPECT_EQ
    - size
    linkageType: ''
    returnType: void
    signature: void CheckStats(HugeLength expected_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:92,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:97,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:97,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:98,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:99,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:99,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:101,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:102,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:103,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:104,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:109,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:110,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:112,1
    - Dst: auto::first::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:113,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:114,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:115,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:118,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:118,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:119,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:120,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:121,1
    - Dst: auto::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:121,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:123,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:124,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:125,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:130,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - std::vector::push_back
    - auto::len
    - auto::first::len
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - std::max
    - NHugePages
    - ASSERT_EQ
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - std::swap
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:138,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:139,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:144,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:145,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:146,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:146,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:147,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:148,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:148,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:149,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:152,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:152,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:154,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::push_back
    - EXPECT_EQ
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Subrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:165,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:166,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:168,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:168,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:169,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:173,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:173,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:174,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:174,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:178,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:179,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:181,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:181,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:182,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:183,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:183,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:184,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:185,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:189,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 192
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::push_back
    - HLFromBytes
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - NHugePages
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, SubreleaseLarge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:206,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:207,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:212,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:212,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:213,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:216,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:217,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:217,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:218,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:219,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:222,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:224,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:226,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:229,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:232,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:233,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:233,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:234,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:234,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:237,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:238,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:238,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:239,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:242,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:244,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:246,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:250,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:250,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:251,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:254,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:256,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:257,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:257,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:258,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:260,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:262,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 266
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - std::vector::push_back
    - absl::Bernoulli
    - absl::Uniform
    - std::vector::size
    - EXPECT_EQ
    - SCOPED_TRACE
    - size
    - HugeLength::raw_num
    - system
    - Get
    - ASSERT_TRUE
    - HugeRange::valid
    - auto::valid
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Fragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:270,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:273,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:275,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:275,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:279,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - EXPECT_EQ
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Frugal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:289,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:300,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:304,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:304,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:305,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:305,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:306,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:309,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:312,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:312,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:313,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:313,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:320,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:322,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:325,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:325,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:327,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:330,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:330,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:332,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:335,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:335,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:337,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:338,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:341,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 342
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - EXPECT_EQ
    - tcmalloc_internal::ThreadCache::GetStats
    - AddSpanStats
    - Get
    - ASSERT_TRUE
    - HugeRange::valid
    - GetParam
    - HugeRange::start
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeAllocator*::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:289,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - huge
    - num_spans
    - pages
    argTypes:
    - HugeAllocator*
    - size_t*
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::Stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - HugeAllocator*::AddSpanStats
    - EXPECT_EQ
    - Length
    linkageType: ''
    returnType: void
    signature: "void Stats(const HugeAllocator* huge, size_t* num_spans,\n                      Length*
      pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:347,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, OOM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesRequested
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugePagesRequested()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugePagesReceived()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:49,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:50,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:51,1
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugeAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - backing_::resize
    - GetParam
    linkageType: ''
    returnType: void
    signature: void HugeAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~HugeAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - backing_::clear
    linkageType: ''
    returnType: void
    signature: void ~HugeAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugePage::index
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 12
    functionsReached:
    - HugePage::index
    linkageType: ''
    returnType: size_t
    signature: size_t * GetActual(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:66,1
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - HugeRange
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    linkageType: ''
    returnType: void
    signature: void CheckPages(HugeRange r, size_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - HugeRange
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::MarkPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    linkageType: ''
    returnType: void
    signature: void MarkPages(HugeRange r, size_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:78,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:78,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - expected_use
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - system
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    - EXPECT_EQ
    - size
    linkageType: ''
    returnType: void
    signature: void CheckStats(HugeLength expected_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:92,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:97,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:97,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:98,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:99,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:99,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:101,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:102,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:103,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:104,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:109,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:110,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:112,1
    - Dst: auto::first::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:113,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:114,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:115,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:118,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:118,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:119,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:120,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:121,1
    - Dst: auto::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:121,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:123,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:124,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:125,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:130,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - std::vector::push_back
    - auto::len
    - auto::first::len
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - std::max
    - NHugePages
    - ASSERT_EQ
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - std::swap
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:138,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:139,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:144,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:145,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:146,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:146,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:147,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:148,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:148,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:149,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:152,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:152,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:154,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::push_back
    - EXPECT_EQ
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Subrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:165,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:166,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:168,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:168,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:169,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:173,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:173,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:174,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:174,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:178,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:179,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:181,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:181,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:182,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:183,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:183,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:184,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:185,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:189,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 192
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::push_back
    - HLFromBytes
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - NHugePages
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, SubreleaseLarge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:206,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:207,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:212,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:212,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:213,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:216,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:217,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:217,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:218,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:219,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:222,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:224,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:226,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:229,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:232,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:233,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:233,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:234,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:234,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:237,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:238,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:238,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:239,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:242,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:244,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:246,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:250,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:250,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:251,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:254,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:256,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:257,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:257,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:258,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:260,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:262,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 266
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - std::vector::push_back
    - absl::Bernoulli
    - absl::Uniform
    - std::vector::size
    - EXPECT_EQ
    - SCOPED_TRACE
    - size
    - HugeLength::raw_num
    - system
    - Get
    - ASSERT_TRUE
    - HugeRange::valid
    - auto::valid
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Fragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:270,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:273,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:275,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:275,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:279,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - EXPECT_EQ
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Frugal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:289,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:300,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:304,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:304,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:305,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:305,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:306,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:309,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:312,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:312,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:313,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:313,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:320,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:322,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:325,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:325,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:327,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:330,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:330,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:332,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:335,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:335,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:337,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:338,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:341,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 342
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - EXPECT_EQ
    - tcmalloc_internal::ThreadCache::GetStats
    - AddSpanStats
    - Get
    - ASSERT_TRUE
    - HugeRange::valid
    - GetParam
    - HugeRange::start
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeAllocator*::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:289,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - huge
    - num_spans
    - pages
    argTypes:
    - HugeAllocator*
    - size_t*
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::Stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - HugeAllocator*::AddSpanStats
    - EXPECT_EQ
    - Length
    linkageType: ''
    returnType: void
    signature: "void Stats(const HugeAllocator* huge, size_t* num_spans,\n                      Length*
      pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:347,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, OOM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesRequested
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugePagesRequested()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugePagesReceived()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:49,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:50,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:51,1
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugeAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - backing_::resize
    - GetParam
    linkageType: ''
    returnType: void
    signature: void HugeAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~HugeAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - backing_::clear
    linkageType: ''
    returnType: void
    signature: void ~HugeAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugePage::index
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 14
    functionsReached:
    - HugePage::index
    linkageType: ''
    returnType: size_t
    signature: size_t * GetActual(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:66,1
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - HugeRange
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    linkageType: ''
    returnType: void
    signature: void CheckPages(HugeRange r, size_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - HugeRange
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::MarkPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    linkageType: ''
    returnType: void
    signature: void MarkPages(HugeRange r, size_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:78,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:78,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - expected_use
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - system
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    - EXPECT_EQ
    - size
    linkageType: ''
    returnType: void
    signature: void CheckStats(HugeLength expected_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:92,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:97,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:97,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:98,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:99,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:99,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:101,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:102,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:103,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:104,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:109,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:110,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:112,1
    - Dst: auto::first::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:113,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:114,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:115,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:118,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:118,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:119,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:120,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:121,1
    - Dst: auto::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:121,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:123,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:124,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:125,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:130,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - std::vector::push_back
    - auto::len
    - auto::first::len
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - std::max
    - NHugePages
    - ASSERT_EQ
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - std::swap
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:138,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:139,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:144,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:145,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:146,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:146,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:147,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:148,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:148,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:149,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:152,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:152,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:154,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::push_back
    - EXPECT_EQ
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Subrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:165,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:166,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:168,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:168,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:169,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:172,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:173,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:173,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:174,1
    - Dst: auto::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:174,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:178,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:179,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:181,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:181,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:182,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:183,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:183,1
    - Dst: MarkPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:184,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:185,1
    - Dst: CheckPages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:189,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 192
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::push_back
    - HLFromBytes
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - CheckPages
    - MarkPages
    - auto::valid
    - NHugePages
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, SubreleaseLarge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:206,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:207,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:212,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:212,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:213,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:216,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:217,1
    - Dst: auto::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:217,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:218,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:219,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:222,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:224,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:226,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:229,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:232,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:233,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:233,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:234,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:234,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:237,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:238,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:238,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:239,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:242,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:244,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:246,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:250,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:250,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:251,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:254,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:256,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:257,1
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:257,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:258,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:260,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:262,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 266
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - std::vector::push_back
    - absl::Bernoulli
    - absl::Uniform
    - std::vector::size
    - EXPECT_EQ
    - SCOPED_TRACE
    - size
    - HugeLength::raw_num
    - system
    - Get
    - ASSERT_TRUE
    - HugeRange::valid
    - auto::valid
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Fragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:270,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:273,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:275,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:275,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:279,1
    - Dst: HugePagesRequested
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - EXPECT_EQ
    - HugePagesRequested
    - Get
    - ASSERT_TRUE
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Frugal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:289,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:300,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:302,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:304,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:304,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:305,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:305,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:306,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:309,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:312,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:312,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:313,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:313,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:320,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:322,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:325,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:325,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:327,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:330,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:330,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:332,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:335,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:335,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:337,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:338,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:341,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 342
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - EXPECT_EQ
    - tcmalloc_internal::ThreadCache::GetStats
    - AddSpanStats
    - Get
    - ASSERT_TRUE
    - HugeRange::valid
    - GetParam
    - HugeRange::start
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeAllocator*::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:289,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - huge
    - num_spans
    - pages
    argTypes:
    - HugeAllocator*
    - size_t*
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::Stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - HugeAllocator*::AddSpanStats
    - EXPECT_EQ
    - Length
    linkageType: ''
    returnType: void
    signature: "void Stats(const HugeAllocator* huge, size_t* num_spans,\n                      Length*
      pages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:347,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_allocator_test.cc:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeAllocatorTest, OOM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/page_allocator_interface.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 118
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~PageAllocatorInterface()
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PageAllocatorInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/page_allocator_interface.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: operator bool() const
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~PageAllocatorInterface()
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PageAllocatorInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/page_allocator_interface.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: operator bool() const
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:41,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:42,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:43,1
    - Dst: value_or
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:46,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:47,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:55,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:64,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:65,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:67,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:68,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:70,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:71,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:72,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:81,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:82,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:84,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:88,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:92,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:101,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:102,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:104,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:105,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:108,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:109,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:118,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:120,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:122,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:123,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:133,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:137,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:139,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:142,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:148,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:150,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:151,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:151,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:160,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:162,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:163,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:164,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:165,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:165,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:166,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 171
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/error_reporting.cc
    functionUses: 0
    functionsReached:
    - PageIdContainingTagged
    - static_cast<std::align_val_t>
    - gwp_asan_state
    - abort
    - absl::MakeSpan
    - sizemap
    - pagemap
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - TC_BUG
    - absl::countr_zero
    - RecordCrash
    - absl::bit_cast<uintptr_t>
    - TC_LOG
    - PrintStackTrace
    - value_or
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:41,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:42,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:43,1
    - Dst: std::optional<size_t>::value_or
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:46,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:47,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:55,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:64,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:65,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:67,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:68,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:70,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:71,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - ' state'
    - ' alloc'
    - size
    - requested_size
    - allocated_size
    argTypes:
    - Static
    - SampledAllocation
    - size_t
    - size_t
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 73
    functionName: ReportMismatchedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/error_reporting.cc
    functionUses: 0
    functionsReached:
    - gwp_asan_state
    - abort
    - absl::MakeSpan
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - RecordCrash
    - TC_LOG
    - PrintStackTrace
    - std::optional<size_t>::value_or
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE ReportMismatchedDelete(\n    Static& state,
      const SampledAllocation& alloc, size_t size,\n    size_t requested_size, std::optional<size_t>
      allocated_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:81,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:82,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:84,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:88,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:92,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:101,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:102,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:104,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:105,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:108,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - ' state'
    - ptr
    - size
    - minimum_size
    - maximum_size
    argTypes:
    - Static
    - void*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 110
    functionName: ReportMismatchedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/error_reporting.cc
    functionUses: 0
    functionsReached:
    - PageIdContainingTagged
    - sizemap
    - gwp_asan_state
    - absl::MakeSpan
    - abort
    - pagemap
    - RecordCrash
    - TC_LOG
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - PrintStackTrace
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE ReportMismatchedDelete(Static& state, void*
      ptr,\n                                                    size_t size,\n                                                    size_t
      minimum_size,\n                                                    size_t maximum_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:118,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:120,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:122,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:123,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:133,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:137,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:139,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' state'
    - object
    - page_size_class
    - object_size_class
    argTypes:
    - Static
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: ReportMismatchedSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/error_reporting.cc
    functionUses: 0
    functionsReached:
    - gwp_asan_state
    - abort
    - sizemap
    - RecordCrash
    - TC_LOG
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE ReportMismatchedSizeClass(Static& state,\n
      \                                                      void* object,\n                                                       int
      page_size_class,\n                                                       int
      object_size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:148,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:150,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:151,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:151,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' state'
    - ptr
    argTypes:
    - Static
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: ReportDoubleFree
    functionSourceFile: /src/tcmalloc/tcmalloc/error_reporting.cc
    functionUses: 0
    functionsReached:
    - gwp_asan_state
    - absl::MakeSpan
    - TC_BUG
    - RecordCrash
    - tcmalloc::tcmalloc_internal::GetStackTrace
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE ReportDoubleFree(Static& state, void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:160,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:162,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:163,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:164,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:165,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:165,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:166,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' state'
    - expected_alignment
    - ptr
    argTypes:
    - Static
    - std::align_val_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: ReportCorruptedFree
    functionSourceFile: /src/tcmalloc/tcmalloc/error_reporting.cc
    functionUses: 3
    functionsReached:
    - static_cast<std::align_val_t>
    - gwp_asan_state
    - absl::bit_cast<uintptr_t>
    - absl::MakeSpan
    - TC_BUG
    - absl::countr_zero
    - RecordCrash
    - tcmalloc::tcmalloc_internal::GetStackTrace
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE ReportCorruptedFree(\n    Static& state, std::align_val_t
      expected_alignment, void* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:52,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:54,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetRegionFactory
    - ExtraRegionFactory::ExtraRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - InitIfNecessary
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::New
    linkageType: ''
    returnType: Span
    signature: "Span * New(Length n, SpanAllocInfo span_alloc_info,\n            MemoryTag
      tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
    linkageType: ''
    returnType: Span
    signature: "Span * NewAligned(Length n, Length align, SpanAllocInfo span_alloc_info,\n
      \                  MemoryTag tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:74,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:78,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:80,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 1
    functionsReached:
    - Span*::first_page
    - tcmalloc_internal::Span::Delete
    - Range
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void Delete(Span* s, MemoryTag tag = MemoryTag::kNormal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:90,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 1
    functionsReached:
    - std::string
    - std::vector::size
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:130,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:131,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:131,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:132,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:132,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:136,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:138,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:138,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:139,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:139,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - info
    - Delete
    - auto::counts_for
    - NewAligned
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, Record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:151,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_THAT
    - Delete
    - Print
    - testing::ContainsRegex
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, PrintIt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:157,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:161,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:162,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:171,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:179,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:179,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:180,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:183,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 186
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - New
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - Length
    - EXPECT_EQ
    - stats
    - limit_hits
    - successful_shrinks_after_limit_hit
    - EXPECT_LE
    - Delete
    - ShrinkToUsageLimit
    - in_bytes
    - set_limit
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, ShrinkFailureTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:190,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:191,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:195,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:196,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:205,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:213,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:215,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:216,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:223,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:224,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:226,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 229
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - New
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - Length
    - EXPECT_EQ
    - stats
    - limit_hits
    - successful_shrinks_after_limit_hit
    - EXPECT_LE
    - Delete
    - ShrinkToUsageLimit
    - in_bytes
    - set_limit
    - metadata_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, b270916852)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:52,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:54,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetRegionFactory
    - ExtraRegionFactory::ExtraRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - InitIfNecessary
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::New
    linkageType: ''
    returnType: Span
    signature: "Span * New(Length n, SpanAllocInfo span_alloc_info,\n            MemoryTag
      tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
    linkageType: ''
    returnType: Span
    signature: "Span * NewAligned(Length n, Length align, SpanAllocInfo span_alloc_info,\n
      \                  MemoryTag tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:74,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:78,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:80,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 2
    functionsReached:
    - Span*::first_page
    - tcmalloc_internal::Span::Delete
    - Range
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void Delete(Span* s, MemoryTag tag = MemoryTag::kNormal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:90,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 2
    functionsReached:
    - std::string
    - std::vector::size
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:130,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:131,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:131,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:132,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:132,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:136,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:138,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:138,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:139,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:139,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - info
    - Delete
    - auto::counts_for
    - NewAligned
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, Record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:151,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_THAT
    - Delete
    - Print
    - testing::ContainsRegex
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, PrintIt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:157,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:161,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:162,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:171,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:179,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:179,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:180,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:183,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 186
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - New
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - Length
    - EXPECT_EQ
    - stats
    - limit_hits
    - successful_shrinks_after_limit_hit
    - EXPECT_LE
    - Delete
    - ShrinkToUsageLimit
    - in_bytes
    - set_limit
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, ShrinkFailureTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:190,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:191,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:195,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:196,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:205,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:213,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:215,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:216,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:223,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:224,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:226,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 229
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - New
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - Length
    - EXPECT_EQ
    - stats
    - limit_hits
    - successful_shrinks_after_limit_hit
    - EXPECT_LE
    - Delete
    - ShrinkToUsageLimit
    - in_bytes
    - set_limit
    - metadata_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, b270916852)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:52,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:54,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetRegionFactory
    - ExtraRegionFactory::ExtraRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - InitIfNecessary
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::New
    linkageType: ''
    returnType: Span
    signature: "Span * New(Length n, SpanAllocInfo span_alloc_info,\n            MemoryTag
      tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
    linkageType: ''
    returnType: Span
    signature: "Span * NewAligned(Length n, Length align, SpanAllocInfo span_alloc_info,\n
      \                  MemoryTag tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:74,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:78,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:80,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 3
    functionsReached:
    - Span*::first_page
    - tcmalloc_internal::Span::Delete
    - Range
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void Delete(Span* s, MemoryTag tag = MemoryTag::kNormal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:90,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 3
    functionsReached:
    - std::string
    - std::vector::size
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:130,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:131,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:131,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:132,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:132,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:136,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:138,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:138,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:139,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:139,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - info
    - Delete
    - auto::counts_for
    - NewAligned
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, Record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:151,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_THAT
    - Delete
    - Print
    - testing::ContainsRegex
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, PrintIt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:157,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:161,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:162,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:171,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:179,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:179,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:180,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:183,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 186
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - New
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - Length
    - EXPECT_EQ
    - stats
    - limit_hits
    - successful_shrinks_after_limit_hit
    - EXPECT_LE
    - Delete
    - ShrinkToUsageLimit
    - in_bytes
    - set_limit
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, ShrinkFailureTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:190,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:191,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:195,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:196,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:205,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:213,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:215,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:216,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:223,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:224,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:226,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 229
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - New
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - Length
    - EXPECT_EQ
    - stats
    - limit_hits
    - successful_shrinks_after_limit_hit
    - EXPECT_LE
    - Delete
    - ShrinkToUsageLimit
    - in_bytes
    - set_limit
    - metadata_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, b270916852)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:52,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:54,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetRegionFactory
    - ExtraRegionFactory::ExtraRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - InitIfNecessary
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::New
    linkageType: ''
    returnType: Span
    signature: "Span * New(Length n, SpanAllocInfo span_alloc_info,\n            MemoryTag
      tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
    linkageType: ''
    returnType: Span
    signature: "Span * NewAligned(Length n, Length align, SpanAllocInfo span_alloc_info,\n
      \                  MemoryTag tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:74,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:78,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:80,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 4
    functionsReached:
    - Span*::first_page
    - tcmalloc_internal::Span::Delete
    - Range
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void Delete(Span* s, MemoryTag tag = MemoryTag::kNormal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:90,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 4
    functionsReached:
    - std::string
    - std::vector::size
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:130,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:131,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:131,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:132,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:132,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:136,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:138,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:138,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:139,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:139,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - info
    - Delete
    - auto::counts_for
    - NewAligned
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, Record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:151,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_THAT
    - Delete
    - Print
    - testing::ContainsRegex
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, PrintIt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:157,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:161,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:162,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:171,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:179,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:179,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:180,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:183,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 186
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - New
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - Length
    - EXPECT_EQ
    - stats
    - limit_hits
    - successful_shrinks_after_limit_hit
    - EXPECT_LE
    - Delete
    - ShrinkToUsageLimit
    - in_bytes
    - set_limit
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, ShrinkFailureTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:190,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:191,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:195,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:196,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:205,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:213,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:215,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:216,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:223,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:224,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:226,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 229
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - New
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - Length
    - EXPECT_EQ
    - stats
    - limit_hits
    - successful_shrinks_after_limit_hit
    - EXPECT_LE
    - Delete
    - ShrinkToUsageLimit
    - in_bytes
    - set_limit
    - metadata_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, b270916852)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:52,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:54,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetRegionFactory
    - ExtraRegionFactory::ExtraRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - InitIfNecessary
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::New
    linkageType: ''
    returnType: Span
    signature: "Span * New(Length n, SpanAllocInfo span_alloc_info,\n            MemoryTag
      tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
    linkageType: ''
    returnType: Span
    signature: "Span * NewAligned(Length n, Length align, SpanAllocInfo span_alloc_info,\n
      \                  MemoryTag tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:74,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:78,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:80,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 5
    functionsReached:
    - Span*::first_page
    - tcmalloc_internal::Span::Delete
    - Range
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void Delete(Span* s, MemoryTag tag = MemoryTag::kNormal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:90,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 5
    functionsReached:
    - std::string
    - std::vector::size
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:130,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:131,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:131,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:132,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:132,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:136,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:138,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:138,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:139,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:139,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - info
    - Delete
    - auto::counts_for
    - NewAligned
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, Record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:151,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_THAT
    - Delete
    - Print
    - testing::ContainsRegex
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, PrintIt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:157,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:161,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:162,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:171,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:179,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:179,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:180,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:183,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 186
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - New
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - Length
    - EXPECT_EQ
    - stats
    - limit_hits
    - successful_shrinks_after_limit_hit
    - EXPECT_LE
    - Delete
    - ShrinkToUsageLimit
    - in_bytes
    - set_limit
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, ShrinkFailureTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:190,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:191,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:195,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:196,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:205,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:213,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:215,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:216,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:223,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:224,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:226,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 229
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - New
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - Length
    - EXPECT_EQ
    - stats
    - limit_hits
    - successful_shrinks_after_limit_hit
    - EXPECT_LE
    - Delete
    - ShrinkToUsageLimit
    - in_bytes
    - set_limit
    - metadata_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, b270916852)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:52,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:54,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetRegionFactory
    - ExtraRegionFactory::ExtraRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - InitIfNecessary
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::New
    linkageType: ''
    returnType: Span
    signature: "Span * New(Length n, SpanAllocInfo span_alloc_info,\n            MemoryTag
      tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
    linkageType: ''
    returnType: Span
    signature: "Span * NewAligned(Length n, Length align, SpanAllocInfo span_alloc_info,\n
      \                  MemoryTag tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:74,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:78,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:80,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 6
    functionsReached:
    - Span*::first_page
    - tcmalloc_internal::Span::Delete
    - Range
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void Delete(Span* s, MemoryTag tag = MemoryTag::kNormal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:90,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 6
    functionsReached:
    - std::string
    - std::vector::size
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:130,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:131,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:131,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:132,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:132,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:136,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:138,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:138,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:139,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:139,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - info
    - Delete
    - auto::counts_for
    - NewAligned
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, Record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:151,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_THAT
    - Delete
    - Print
    - testing::ContainsRegex
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, PrintIt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:157,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:161,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:162,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:171,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:179,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:179,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:180,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:183,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 186
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - New
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - Length
    - EXPECT_EQ
    - stats
    - limit_hits
    - successful_shrinks_after_limit_hit
    - EXPECT_LE
    - Delete
    - ShrinkToUsageLimit
    - in_bytes
    - set_limit
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, ShrinkFailureTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:190,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:191,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:195,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:196,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:205,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:213,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:215,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:216,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:223,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:224,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:226,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 229
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - New
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - Length
    - EXPECT_EQ
    - stats
    - limit_hits
    - successful_shrinks_after_limit_hit
    - EXPECT_LE
    - Delete
    - ShrinkToUsageLimit
    - in_bytes
    - set_limit
    - metadata_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, b270916852)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:52,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:54,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetRegionFactory
    - ExtraRegionFactory::ExtraRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - InitIfNecessary
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::New
    linkageType: ''
    returnType: Span
    signature: "Span * New(Length n, SpanAllocInfo span_alloc_info,\n            MemoryTag
      tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
    linkageType: ''
    returnType: Span
    signature: "Span * NewAligned(Length n, Length align, SpanAllocInfo span_alloc_info,\n
      \                  MemoryTag tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:74,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:78,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:80,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 7
    functionsReached:
    - Span*::first_page
    - tcmalloc_internal::Span::Delete
    - Range
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void Delete(Span* s, MemoryTag tag = MemoryTag::kNormal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:90,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 7
    functionsReached:
    - std::string
    - std::vector::size
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:130,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:131,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:131,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:132,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:132,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:136,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:138,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:138,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:139,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:139,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - info
    - Delete
    - auto::counts_for
    - NewAligned
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, Record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:151,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_THAT
    - Delete
    - Print
    - testing::ContainsRegex
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, PrintIt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:157,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:161,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:162,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:171,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:179,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:179,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:180,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:183,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 186
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - New
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - Length
    - EXPECT_EQ
    - stats
    - limit_hits
    - successful_shrinks_after_limit_hit
    - EXPECT_LE
    - Delete
    - ShrinkToUsageLimit
    - in_bytes
    - set_limit
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, ShrinkFailureTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:190,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:191,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:195,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:196,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:205,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:213,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:215,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:216,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:223,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:224,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:226,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 229
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - New
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - Length
    - EXPECT_EQ
    - stats
    - limit_hits
    - successful_shrinks_after_limit_hit
    - EXPECT_LE
    - Delete
    - ShrinkToUsageLimit
    - in_bytes
    - set_limit
    - metadata_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, b270916852)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:52,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:54,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetRegionFactory
    - ExtraRegionFactory::ExtraRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - InitIfNecessary
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::New
    linkageType: ''
    returnType: Span
    signature: "Span * New(Length n, SpanAllocInfo span_alloc_info,\n            MemoryTag
      tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
    linkageType: ''
    returnType: Span
    signature: "Span * NewAligned(Length n, Length align, SpanAllocInfo span_alloc_info,\n
      \                  MemoryTag tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:74,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:77,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:78,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:80,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 8
    functionsReached:
    - Span*::first_page
    - tcmalloc_internal::Span::Delete
    - Range
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void Delete(Span* s, MemoryTag tag = MemoryTag::kNormal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:90,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 8
    functionsReached:
    - std::string
    - std::vector::size
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:106,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:111,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:115,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:128,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:130,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:131,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:131,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:132,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:132,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:136,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:138,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:138,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:139,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:139,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - info
    - Delete
    - auto::counts_for
    - NewAligned
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, Record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:151,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_THAT
    - Delete
    - Print
    - testing::ContainsRegex
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, PrintIt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:157,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:161,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:162,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:171,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:179,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:179,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:180,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:183,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 186
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - New
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - Length
    - EXPECT_EQ
    - stats
    - limit_hits
    - successful_shrinks_after_limit_hit
    - EXPECT_LE
    - Delete
    - ShrinkToUsageLimit
    - in_bytes
    - set_limit
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, ShrinkFailureTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:190,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:191,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:195,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:196,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:205,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:213,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:215,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:216,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:223,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:224,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:226,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 229
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - New
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - Length
    - EXPECT_EQ
    - stats
    - limit_hits
    - successful_shrinks_after_limit_hit
    - EXPECT_LE
    - Delete
    - ShrinkToUsageLimit
    - in_bytes
    - set_limit
    - metadata_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, b270916852)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:60,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:61,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
      Src: /src/tcmalloc/tcmalloc/parameters.cc:61,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:74,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:75,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:85,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:86,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:86,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/parameters.cc:104,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:106,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:109,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:111,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:111,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:123,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:124,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:125,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/parameters.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:138,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:141,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:143,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:143,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:152,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/parameters.cc:156,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:158,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:170,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/parameters.cc:174,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:176,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/parameters.cc:186,1
    - Dst: TCMalloc_Internal_SetHeapSizeHardLimit
      Src: /src/tcmalloc/tcmalloc/parameters.cc:190,1
    - Dst: hpaa_subrelease_ptr
      Src: /src/tcmalloc/tcmalloc/parameters.cc:194,1
    - Dst: TCMalloc_Internal_SetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/parameters.cc:198,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:204,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:205,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:205,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:211,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.cc:211,1
    - Dst: background_process_actions_enabled_ptr
      Src: /src/tcmalloc/tcmalloc/parameters.cc:259,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:264,1
    - Dst: background_process_sleep_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:265,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:269,1
    - Dst: skip_subrelease_short_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:270,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:274,1
    - Dst: skip_subrelease_long_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:275,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:279,1
    - Dst: cache_demand_release_short_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:280,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:284,1
    - Dst: cache_demand_release_long_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:285,1
    - Dst: usermode_hugepage_collapse_enabled
      Src: /src/tcmalloc/tcmalloc/parameters.cc:289,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:295,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:296,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:296,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:298,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/parameters.cc:305,1
    - Dst: default_want_disable_dynamic_slabs
      Src: /src/tcmalloc/tcmalloc/parameters.cc:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 318
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - page_allocator
    - cache_demand_release_short_interval_ns
    - store
    - absl::base_internal::LowLevelCallOnce
    - skip_subrelease_long_interval_ns
    - default_want_disable_dynamic_slabs
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - background_process_actions_enabled_ptr
    - hpaa_subrelease_ptr
    - TCMalloc_Internal_SetHPAASubrelease
    - load
    - background_process_sleep_interval_ns
    - tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
    - absl::Nanoseconds
    - absl::ToInt64Nanoseconds
    - IsExperimentActive
    - cpu_cache
    - TCMalloc_Internal_SetHeapSizeHardLimit
    - usermode_hugepage_collapse_enabled
    - cache_demand_release_long_interval_ns
    - skip_subrelease_short_interval_ns
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - default_val
    - debug_val
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::DefaultOrDebugValue
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T DefaultOrDebugValue(T default_val, T debug_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:60,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:61,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
      Src: /src/tcmalloc/tcmalloc/parameters.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: tcmalloc_internal::hpaa_subrelease_ptr
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
    - absl::base_internal::LowLevelCallOnce
    - store
    linkageType: ''
    returnType: std::atomic<bool>
    signature: std::atomic<bool> & hpaa_subrelease_ptr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:74,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::background_process_actions_enabled_ptr
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::base_internal::LowLevelCallOnce
    - store
    linkageType: ''
    returnType: std::atomic<bool>
    signature: std::atomic<bool> & background_process_actions_enabled_ptr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:85,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:86,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: tcmalloc_internal::background_process_sleep_interval_ns
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::base_internal::LowLevelCallOnce
    - absl::ToInt64Nanoseconds
    - store
    linkageType: ''
    returnType: std::atomic<int64_t>
    signature: std::atomic<int64_t> & background_process_sleep_interval_ns()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/parameters.cc:104,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:106,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:109,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:111,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::skip_subrelease_short_interval_ns
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - store
    - absl::base_internal::LowLevelCallOnce
    - absl::ToInt64Nanoseconds
    linkageType: ''
    returnType: std::atomic<int64_t>
    signature: std::atomic<int64_t> & skip_subrelease_short_interval_ns()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:123,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:124,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: tcmalloc_internal::usermode_hugepage_collapse_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    - absl::base_internal::LowLevelCallOnce
    - store
    linkageType: ''
    returnType: std::atomic<bool>
    signature: std::atomic<bool> & usermode_hugepage_collapse_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/parameters.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:138,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:141,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:143,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: tcmalloc_internal::skip_subrelease_long_interval_ns
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - store
    - absl::base_internal::LowLevelCallOnce
    - absl::ToInt64Nanoseconds
    linkageType: ''
    returnType: std::atomic<int64_t>
    signature: std::atomic<int64_t> & skip_subrelease_long_interval_ns()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:152,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/parameters.cc:156,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 165
    functionName: tcmalloc_internal::cache_demand_release_short_interval_ns
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: std::atomic<int64_t>
    signature: std::atomic<int64_t> & cache_demand_release_short_interval_ns()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:170,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/parameters.cc:174,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::cache_demand_release_long_interval_ns
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: std::atomic<int64_t>
    signature: std::atomic<int64_t> & cache_demand_release_long_interval_ns()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/parameters.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: tcmalloc_internal::Parameters::heap_size_hard_limit
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Parameters::heap_size_hard_limit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetHeapSizeHardLimit
      Src: /src/tcmalloc/tcmalloc/parameters.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: tcmalloc_internal::Parameters::set_heap_size_hard_limit
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetHeapSizeHardLimit
    linkageType: ''
    returnType: void
    signature: void Parameters::set_heap_size_hard_limit(uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpaa_subrelease_ptr
      Src: /src/tcmalloc/tcmalloc/parameters.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: tcmalloc_internal::Parameters::hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 19
    functionsReached:
    - hpaa_subrelease_ptr
    linkageType: ''
    returnType: bool
    signature: bool Parameters::hpaa_subrelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/parameters.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: tcmalloc_internal::Parameters::set_hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 16
    functionsReached:
    - TCMalloc_Internal_SetHPAASubrelease
    linkageType: ''
    returnType: void
    signature: void Parameters::set_hpaa_subrelease(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:204,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:205,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:205,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:211,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: tcmalloc_internal::Parameters::huge_cache_release_time
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    - load
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - store
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Parameters::huge_cache_release_time()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: background_process_actions_enabled_ptr
      Src: /src/tcmalloc/tcmalloc/parameters.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: tcmalloc_internal::Parameters::background_process_actions_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - background_process_actions_enabled_ptr
    linkageType: ''
    returnType: bool
    signature: bool Parameters::background_process_actions_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:264,1
    - Dst: background_process_sleep_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: tcmalloc_internal::Parameters::background_process_sleep_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - background_process_sleep_interval_ns
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Parameters::background_process_sleep_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:269,1
    - Dst: skip_subrelease_short_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - skip_subrelease_short_interval_ns
    - absl::Nanoseconds
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Parameters::filler_skip_subrelease_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:274,1
    - Dst: skip_subrelease_long_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - skip_subrelease_long_interval_ns
    - absl::Nanoseconds
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Parameters::filler_skip_subrelease_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:279,1
    - Dst: cache_demand_release_short_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: tcmalloc_internal::Parameters::cache_demand_release_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - cache_demand_release_short_interval_ns
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Parameters::cache_demand_release_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:284,1
    - Dst: cache_demand_release_long_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tcmalloc_internal::Parameters::cache_demand_release_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - cache_demand_release_long_interval_ns
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Parameters::cache_demand_release_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: usermode_hugepage_collapse_enabled
      Src: /src/tcmalloc/tcmalloc/parameters.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::Parameters::usermode_hugepage_collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - usermode_hugepage_collapse_enabled
    linkageType: ''
    returnType: bool
    signature: bool Parameters::usermode_hugepage_collapse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:295,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:296,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:296,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    - absl::base_internal::LowLevelCallOnce
    - store
    linkageType: ''
    returnType: bool
    signature: bool Parameters::sparse_trackers_coarse_longest_free_range()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/parameters.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: tcmalloc_internal::Parameters::max_per_cpu_cache_size
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 1
    functionsReached:
    - cpu_cache
    linkageType: ''
    returnType: int32_t
    signature: int32_t Parameters::max_per_cpu_cache_size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_want_disable_dynamic_slabs
      Src: /src/tcmalloc/tcmalloc/parameters.cc:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: tcmalloc_internal::want_disable_dynamic_slabs
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - default_want_disable_dynamic_slabs
    linkageType: ''
    returnType: bool
    signature: bool want_disable_dynamic_slabs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - default_val
    - debug_val
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::DefaultOrDebugValue
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T DefaultOrDebugValue(T default_val, T debug_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:60,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:61,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
      Src: /src/tcmalloc/tcmalloc/parameters.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: tcmalloc_internal::hpaa_subrelease_ptr
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
    - absl::base_internal::LowLevelCallOnce
    - store
    linkageType: ''
    returnType: std::atomic<bool>
    signature: std::atomic<bool> & hpaa_subrelease_ptr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:74,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::background_process_actions_enabled_ptr
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::base_internal::LowLevelCallOnce
    - store
    linkageType: ''
    returnType: std::atomic<bool>
    signature: std::atomic<bool> & background_process_actions_enabled_ptr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:85,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:86,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:86,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: tcmalloc_internal::background_process_sleep_interval_ns
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::base_internal::LowLevelCallOnce
    - absl::ToInt64Nanoseconds
    - store
    linkageType: ''
    returnType: std::atomic<int64_t>
    signature: std::atomic<int64_t> & background_process_sleep_interval_ns()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/parameters.cc:104,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:106,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:109,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:111,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::skip_subrelease_short_interval_ns
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - store
    - absl::base_internal::LowLevelCallOnce
    - absl::ToInt64Nanoseconds
    linkageType: ''
    returnType: std::atomic<int64_t>
    signature: std::atomic<int64_t> & skip_subrelease_short_interval_ns()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:123,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:124,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: tcmalloc_internal::usermode_hugepage_collapse_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    - absl::base_internal::LowLevelCallOnce
    - store
    linkageType: ''
    returnType: std::atomic<bool>
    signature: std::atomic<bool> & usermode_hugepage_collapse_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/parameters.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:138,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:141,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:143,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: tcmalloc_internal::skip_subrelease_long_interval_ns
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - store
    - absl::base_internal::LowLevelCallOnce
    - absl::ToInt64Nanoseconds
    linkageType: ''
    returnType: std::atomic<int64_t>
    signature: std::atomic<int64_t> & skip_subrelease_long_interval_ns()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:152,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/parameters.cc:156,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 165
    functionName: tcmalloc_internal::cache_demand_release_short_interval_ns
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: std::atomic<int64_t>
    signature: std::atomic<int64_t> & cache_demand_release_short_interval_ns()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:170,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/parameters.cc:174,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::cache_demand_release_long_interval_ns
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: std::atomic<int64_t>
    signature: std::atomic<int64_t> & cache_demand_release_long_interval_ns()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/parameters.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: tcmalloc_internal::Parameters::heap_size_hard_limit
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Parameters::heap_size_hard_limit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetHeapSizeHardLimit
      Src: /src/tcmalloc/tcmalloc/parameters.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: tcmalloc_internal::Parameters::set_heap_size_hard_limit
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetHeapSizeHardLimit
    linkageType: ''
    returnType: void
    signature: void Parameters::set_heap_size_hard_limit(uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpaa_subrelease_ptr
      Src: /src/tcmalloc/tcmalloc/parameters.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: tcmalloc_internal::Parameters::hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 19
    functionsReached:
    - hpaa_subrelease_ptr
    linkageType: ''
    returnType: bool
    signature: bool Parameters::hpaa_subrelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/parameters.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: tcmalloc_internal::Parameters::set_hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 16
    functionsReached:
    - TCMalloc_Internal_SetHPAASubrelease
    linkageType: ''
    returnType: void
    signature: void Parameters::set_hpaa_subrelease(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:204,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:205,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:205,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:211,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: tcmalloc_internal::Parameters::huge_cache_release_time
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    - load
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - store
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Parameters::huge_cache_release_time()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: background_process_actions_enabled_ptr
      Src: /src/tcmalloc/tcmalloc/parameters.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: tcmalloc_internal::Parameters::background_process_actions_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - background_process_actions_enabled_ptr
    linkageType: ''
    returnType: bool
    signature: bool Parameters::background_process_actions_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:264,1
    - Dst: background_process_sleep_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: tcmalloc_internal::Parameters::background_process_sleep_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - background_process_sleep_interval_ns
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Parameters::background_process_sleep_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:269,1
    - Dst: skip_subrelease_short_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - skip_subrelease_short_interval_ns
    - absl::Nanoseconds
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Parameters::filler_skip_subrelease_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:274,1
    - Dst: skip_subrelease_long_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - skip_subrelease_long_interval_ns
    - absl::Nanoseconds
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Parameters::filler_skip_subrelease_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:279,1
    - Dst: cache_demand_release_short_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: tcmalloc_internal::Parameters::cache_demand_release_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - cache_demand_release_short_interval_ns
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Parameters::cache_demand_release_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:284,1
    - Dst: cache_demand_release_long_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tcmalloc_internal::Parameters::cache_demand_release_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - cache_demand_release_long_interval_ns
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Parameters::cache_demand_release_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: usermode_hugepage_collapse_enabled
      Src: /src/tcmalloc/tcmalloc/parameters.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::Parameters::usermode_hugepage_collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - usermode_hugepage_collapse_enabled
    linkageType: ''
    returnType: bool
    signature: bool Parameters::usermode_hugepage_collapse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:295,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:296,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:296,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    - absl::base_internal::LowLevelCallOnce
    - store
    linkageType: ''
    returnType: bool
    signature: bool Parameters::sparse_trackers_coarse_longest_free_range()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/parameters.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: tcmalloc_internal::Parameters::max_per_cpu_cache_size
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 1
    functionsReached:
    - cpu_cache
    linkageType: ''
    returnType: int32_t
    signature: int32_t Parameters::max_per_cpu_cache_size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_want_disable_dynamic_slabs
      Src: /src/tcmalloc/tcmalloc/parameters.cc:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: tcmalloc_internal::want_disable_dynamic_slabs
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - default_want_disable_dynamic_slabs
    linkageType: ''
    returnType: bool
    signature: bool want_disable_dynamic_slabs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: MallocExtension_Internal_GetProfileSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: int64_t
    signature: int64_t MallocExtension_Internal_GetProfileSamplingInterval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::set_profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: MallocExtension_Internal_SetProfileSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::set_profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void MallocExtension_Internal_SetProfileSamplingInterval(int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: MallocExtension_Internal_GetGuardedSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    linkageType: ''
    returnType: int64_t
    signature: int64_t MallocExtension_Internal_GetGuardedSamplingInterval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: MallocExtension_Internal_SetGuardedSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::set_guarded_sampling_interval
    linkageType: ''
    returnType: void
    signature: void MallocExtension_Internal_SetGuardedSamplingInterval(int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/parameters.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: MallocExtension_Internal_GetMaxTotalThreadCacheBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    linkageType: ''
    returnType: int64_t
    signature: int64_t MallocExtension_Internal_GetMaxTotalThreadCacheBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/parameters.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: MallocExtension_Internal_SetMaxTotalThreadCacheBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
    linkageType: ''
    returnType: void
    signature: void MallocExtension_Internal_SetMaxTotalThreadCacheBytes(int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::background_process_actions_enabled
      Src: /src/tcmalloc/tcmalloc/parameters.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: MallocExtension_Internal_GetBackgroundProcessActionsEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::background_process_actions_enabled
    linkageType: ''
    returnType: bool
    signature: bool MallocExtension_Internal_GetBackgroundProcessActionsEnabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/parameters.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: MallocExtension_Internal_SetBackgroundProcessActionsEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - TCMalloc_Internal_SetBackgroundProcessActionsEnabled
    linkageType: ''
    returnType: void
    signature: void MallocExtension_Internal_SetBackgroundProcessActionsEnabled(bool
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::background_process_sleep_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ret
    argTypes:
    - absl::Duration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: MallocExtension_Internal_GetBackgroundProcessSleepInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::background_process_sleep_interval
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_GetBackgroundProcessSleepInterval(\n
      \   absl::Duration* ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: MallocExtension_Internal_SetBackgroundProcessSleepInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - TCMalloc_Internal_SetBackgroundProcessSleepInterval
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_SetBackgroundProcessSleepInterval(\n
      \   absl::Duration value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ret
    argTypes:
    - absl::Duration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: MallocExtension_Internal_GetSkipSubreleaseShortInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_GetSkipSubreleaseShortInterval(\n    absl::Duration*
      ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: MallocExtension_Internal_SetSkipSubreleaseShortInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_SetSkipSubreleaseShortInterval(\n    absl::Duration
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ret
    argTypes:
    - absl::Duration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: MallocExtension_Internal_GetSkipSubreleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_GetSkipSubreleaseLongInterval(\n    absl::Duration*
      ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: MallocExtension_Internal_SetSkipSubreleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_SetSkipSubreleaseLongInterval(\n    absl::Duration
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ret
    argTypes:
    - absl::Duration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: MallocExtension_Internal_GetCacheDemandReleaseShortInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::cache_demand_release_short_interval
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_GetCacheDemandReleaseShortInterval(\n
      \   absl::Duration* ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: MallocExtension_Internal_SetCacheDemandReleaseShortInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_SetCacheDemandReleaseShortInterval(\n
      \   absl::Duration value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ret
    argTypes:
    - absl::Duration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: MallocExtension_Internal_GetCacheDemandReleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::cache_demand_release_long_interval
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_GetCacheDemandReleaseLongInterval(\n
      \   absl::Duration* ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: MallocExtension_Internal_SetCacheDemandReleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_SetCacheDemandReleaseLongInterval(\n
      \   absl::Duration value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::background_release_rate
      Src: /src/tcmalloc/tcmalloc/parameters.cc:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 410
    functionName: MallocExtension_Internal_GetBackgroundReleaseRate
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::background_release_rate
    linkageType: ''
    returnType: tcmalloc::MallocExtension::BytesPerSecond
    signature: tcmalloc::MallocExtension::BytesPerSecond MallocExtension_Internal_GetBackgroundReleaseRate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::set_background_release_rate
      Src: /src/tcmalloc/tcmalloc/parameters.cc:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rate
    argTypes:
    - tcmalloc::MallocExtension::BytesPerSecond
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: MallocExtension_Internal_SetBackgroundReleaseRate
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::set_background_release_rate
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_SetBackgroundReleaseRate(\n    tcmalloc::MallocExtension::BytesPerSecond
      rate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:418,1
    - Dst: static_cast<tcmalloc::MallocExtension::BytesPerSecond>
      Src: /src/tcmalloc/tcmalloc/parameters.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: TCMalloc_Internal_SetBackgroundReleaseRate
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - static_cast<tcmalloc::MallocExtension::BytesPerSecond>
    - store
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetBackgroundReleaseRate(size_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/parameters.cc:424,1
    - Dst: tcmalloc_internal::Parameters::heap_size_hard_limit
      Src: /src/tcmalloc/tcmalloc/parameters.cc:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: TCMalloc_Internal_GetHeapSizeHardLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::heap_size_hard_limit
    - InitIfNecessary
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TCMalloc_Internal_GetHeapSizeHardLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/parameters.cc:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: TCMalloc_Internal_GetHPAASubrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    linkageType: ''
    returnType: bool
    signature: bool TCMalloc_Internal_GetHPAASubrelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/parameters.cc:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: TCMalloc_Internal_GetReleasePartialAllocPagesEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    linkageType: ''
    returnType: bool
    signature: bool TCMalloc_Internal_GetReleasePartialAllocPagesEnabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/parameters.cc:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: TCMalloc_Internal_GetHugeCacheDemandBasedRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::huge_cache_demand_based_release
    linkageType: ''
    returnType: bool
    signature: bool TCMalloc_Internal_GetHugeCacheDemandBasedRelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/parameters.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 442
    functionName: TCMalloc_Internal_GetHugeRegionDemandBasedRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::huge_region_demand_based_release
    linkageType: ''
    returnType: bool
    signature: bool TCMalloc_Internal_GetHugeRegionDemandBasedRelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::release_pages_from_huge_region
      Src: /src/tcmalloc/tcmalloc/parameters.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: TCMalloc_Internal_GetReleasePagesFromHugeRegionEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::release_pages_from_huge_region
    linkageType: ''
    returnType: bool
    signature: bool TCMalloc_Internal_GetReleasePagesFromHugeRegionEnabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::usermode_hugepage_collapse
      Src: /src/tcmalloc/tcmalloc/parameters.cc:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: TCMalloc_Internal_GetUsermodeHugepageCollapse
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::usermode_hugepage_collapse
    linkageType: ''
    returnType: bool
    signature: bool TCMalloc_Internal_GetUsermodeHugepageCollapse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::resize_size_class_max_capacity
      Src: /src/tcmalloc/tcmalloc/parameters.cc:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: TCMalloc_Internal_GetResizeSizeClassMaxCapacityEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::resize_size_class_max_capacity
    linkageType: ''
    returnType: bool
    signature: bool TCMalloc_Internal_GetResizeSizeClassMaxCapacityEnabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
      Src: /src/tcmalloc/tcmalloc/parameters.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: TCMalloc_Internal_GetPeakSamplingHeapGrowthFraction
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
    linkageType: ''
    returnType: double
    signature: double TCMalloc_Internal_GetPeakSamplingHeapGrowthFraction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/parameters.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: TCMalloc_Internal_GetPerCpuCachesEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::per_cpu_caches
    linkageType: ''
    returnType: bool
    signature: bool TCMalloc_Internal_GetPerCpuCachesEnabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 466
    functionName: TCMalloc_Internal_SetGuardedSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetGuardedSamplingInterval(int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SamplingPercent
      Src: /src/tcmalloc/tcmalloc/parameters.cc:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: TCMalloc_Internal_GetSelSanPercent
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - SamplingPercent
    linkageType: ''
    returnType: int
    signature: int TCMalloc_Internal_GetSelSanPercent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetSamplingPercent
      Src: /src/tcmalloc/tcmalloc/parameters.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: TCMalloc_Internal_SetSelSanPercent
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - SetSamplingPercent
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetSelSanPercent(int v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/parameters.cc:482,1
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/parameters.cc:484,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/parameters.cc:490,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/parameters.cc:491,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/parameters.cc:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 495
    functionName: TCMalloc_Internal_SetHeapSizeHardLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 3
    functionsReached:
    - TC_LOG
    - page_allocator
    - InitIfNecessary
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetHeapSizeHardLimit(uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::hpaa_subrelease_ptr
      Src: /src/tcmalloc/tcmalloc/parameters.cc:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: TCMalloc_Internal_SetHPAASubrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::hpaa_subrelease_ptr
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetHPAASubrelease(bool v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 504
    functionName: TCMalloc_Internal_SetReleasePartialAllocPagesEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetReleasePartialAllocPagesEnabled(bool v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: TCMalloc_Internal_SetHugeCacheDemandBasedRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetHugeCacheDemandBasedRelease(bool v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: TCMalloc_Internal_SetHugeRegionDemandBasedRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetHugeRegionDemandBasedRelease(bool v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::usermode_hugepage_collapse_enabled
      Src: /src/tcmalloc/tcmalloc/parameters.cc:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: TCMalloc_Internal_SetUsermodeHugepageCollapse
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::usermode_hugepage_collapse_enabled
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetUsermodeHugepageCollapse(bool v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: TCMalloc_Internal_SetReleasePagesFromHugeRegionEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetReleasePagesFromHugeRegionEnabled(bool v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: TCMalloc_Internal_SetResizeSizeClassMaxCapacityEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetResizeSizeClassMaxCapacityEnabled(bool v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/parameters.cc:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 533
    functionName: TCMalloc_Internal_SetMaxPerCpuCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetMaxPerCpuCacheSize(int32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:536,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/parameters.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: TCMalloc_Internal_SetMaxTotalThreadCacheBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetMaxTotalThreadCacheBytes(int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction(double v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/parameters.cc:548,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
      Src: /src/tcmalloc/tcmalloc/parameters.cc:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 556
    functionName: TCMalloc_Internal_SetPerCpuCachesEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - TC_LOG
    - TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetPerCpuCachesEnabled(bool v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 4
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement(bool
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 564
    functionName: TCMalloc_Internal_SetProfileSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetProfileSamplingInterval(int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::background_process_actions_enabled_ptr
      Src: /src/tcmalloc/tcmalloc/parameters.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: TCMalloc_Internal_SetBackgroundProcessActionsEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::background_process_actions_enabled_ptr
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetBackgroundProcessActionsEnabled(bool v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::background_process_sleep_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:572,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 574
    functionName: TCMalloc_Internal_SetBackgroundProcessSleepInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::background_process_sleep_interval_ns
    - absl::ToInt64Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetBackgroundProcessSleepInterval(absl::Duration
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - absl::Duration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 579
    functionName: TCMalloc_Internal_GetHugePageFillerSkipSubreleaseShortInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    linkageType: ''
    returnType: void
    signature: "void TCMalloc_Internal_GetHugePageFillerSkipSubreleaseShortInterval(\n
      \   absl::Duration* v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::skip_subrelease_short_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:583,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: TCMalloc_Internal_SetHugePageFillerSkipSubreleaseShortInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::skip_subrelease_short_interval_ns
    - absl::ToInt64Nanoseconds
    linkageType: ''
    returnType: void
    signature: "void TCMalloc_Internal_SetHugePageFillerSkipSubreleaseShortInterval(\n
      \   absl::Duration v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - absl::Duration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionName: TCMalloc_Internal_GetHugePageFillerSkipSubreleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    linkageType: ''
    returnType: void
    signature: "void TCMalloc_Internal_GetHugePageFillerSkipSubreleaseLongInterval(\n
      \   absl::Duration* v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::skip_subrelease_long_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:594,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 596
    functionName: TCMalloc_Internal_SetHugePageFillerSkipSubreleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::skip_subrelease_long_interval_ns
    - absl::ToInt64Nanoseconds
    linkageType: ''
    returnType: void
    signature: "void TCMalloc_Internal_SetHugePageFillerSkipSubreleaseLongInterval(\n
      \   absl::Duration v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - absl::Duration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 601
    functionName: TCMalloc_Internal_GetHugeCacheDemandReleaseShortInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::cache_demand_release_short_interval
    linkageType: ''
    returnType: void
    signature: "void TCMalloc_Internal_GetHugeCacheDemandReleaseShortInterval(\n    absl::Duration*
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cache_demand_release_short_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:605,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 607
    functionName: TCMalloc_Internal_SetHugeCacheDemandReleaseShortInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::ToInt64Nanoseconds
    - tcmalloc_internal::cache_demand_release_short_interval_ns
    linkageType: ''
    returnType: void
    signature: "void TCMalloc_Internal_SetHugeCacheDemandReleaseShortInterval(\n    absl::Duration
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/parameters.cc:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - absl::Duration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: TCMalloc_Internal_GetHugeCacheDemandReleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::cache_demand_release_long_interval
    linkageType: ''
    returnType: void
    signature: "void TCMalloc_Internal_GetHugeCacheDemandReleaseLongInterval(\n    absl::Duration*
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cache_demand_release_long_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:615,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 617
    functionName: TCMalloc_Internal_SetHugeCacheDemandReleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::ToInt64Nanoseconds
    - tcmalloc_internal::cache_demand_release_long_interval_ns
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetHugeCacheDemandReleaseLongInterval(absl::Duration
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/parameters.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 621
    functionName: TCMalloc_Internal_GetPerCpuCachesDynamicSlabEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
    linkageType: ''
    returnType: bool
    signature: bool TCMalloc_Internal_GetPerCpuCachesDynamicSlabEnabled()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::want_disable_dynamic_slabs
      Src: /src/tcmalloc/tcmalloc/parameters.cc:626,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 628
    functionName: TCMalloc_Internal_SetPerCpuCachesDynamicSlabEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::want_disable_dynamic_slabs
    - store
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetPerCpuCachesDynamicSlabEnabled(bool v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/parameters.cc:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 632
    functionName: TCMalloc_Internal_GetPerCpuCachesDynamicSlabGrowThreshold
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
    linkageType: ''
    returnType: double
    signature: double TCMalloc_Internal_GetPerCpuCachesDynamicSlabGrowThreshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 637
    functionName: TCMalloc_Internal_SetPerCpuCachesDynamicSlabGrowThreshold
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetPerCpuCachesDynamicSlabGrowThreshold(double
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/parameters.cc:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 641
    functionName: TCMalloc_Internal_GetPerCpuCachesDynamicSlabShrinkThreshold
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
    linkageType: ''
    returnType: double
    signature: double TCMalloc_Internal_GetPerCpuCachesDynamicSlabShrinkThreshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: TCMalloc_Internal_SetPerCpuCachesDynamicSlabShrinkThreshold
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetPerCpuCachesDynamicSlabShrinkThreshold(double
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/parameters.cc:649,1
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/parameters.cc:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 650
    functionName: TCMalloc_Internal_GetMinHotAccessHint
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::min_hot_access_hint
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t TCMalloc_Internal_GetMinHotAccessHint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:653,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/parameters.cc:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: TCMalloc_Internal_SetMinHotAccessHint
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - static_cast<tcmalloc::hot_cold_t>
    - store
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetMinHotAccessHint(uint8_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    linkageType: ''
    returnType: int
    signature: int VirtualCpuSynchronize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    linkageType: ''
    returnType: int
    signature: int VirtualCpuSynchronize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freelist_::GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cpu_cache'
    argTypes:
    - CpuCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - freelist_::GetShift
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetSlabShift(const CpuCache& cpu_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:76,1
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' cpu_cache'
    argTypes:
    - CpuCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - RecordCacheMissStat
    linkageType: ''
    returnType: void
    signature: void IncrementCacheMisses(CpuCache& cpu_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:84,1
    - Dst: EstimateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:90,1
    - Dst: GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:90,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:91,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' cpu_cache'
    argTypes:
    - CpuCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EstimateSlabBytes
    - GetMaxCapacityFunctor
    - EXPECT_GT
    - EXPECT_LE
    - GetPerCpuSlabShiftBounds
    linkageType: ''
    returnType: void
    signature: void ValidateSlabBytes(const CpuCache& cpu_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeInfoSize
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ResizeInfoSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::TestStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void TestStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:115,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_shards
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::InitializeShardedManager
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void InitializeShardedManager(int num_shards)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - mmap
    linkageType: ''
    returnType: void
    signature: void * Alloc(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:125,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::AllocReportedImpending
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - mmap
    linkageType: ''
    returnType: void
    signature: void * AllocReportedImpending(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::Dealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - munmap
    linkageType: ''
    returnType: void
    signature: void Dealloc(void* ptr, size_t size, std::align_val_t /*alignment*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - allocated
    - nonresident
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::ArenaUpdateAllocatedAndNonresident
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void ArenaUpdateAllocatedAndNonresident(int64_t allocated,\n                                          int64_t
      nonresident)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool per_cpu_caches_dynamic_slab_enabled()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_grow_threshold()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_shrink_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes_v2
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes_v2() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:170,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:171,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
    - has_value
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:178,1
    - Dst: ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ColdSizeClasses
    - has_value
    linkageType: ''
    returnType: absl::Span<const size_t>
    signature: absl::Span<const size_t> cold_size_classes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:186,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:187,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 1
    functionsReached:
    - has_value
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '& numa_topology() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseWiderSlabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: '& sharded_transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '& sharded_transfer_cache() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_transfer_cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: "&\n  transfer_cache()"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: "TwoSizeClassManager<FakeCentralFreeList,\n                      internal_transfer_cache::TransferCache>"
    signature: "TwoSizeClassManager<FakeCentralFreeList,\n                      internal_transfer_cache::TransferCache>
      &\n  transfer_cache()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UseGenericCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - UseGenericCache
    linkageType: ''
    returnType: bool
    signature: bool UseGenericShardedCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetGenericCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::SetGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericCache
    linkageType: ''
    returnType: void
    signature: void SetGenericShardedCache(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnableCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EnableCacheForLargeClassesOnly
    linkageType: ''
    returnType: bool
    signature: bool UseShardedCacheForLargeClassesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::SetShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetCacheForLargeClassesOnly
    linkageType: ''
    returnType: void
    signature: void SetShardedCacheForLargeClassesOnly(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveHooks() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:254,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:258,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:261,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:262,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:263,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:265,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:267,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:268,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:273,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:274,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:274,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:277,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:281,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:283,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:284,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:285,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:289,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:289,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:290,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:292,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:292,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:294,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:296,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:296,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:300,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 302
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - should_use
    - CpuCache::Allocate
    - EXPECT_FALSE
    - transfer_cache
    - CpuCache::Deallocate
    - CpuCache::Reclaim
    - shard_initialized
    - EXPECT_EQ
    - TC_ASSERT_GT
    - SetGenericShardedCache
    - CpuCache::forwarder
    - NumActiveShards
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, MinimumShardsForGenericCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:309,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:313,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:316,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:318,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:319,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:322,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:330,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:331,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:335,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:340,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:346,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:347,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:350,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:358,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:359,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::Deactivate
    - CpuCache::Allocate
    - EXPECT_FALSE
    - CpuCache::Deallocate
    - transfer_cache
    - CpuCache::Reclaim
    - shard_initialized
    - EXPECT_EQ
    - EXPECT_TRUE
    - TC_ASSERT_GT
    - SetGenericShardedCache
    - CpuCache::forwarder
    - NumActiveShards
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, UsesShardedAsBackingCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCachePeer::ResizeInfoSize<CpuCache>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CpuCachePeer::ResizeInfoSize<CpuCache>
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeInfoNoFalseSharing)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:369,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:373,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:377,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:377,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:380,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:383,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:385,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:386,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:387,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:390,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:396,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:403,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:403,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:408,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:411,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:412,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:414,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:416,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:429,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:431,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:433,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:435,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:440,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:440,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:458,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:461,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:467,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:468,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:470,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:471,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:474,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:477,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:478,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:490,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:491,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:492,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:500,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:503,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:506,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:511,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:514,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:518,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:519,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:521,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:522,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:522,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:526,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:534,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:538,1
    - Dst: CpuCache::TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:538,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:542,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:543,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:545,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:549,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 552
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - NumCPUs
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - CpuCache::Allocated
    - CpuCache::HasPopulated
    - ASSUME
    - CpuCache::Deactivate
    - CpuCache::Allocate
    - EXPECT_FALSE
    - CpuCache::Deallocate
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::Capacity
    - EXPECT_NE
    - EXPECT_EQ
    - CpuCache::UsedBytes
    - EXPECT_TRUE
    - EXPECT_GT
    - EXPECT_LE
    - CpuCache::MetadataMemoryUsage
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - CpuCache::forwarder
    - CpuCache::TotalUsedBytes
    - count_cores
    - SCOPED_TRACE
    - CpuCache::TotalObjectsOfClass
    - CpuCache::GetPerCpuSlabShiftBounds
    - EXPECT_GE
    - CpuCache::Unallocated
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::StrCat
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, Metadata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:555,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:559,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:562,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:567,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:570,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:588,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:590,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:592,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:594,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:601,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:608,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:609,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:612,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:616,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 618
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - CpuCache::Deallocate
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::GetTotalCacheMissStats
    - EXPECT_EQ
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetIntervalCacheMissStats
    - CpuCache::Allocate
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, CacheMissStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:621,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:627,1
    - Dst: tcmalloc::tcmalloc_internal::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:628,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:629,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 631
    functionName: tcmalloc::tcmalloc_internal::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 1
    functionsReached:
    - load
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::ResizeSizeClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void ResizeSizeClasses(CpuCache& cache, const std::atomic<bool>& stop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:634,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:640,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:641,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::ShuffleThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ShuffleCpuCaches
    - load
    - absl::SleepFor
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void ShuffleThread(CpuCache& cache, const std::atomic<bool>& stop)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:648,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:654,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:655,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:658,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:659,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:660,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:660,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:663,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:665,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:671,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ' cache'
    - thread_id
    - ' stop'
    argTypes:
    - CpuCache
    - size_t
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 674
    functionName: tcmalloc::tcmalloc_internal::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - load
    - std::vector::pop_back
    - std::vector::back
    - std::vector::size
    - std::vector::emplace_back
    - tcmalloc_internal::subtle::percpu::IsFast
    - Allocate
    - Deallocate
    - std::vector::empty
    - std::make_pair
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: "void StressThread(CpuCache& cache, size_t thread_id,\n                         const
      std::atomic<bool>& stop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:681,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:682,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:685,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' cache'
    - cpu
    - size_class
    - ops
    argTypes:
    - CpuCache
    - int
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 688
    functionName: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Allocate
    - Deallocate
    - std::vector::clear
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void AllocateThenDeallocate(CpuCache& cache, int cpu, size_t size_class,\n
      \                           int ops)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:701,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:709,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:710,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:719,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:719,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:721,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:722,1
    - Dst: CpuCache::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:722,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:725,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:734,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:740,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:744,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:744,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:747,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:755,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:759,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:760,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:766,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:774,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:775,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:782,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:784,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:784,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 789
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - ASSERT_LT
    - CpuCache::GetCapacityOfSizeClass
    - EXPECT_GT
    - CpuCache::SetCacheLimit
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::CacheLimit
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeMaxCapacityTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:793,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:799,1
    - Dst: ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:800,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:801,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 803
    functionName: tcmalloc::tcmalloc_internal::ResizeMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ResizeSizeClassMaxCapacities
    - load
    - absl::SleepFor
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacities(CpuCache& cache,\n                                const
      std::atomic<bool>& stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:806,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:811,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:822,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:822,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:826,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:832,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:832,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:835,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:837,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:842,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:845,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:850,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:850,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:852,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:854,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 856
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::Allocated
    - CpuCache::GetMaxCapacity
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StressMaxCapacityResize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:859,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:868,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:872,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:881,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:883,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:891,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:894,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:896,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 897
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StressSizeClassResize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:900,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:905,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:909,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:913,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:918,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:918,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:921,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:923,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:927,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:931,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:934,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:936,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 937
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StealCpuCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:942,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:950,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:956,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:959,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:963,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:979,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:979,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:983,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:984,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:986,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:988,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:998,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1006,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1008,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1013,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1016,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 1017
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::thread
    - EXPECT_EQ
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    - std::ref
    - EXPECT_LT
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::forwarder
    - CpuCache::ResizeSlabIfNeeded
    - NumCPUs
    - repeat_dynamic_slab_ops
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Deactivate
    - absl::Milliseconds
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, DynamicSlab)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1030,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1037,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1038,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1048,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1049,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1052,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1054,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1065,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1069,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1070,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1070,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1072,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1075,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1077,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1085,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1085,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1088,1
    - Dst: CpuCache::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1092,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1103,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1104,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1104,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1106,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1114,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1114,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1116,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1116,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1120
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CpuCache::Allocated
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - CpuCache::SetCacheLimit
    - CpuCache::TotalObjectsOfClass
    - CpuCache::forwarder
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::ResizeSizeClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Deactivate
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeSizeClassesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' cache'
    - cpu_id
    - size_class
    argTypes:
    - CpuCache
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1131
    functionName: tcmalloc::tcmalloc_internal::ColdCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Allocate
    - Deallocate
    linkageType: ''
    returnType: void
    signature: "void ColdCacheOperations(CpuCache& cache, int cpu_id,\n                                size_t
      size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1139,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1150,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1153,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' cache'
    - cpu_id
    argTypes:
    - CpuCache
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1161
    functionName: tcmalloc::tcmalloc_internal::HotCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Allocate
    - Deallocate
    - std::vector::resize
    - Reclaim
    linkageType: ''
    returnType: void
    signature: void HotCacheOperations(CpuCache& cache, int cpu_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1169,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1175,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1179,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1179,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1182,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1188,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1190,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1200,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1201,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1206,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1208,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1209,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1224
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - ASSERT_GT
    - SizeMap::CurrentClasses
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::Reclaim
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - ASSERT_LT
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::forwarder
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetIntervalCacheMissStats
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST_F(DynamicWideSlabTest, DynamicSlabThreshold)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1228,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1231,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1234,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1238,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1238,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1243,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1254,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1261,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1261,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1264,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1269,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1275
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - std::ref
    - CpuCache::forwarder
    - SizeMap::Init
    - NumCPUs
    - CpuCache::ResizeSlabIfNeeded
    - std::min
    - CpuCache::Deactivate
    - absl::Milliseconds
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST_F(DynamicWideSlabTest, DynamicSlabParamsChange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1280,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1283,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1286,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1289,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1290,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1293,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1295,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1298,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1298,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1305,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1310,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1310,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1311,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1315,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1317,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1318,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1320,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1321,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1324
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - munlockall
    - mlockall
    - NumCPUs
    - std::min
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::Deactivate
    - absl::Milliseconds
    - ASSERT_EQ
    - std::thread
    - EXPECT_EQ
    - CpuCache::forwarder
    - join
    - std::vector::push_back
    - absl::SleepFor
    - std::ref
    - SizeMap::Init
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, MaxCapacityResizeFailedBytesMlocked)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1329,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1332,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1335,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1338,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1339,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1342,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1344,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1347,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1347,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1354,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1360,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1360,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1366,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1369,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1371,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1372,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1375
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - munlockall
    - mlockall
    - NumCPUs
    - std::min
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Deactivate
    - absl::Milliseconds
    - ASSERT_EQ
    - std::thread
    - EXPECT_EQ
    - CpuCache::forwarder
    - join
    - std::vector::push_back
    - absl::SleepFor
    - std::ref
    - SizeMap::Init
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SlabResizeFailedBytesMlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1380,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
    - cpu_cache
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SlabUsage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1384,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1391,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1392,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1410,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1413,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1414,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1419,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1421,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1424,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1425,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1430,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1431,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1433,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1436,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1442,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1443,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1448,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1450,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1454,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1454,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1456,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1456,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1464
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - EXPECT_GT
    - CpuCache::SetCacheLimit
    - EXPECT_LT
    - CpuCache::Unallocated
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ShuffleCpuCaches
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ColdHotCacheShuffleTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1467,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1472,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1475,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1481,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1485,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1485,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1488,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1489,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1498,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1502,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1502,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1503,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1508,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1508,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1512,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1517,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1520,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1520,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1523,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1528,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1528,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1539,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1539,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1542,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1542,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1546,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1546,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1547,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1552,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1558,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1558,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1561,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1561,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1564,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1564,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1569,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1576,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1576,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1577,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1577,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1582
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - ASSERT_NE
    - CpuCache::HasPopulated
    - CpuCache::GetTotalCacheMissStats
    - EXPECT_EQ
    - CpuCache::UsedBytes
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - EXPECT_TRUE
    - SCOPED_TRACE
    - CpuCache::GetAndUpdateIntervalCacheMissStats
    - CpuCache::GetNumReclaims
    - EXPECT_GT
    - CpuCache::TryReclaimingCaches
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Uniform<int32_t>
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ReclaimCpuCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1585,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1590,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1592,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1594,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1598,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1598,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1599,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1604,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1604,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1611,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1612,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1616,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1618,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1628,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1628,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1629,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1634,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1640,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1641,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1645,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1650,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1652,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1653,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1655,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1658
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - static_cast<double>
    - CpuCache::HasPopulated
    - CpuCache::Reclaim
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - CpuCache::GetSizeClassCapacityStats
    - EXPECT_EQ
    - SCOPED_TRACE
    - EXPECT_DOUBLE_EQ
    - CpuCache::forwarder
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SizeClassCapacityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1662
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::CpuCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void CpuCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1663
    functionName: ~CpuCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Deactivate
    linkageType: ''
    returnType: void
    signature: void ~CpuCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1666,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1668
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
    - store
    linkageType: ''
    returnType: void
    signature: void Activate()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1672,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1673,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1676,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1677,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1680,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1680,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1689,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1690,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1693,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1694,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1694,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1700,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1700,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1703,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1703,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1706,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1706,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1709,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1709,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1712,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1713,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1714,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1718,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1718,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1721,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1721,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1724,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1724,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1728,1
    - Dst: TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1733,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1738,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1742,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1742,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1745,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1747,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1749,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1751,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1752,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1753,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1757,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1758,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1759,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1764,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1769,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1776,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1786,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1789
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetSizeClassCapacityStats
    - Capacity
    - TryReclaimingCaches
    - TotalUsedBytes
    - GetNumReclaims
    - Unallocated
    - MetadataMemoryUsage
    - ShuffleCpuCaches
    - TotalObjectsOfClass
    - benchmark::DoNotOptimize
    - GetIntervalCacheMissStats
    - ANNOTATE_MEMORY_IS_UNINITIALIZED
    - load
    - EXPECT_NE
    - absl::Uniform
    - static_cast<char*>
    - EXPECT_GT
    - Reclaim
    - GetAndUpdateIntervalCacheMissStats
    - PrintInPbtxt
    - std::string::resize
    - std::string::size
    - Allocate
    - UsedBytes
    - std::string::data
    - GTEST_FAIL
    - GetTotalCacheMissStats
    - Allocated
    - EXPECT_GE
    - CacheLimit
    - Print
    - HasPopulated
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke(absl::BitGenRef rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1791
    functionName: '& cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CpuCache
    signature: CpuCache & cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::num_cpus
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_cpus() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1804,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1816,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1819,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1819,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1820,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1823,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1823,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1824,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1825,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1825,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1836,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1837,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1838,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1839,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1842,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1847,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1848,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1848,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1851
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - CpuCacheEnvironment::num_cpus
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - std::string::size
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - std::string::resize
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, Fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1811
    functionName: tcmalloc::tcmalloc_internal::ThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ThreadState
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1855,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1867,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1868,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1873,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1875,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1879,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1879,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1880,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1888,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1888,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1902,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1906,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1906,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1917,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1918,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1919,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1920,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1923,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1924,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1925
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CpuCacheEnvironment::num_cpus
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::optional::emplace
    - absl::SleepFor
    - EXPECT_EQ
    - CpuCacheEnvironment::RandomlyPoke
    - CpuCacheEnvironment::Activate
    - ASSERT_TRUE
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::cache
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, DISABLED_ChangingSizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1862
    functionName: tcmalloc::tcmalloc_internal::ThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ThreadState
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1930,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1931,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1932,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1933,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1934,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1935,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1936,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1937,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1937,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1938,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1938,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1939,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1940,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1941,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1941,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1942,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1943,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1943,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1944,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1944,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1945,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1946,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1947,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1948,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1948,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1949,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1950,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1951,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1952,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1952,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1953,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1954,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1955,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1956
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - F
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, TargetOverflowRefillCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::TestStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void TestStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:115,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_shards
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::InitializeShardedManager
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void InitializeShardedManager(int num_shards)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - mmap
    linkageType: ''
    returnType: void
    signature: void * Alloc(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:125,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::AllocReportedImpending
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - mmap
    linkageType: ''
    returnType: void
    signature: void * AllocReportedImpending(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::Dealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - munmap
    linkageType: ''
    returnType: void
    signature: void Dealloc(void* ptr, size_t size, std::align_val_t /*alignment*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - allocated
    - nonresident
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::ArenaUpdateAllocatedAndNonresident
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void ArenaUpdateAllocatedAndNonresident(int64_t allocated,\n                                          int64_t
      nonresident)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool per_cpu_caches_dynamic_slab_enabled()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_grow_threshold()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_shrink_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes_v2
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes_v2() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:170,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:171,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
    - has_value
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:178,1
    - Dst: ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ColdSizeClasses
    - has_value
    linkageType: ''
    returnType: absl::Span<const size_t>
    signature: absl::Span<const size_t> cold_size_classes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:186,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:187,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 2
    functionsReached:
    - has_value
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '& numa_topology() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseWiderSlabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: '& sharded_transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '& sharded_transfer_cache() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_transfer_cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: "&\n  transfer_cache()"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: "TwoSizeClassManager<FakeCentralFreeList,\n                      internal_transfer_cache::TransferCache>"
    signature: "TwoSizeClassManager<FakeCentralFreeList,\n                      internal_transfer_cache::TransferCache>
      &\n  transfer_cache()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UseGenericCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - UseGenericCache
    linkageType: ''
    returnType: bool
    signature: bool UseGenericShardedCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetGenericCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::SetGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericCache
    linkageType: ''
    returnType: void
    signature: void SetGenericShardedCache(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnableCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EnableCacheForLargeClassesOnly
    linkageType: ''
    returnType: bool
    signature: bool UseShardedCacheForLargeClassesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::SetShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetCacheForLargeClassesOnly
    linkageType: ''
    returnType: void
    signature: void SetShardedCacheForLargeClassesOnly(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveHooks() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:254,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:258,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:261,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:262,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:263,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:265,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:267,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:268,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:273,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:274,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:274,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:277,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:281,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:283,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:284,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:285,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:289,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:289,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:290,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:292,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:292,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:294,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:296,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:296,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:300,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 302
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - should_use
    - CpuCache::Allocate
    - EXPECT_FALSE
    - transfer_cache
    - CpuCache::Deallocate
    - CpuCache::Reclaim
    - shard_initialized
    - EXPECT_EQ
    - TC_ASSERT_GT
    - SetGenericShardedCache
    - CpuCache::forwarder
    - NumActiveShards
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, MinimumShardsForGenericCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:309,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:313,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:316,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:318,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:319,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:322,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:330,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:331,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:335,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:340,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:346,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:347,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:350,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:358,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:359,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::Deactivate
    - CpuCache::Allocate
    - EXPECT_FALSE
    - CpuCache::Deallocate
    - transfer_cache
    - CpuCache::Reclaim
    - shard_initialized
    - EXPECT_EQ
    - EXPECT_TRUE
    - TC_ASSERT_GT
    - SetGenericShardedCache
    - CpuCache::forwarder
    - NumActiveShards
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, UsesShardedAsBackingCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCachePeer::ResizeInfoSize<CpuCache>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CpuCachePeer::ResizeInfoSize<CpuCache>
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeInfoNoFalseSharing)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:369,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:373,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:377,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:377,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:380,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:383,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:385,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:386,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:387,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:390,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:396,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:403,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:403,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:408,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:411,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:412,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:414,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:416,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:429,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:431,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:433,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:435,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:440,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:440,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:458,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:461,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:467,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:468,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:470,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:471,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:474,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:477,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:478,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:490,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:491,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:492,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:500,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:503,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:506,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:511,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:514,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:518,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:519,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:521,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:522,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:522,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:526,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:534,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:538,1
    - Dst: CpuCache::TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:538,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:542,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:543,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:545,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:549,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 552
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - NumCPUs
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - CpuCache::Allocated
    - CpuCache::HasPopulated
    - ASSUME
    - CpuCache::Deactivate
    - CpuCache::Allocate
    - EXPECT_FALSE
    - CpuCache::Deallocate
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::Capacity
    - EXPECT_NE
    - EXPECT_EQ
    - CpuCache::UsedBytes
    - EXPECT_TRUE
    - EXPECT_GT
    - EXPECT_LE
    - CpuCache::MetadataMemoryUsage
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - CpuCache::forwarder
    - CpuCache::TotalUsedBytes
    - count_cores
    - SCOPED_TRACE
    - CpuCache::TotalObjectsOfClass
    - CpuCache::GetPerCpuSlabShiftBounds
    - EXPECT_GE
    - CpuCache::Unallocated
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::StrCat
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, Metadata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:555,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:559,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:562,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:567,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:570,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:588,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:590,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:592,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:594,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:601,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:608,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:609,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:612,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:616,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 618
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - CpuCache::Deallocate
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::GetTotalCacheMissStats
    - EXPECT_EQ
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetIntervalCacheMissStats
    - CpuCache::Allocate
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, CacheMissStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:621,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:627,1
    - Dst: tcmalloc::tcmalloc_internal::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:628,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:629,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 631
    functionName: tcmalloc::tcmalloc_internal::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 2
    functionsReached:
    - load
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::ResizeSizeClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void ResizeSizeClasses(CpuCache& cache, const std::atomic<bool>& stop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:634,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:640,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:641,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::ShuffleThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ShuffleCpuCaches
    - load
    - absl::SleepFor
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void ShuffleThread(CpuCache& cache, const std::atomic<bool>& stop)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:648,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:654,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:655,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:658,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:659,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:660,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:660,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:663,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:665,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:671,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ' cache'
    - thread_id
    - ' stop'
    argTypes:
    - CpuCache
    - size_t
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 674
    functionName: tcmalloc::tcmalloc_internal::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - load
    - std::vector::pop_back
    - std::vector::back
    - std::vector::size
    - std::vector::emplace_back
    - tcmalloc_internal::subtle::percpu::IsFast
    - Allocate
    - Deallocate
    - std::vector::empty
    - std::make_pair
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: "void StressThread(CpuCache& cache, size_t thread_id,\n                         const
      std::atomic<bool>& stop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:681,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:682,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:685,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' cache'
    - cpu
    - size_class
    - ops
    argTypes:
    - CpuCache
    - int
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 688
    functionName: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 2
    functionsReached:
    - Allocate
    - Deallocate
    - std::vector::clear
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void AllocateThenDeallocate(CpuCache& cache, int cpu, size_t size_class,\n
      \                           int ops)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:701,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:709,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:710,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:719,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:719,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:721,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:722,1
    - Dst: CpuCache::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:722,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:725,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:734,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:740,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:744,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:744,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:747,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:755,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:759,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:760,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:766,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:774,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:775,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:782,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:784,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:784,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 789
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - ASSERT_LT
    - CpuCache::GetCapacityOfSizeClass
    - EXPECT_GT
    - CpuCache::SetCacheLimit
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::CacheLimit
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeMaxCapacityTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:793,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:799,1
    - Dst: ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:800,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:801,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 803
    functionName: tcmalloc::tcmalloc_internal::ResizeMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ResizeSizeClassMaxCapacities
    - load
    - absl::SleepFor
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacities(CpuCache& cache,\n                                const
      std::atomic<bool>& stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:806,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:811,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:822,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:822,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:826,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:832,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:832,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:835,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:837,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:842,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:845,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:850,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:850,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:852,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:854,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 856
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::Allocated
    - CpuCache::GetMaxCapacity
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StressMaxCapacityResize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:859,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:868,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:872,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:881,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:883,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:891,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:894,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:896,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 897
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StressSizeClassResize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:900,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:905,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:909,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:913,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:918,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:918,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:921,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:923,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:927,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:931,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:934,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:936,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 937
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StealCpuCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:942,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:950,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:956,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:959,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:963,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:979,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:979,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:983,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:984,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:986,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:988,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:998,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1006,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1008,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1013,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1016,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 1017
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::thread
    - EXPECT_EQ
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    - std::ref
    - EXPECT_LT
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::forwarder
    - CpuCache::ResizeSlabIfNeeded
    - NumCPUs
    - repeat_dynamic_slab_ops
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Deactivate
    - absl::Milliseconds
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, DynamicSlab)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1030,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1037,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1038,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1048,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1049,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1052,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1054,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1065,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1069,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1070,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1070,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1072,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1075,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1077,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1085,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1085,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1088,1
    - Dst: CpuCache::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1092,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1103,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1104,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1104,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1106,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1114,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1114,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1116,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1116,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1120
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CpuCache::Allocated
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - CpuCache::SetCacheLimit
    - CpuCache::TotalObjectsOfClass
    - CpuCache::forwarder
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::ResizeSizeClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Deactivate
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeSizeClassesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' cache'
    - cpu_id
    - size_class
    argTypes:
    - CpuCache
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1131
    functionName: tcmalloc::tcmalloc_internal::ColdCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 4
    functionsReached:
    - Allocate
    - Deallocate
    linkageType: ''
    returnType: void
    signature: "void ColdCacheOperations(CpuCache& cache, int cpu_id,\n                                size_t
      size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1139,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1150,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1153,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' cache'
    - cpu_id
    argTypes:
    - CpuCache
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1161
    functionName: tcmalloc::tcmalloc_internal::HotCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 2
    functionsReached:
    - Allocate
    - Deallocate
    - std::vector::resize
    - Reclaim
    linkageType: ''
    returnType: void
    signature: void HotCacheOperations(CpuCache& cache, int cpu_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1169,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1175,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1179,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1179,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1182,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1188,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1190,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1200,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1201,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1206,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1208,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1209,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1224
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - ASSERT_GT
    - SizeMap::CurrentClasses
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::Reclaim
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - ASSERT_LT
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::forwarder
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetIntervalCacheMissStats
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST_F(DynamicWideSlabTest, DynamicSlabThreshold)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1228,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1231,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1234,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1238,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1238,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1243,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1254,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1261,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1261,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1264,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1269,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1275
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - std::ref
    - CpuCache::forwarder
    - SizeMap::Init
    - NumCPUs
    - CpuCache::ResizeSlabIfNeeded
    - std::min
    - CpuCache::Deactivate
    - absl::Milliseconds
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST_F(DynamicWideSlabTest, DynamicSlabParamsChange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1280,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1283,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1286,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1289,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1290,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1293,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1295,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1298,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1298,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1305,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1310,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1310,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1311,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1315,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1317,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1318,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1320,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1321,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1324
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - munlockall
    - mlockall
    - NumCPUs
    - std::min
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::Deactivate
    - absl::Milliseconds
    - ASSERT_EQ
    - std::thread
    - EXPECT_EQ
    - CpuCache::forwarder
    - join
    - std::vector::push_back
    - absl::SleepFor
    - std::ref
    - SizeMap::Init
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, MaxCapacityResizeFailedBytesMlocked)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1329,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1332,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1335,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1338,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1339,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1342,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1344,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1347,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1347,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1354,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1360,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1360,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1366,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1369,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1371,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1372,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1375
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - munlockall
    - mlockall
    - NumCPUs
    - std::min
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Deactivate
    - absl::Milliseconds
    - ASSERT_EQ
    - std::thread
    - EXPECT_EQ
    - CpuCache::forwarder
    - join
    - std::vector::push_back
    - absl::SleepFor
    - std::ref
    - SizeMap::Init
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SlabResizeFailedBytesMlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1380,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
    - cpu_cache
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SlabUsage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1384,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1391,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1392,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1410,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1413,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1414,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1419,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1421,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1424,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1425,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1430,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1431,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1433,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1436,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1442,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1443,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1448,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1450,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1454,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1454,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1456,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1456,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1464
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - EXPECT_GT
    - CpuCache::SetCacheLimit
    - EXPECT_LT
    - CpuCache::Unallocated
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ShuffleCpuCaches
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ColdHotCacheShuffleTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1467,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1472,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1475,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1481,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1485,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1485,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1488,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1489,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1498,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1502,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1502,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1503,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1508,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1508,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1512,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1517,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1520,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1520,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1523,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1528,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1528,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1539,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1539,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1542,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1542,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1546,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1546,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1547,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1552,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1558,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1558,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1561,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1561,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1564,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1564,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1569,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1576,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1576,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1577,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1577,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1582
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - ASSERT_NE
    - CpuCache::HasPopulated
    - CpuCache::GetTotalCacheMissStats
    - EXPECT_EQ
    - CpuCache::UsedBytes
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - EXPECT_TRUE
    - SCOPED_TRACE
    - CpuCache::GetAndUpdateIntervalCacheMissStats
    - CpuCache::GetNumReclaims
    - EXPECT_GT
    - CpuCache::TryReclaimingCaches
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Uniform<int32_t>
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ReclaimCpuCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1585,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1590,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1592,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1594,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1598,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1598,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1599,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1604,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1604,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1611,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1612,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1616,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1618,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1628,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1628,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1629,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1634,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1640,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1641,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1645,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1650,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1652,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1653,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1655,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1658
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - static_cast<double>
    - CpuCache::HasPopulated
    - CpuCache::Reclaim
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - CpuCache::GetSizeClassCapacityStats
    - EXPECT_EQ
    - SCOPED_TRACE
    - EXPECT_DOUBLE_EQ
    - CpuCache::forwarder
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SizeClassCapacityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1662
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::CpuCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void CpuCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1663
    functionName: ~CpuCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Deactivate
    linkageType: ''
    returnType: void
    signature: void ~CpuCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1666,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1668
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
    - store
    linkageType: ''
    returnType: void
    signature: void Activate()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1672,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1673,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1676,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1677,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1680,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1680,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1689,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1690,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1693,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1694,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1694,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1700,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1700,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1703,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1703,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1706,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1706,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1709,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1709,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1712,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1713,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1714,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1718,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1718,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1721,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1721,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1724,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1724,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1728,1
    - Dst: TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1733,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1738,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1742,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1742,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1745,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1747,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1749,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1751,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1752,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1753,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1757,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1758,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1759,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1764,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1769,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1776,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1786,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1789
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetSizeClassCapacityStats
    - Capacity
    - TryReclaimingCaches
    - TotalUsedBytes
    - GetNumReclaims
    - Unallocated
    - MetadataMemoryUsage
    - ShuffleCpuCaches
    - TotalObjectsOfClass
    - benchmark::DoNotOptimize
    - GetIntervalCacheMissStats
    - ANNOTATE_MEMORY_IS_UNINITIALIZED
    - load
    - EXPECT_NE
    - absl::Uniform
    - static_cast<char*>
    - EXPECT_GT
    - Reclaim
    - GetAndUpdateIntervalCacheMissStats
    - PrintInPbtxt
    - std::string::resize
    - std::string::size
    - Allocate
    - UsedBytes
    - std::string::data
    - GTEST_FAIL
    - GetTotalCacheMissStats
    - Allocated
    - EXPECT_GE
    - CacheLimit
    - Print
    - HasPopulated
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke(absl::BitGenRef rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1791
    functionName: '& cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CpuCache
    signature: CpuCache & cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::num_cpus
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_cpus() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1804,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1816,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1819,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1819,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1820,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1823,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1823,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1824,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1825,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1825,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1836,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1837,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1838,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1839,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1842,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1847,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1848,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1848,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1851
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - CpuCacheEnvironment::num_cpus
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - std::string::size
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - std::string::resize
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, Fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1811
    functionName: tcmalloc::tcmalloc_internal::ThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ThreadState
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1855,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1867,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1868,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1873,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1875,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1879,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1879,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1880,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1888,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1888,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1902,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1906,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1906,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1917,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1918,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1919,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1920,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1923,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1924,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1925
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CpuCacheEnvironment::num_cpus
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::optional::emplace
    - absl::SleepFor
    - EXPECT_EQ
    - CpuCacheEnvironment::RandomlyPoke
    - CpuCacheEnvironment::Activate
    - ASSERT_TRUE
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::cache
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, DISABLED_ChangingSizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1862
    functionName: tcmalloc::tcmalloc_internal::ThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ThreadState
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1930,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1931,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1932,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1933,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1934,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1935,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1936,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1937,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1937,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1938,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1938,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1939,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1940,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1941,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1941,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1942,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1943,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1943,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1944,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1944,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1945,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1946,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1947,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1948,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1948,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1949,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1950,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1951,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1952,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1952,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1953,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1954,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1955,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1956
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - F
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, TargetOverflowRefillCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    linkageType: ''
    returnType: int
    signature: int VirtualCpuSynchronize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    linkageType: ''
    returnType: int
    signature: int VirtualCpuSynchronize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freelist_::GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cpu_cache'
    argTypes:
    - CpuCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 8
    functionsReached:
    - freelist_::GetShift
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetSlabShift(const CpuCache& cpu_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:76,1
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' cpu_cache'
    argTypes:
    - CpuCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 2
    functionsReached:
    - RecordCacheMissStat
    linkageType: ''
    returnType: void
    signature: void IncrementCacheMisses(CpuCache& cpu_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:84,1
    - Dst: EstimateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:90,1
    - Dst: GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:90,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:91,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' cpu_cache'
    argTypes:
    - CpuCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 2
    functionsReached:
    - EstimateSlabBytes
    - GetMaxCapacityFunctor
    - EXPECT_GT
    - EXPECT_LE
    - GetPerCpuSlabShiftBounds
    linkageType: ''
    returnType: void
    signature: void ValidateSlabBytes(const CpuCache& cpu_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeInfoSize
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ResizeInfoSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::TestStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void TestStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:115,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_shards
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::InitializeShardedManager
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void InitializeShardedManager(int num_shards)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - mmap
    linkageType: ''
    returnType: void
    signature: void * Alloc(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:125,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::AllocReportedImpending
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - mmap
    linkageType: ''
    returnType: void
    signature: void * AllocReportedImpending(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::Dealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - munmap
    linkageType: ''
    returnType: void
    signature: void Dealloc(void* ptr, size_t size, std::align_val_t /*alignment*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - allocated
    - nonresident
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::ArenaUpdateAllocatedAndNonresident
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void ArenaUpdateAllocatedAndNonresident(int64_t allocated,\n                                          int64_t
      nonresident)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool per_cpu_caches_dynamic_slab_enabled()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_grow_threshold()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_shrink_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes_v2
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes_v2() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:170,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:171,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
    - has_value
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:178,1
    - Dst: ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ColdSizeClasses
    - has_value
    linkageType: ''
    returnType: absl::Span<const size_t>
    signature: absl::Span<const size_t> cold_size_classes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:186,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:187,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 3
    functionsReached:
    - has_value
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '& numa_topology() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseWiderSlabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: '& sharded_transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '& sharded_transfer_cache() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_transfer_cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: "&\n  transfer_cache()"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: "TwoSizeClassManager<FakeCentralFreeList,\n                      internal_transfer_cache::TransferCache>"
    signature: "TwoSizeClassManager<FakeCentralFreeList,\n                      internal_transfer_cache::TransferCache>
      &\n  transfer_cache()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UseGenericCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - UseGenericCache
    linkageType: ''
    returnType: bool
    signature: bool UseGenericShardedCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetGenericCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::SetGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericCache
    linkageType: ''
    returnType: void
    signature: void SetGenericShardedCache(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnableCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EnableCacheForLargeClassesOnly
    linkageType: ''
    returnType: bool
    signature: bool UseShardedCacheForLargeClassesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::SetShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetCacheForLargeClassesOnly
    linkageType: ''
    returnType: void
    signature: void SetShardedCacheForLargeClassesOnly(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveHooks() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:254,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:258,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:261,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:262,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:263,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:265,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:267,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:268,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:273,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:274,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:274,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:277,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:281,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:283,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:284,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:285,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:289,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:289,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:290,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:292,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:292,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:294,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:296,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:296,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:300,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 302
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - should_use
    - CpuCache::Allocate
    - EXPECT_FALSE
    - transfer_cache
    - CpuCache::Deallocate
    - CpuCache::Reclaim
    - shard_initialized
    - EXPECT_EQ
    - TC_ASSERT_GT
    - SetGenericShardedCache
    - CpuCache::forwarder
    - NumActiveShards
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, MinimumShardsForGenericCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:309,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:313,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:316,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:318,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:319,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:322,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:330,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:331,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:335,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:340,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:346,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:347,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:350,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:358,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:359,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::Deactivate
    - CpuCache::Allocate
    - EXPECT_FALSE
    - CpuCache::Deallocate
    - transfer_cache
    - CpuCache::Reclaim
    - shard_initialized
    - EXPECT_EQ
    - EXPECT_TRUE
    - TC_ASSERT_GT
    - SetGenericShardedCache
    - CpuCache::forwarder
    - NumActiveShards
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, UsesShardedAsBackingCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCachePeer::ResizeInfoSize<CpuCache>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CpuCachePeer::ResizeInfoSize<CpuCache>
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeInfoNoFalseSharing)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:369,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:373,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:377,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:377,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:380,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:383,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:385,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:386,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:387,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:390,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:396,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:403,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:403,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:408,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:411,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:412,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:414,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:416,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:429,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:431,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:433,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:435,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:440,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:440,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:458,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:461,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:467,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:468,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:470,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:471,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:474,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:477,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:478,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:490,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:491,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:492,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:500,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:503,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:506,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:511,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:514,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:518,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:519,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:521,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:522,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:522,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:526,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:534,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:538,1
    - Dst: CpuCache::TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:538,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:542,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:543,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:545,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:549,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 552
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - NumCPUs
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - CpuCache::Allocated
    - CpuCache::HasPopulated
    - ASSUME
    - CpuCache::Deactivate
    - CpuCache::Allocate
    - EXPECT_FALSE
    - CpuCache::Deallocate
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::Capacity
    - EXPECT_NE
    - EXPECT_EQ
    - CpuCache::UsedBytes
    - EXPECT_TRUE
    - EXPECT_GT
    - EXPECT_LE
    - CpuCache::MetadataMemoryUsage
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - CpuCache::forwarder
    - CpuCache::TotalUsedBytes
    - count_cores
    - SCOPED_TRACE
    - CpuCache::TotalObjectsOfClass
    - CpuCache::GetPerCpuSlabShiftBounds
    - EXPECT_GE
    - CpuCache::Unallocated
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::StrCat
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, Metadata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:555,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:559,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:562,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:567,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:570,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:588,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:590,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:592,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:594,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:601,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:608,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:609,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:612,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:616,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 618
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - CpuCache::Deallocate
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::GetTotalCacheMissStats
    - EXPECT_EQ
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetIntervalCacheMissStats
    - CpuCache::Allocate
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, CacheMissStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:621,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:627,1
    - Dst: tcmalloc::tcmalloc_internal::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:628,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:629,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 631
    functionName: tcmalloc::tcmalloc_internal::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 3
    functionsReached:
    - load
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::ResizeSizeClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void ResizeSizeClasses(CpuCache& cache, const std::atomic<bool>& stop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:634,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:640,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:641,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::ShuffleThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ShuffleCpuCaches
    - load
    - absl::SleepFor
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void ShuffleThread(CpuCache& cache, const std::atomic<bool>& stop)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:648,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:654,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:655,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:658,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:659,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:660,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:660,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:663,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:665,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:671,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ' cache'
    - thread_id
    - ' stop'
    argTypes:
    - CpuCache
    - size_t
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 674
    functionName: tcmalloc::tcmalloc_internal::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - load
    - std::vector::pop_back
    - std::vector::back
    - std::vector::size
    - std::vector::emplace_back
    - tcmalloc_internal::subtle::percpu::IsFast
    - Allocate
    - Deallocate
    - std::vector::empty
    - std::make_pair
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: "void StressThread(CpuCache& cache, size_t thread_id,\n                         const
      std::atomic<bool>& stop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:681,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:682,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:685,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' cache'
    - cpu
    - size_class
    - ops
    argTypes:
    - CpuCache
    - int
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 688
    functionName: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 4
    functionsReached:
    - Allocate
    - Deallocate
    - std::vector::clear
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void AllocateThenDeallocate(CpuCache& cache, int cpu, size_t size_class,\n
      \                           int ops)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:701,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:709,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:710,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:719,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:719,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:721,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:722,1
    - Dst: CpuCache::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:722,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:725,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:734,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:740,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:744,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:744,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:747,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:755,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:759,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:760,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:766,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:774,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:775,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:782,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:784,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:784,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 789
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - ASSERT_LT
    - CpuCache::GetCapacityOfSizeClass
    - EXPECT_GT
    - CpuCache::SetCacheLimit
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::CacheLimit
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeMaxCapacityTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:793,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:799,1
    - Dst: ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:800,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:801,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 803
    functionName: tcmalloc::tcmalloc_internal::ResizeMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ResizeSizeClassMaxCapacities
    - load
    - absl::SleepFor
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacities(CpuCache& cache,\n                                const
      std::atomic<bool>& stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:806,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:811,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:822,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:822,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:826,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:832,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:832,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:835,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:837,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:842,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:845,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:850,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:850,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:852,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:854,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 856
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::Allocated
    - CpuCache::GetMaxCapacity
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StressMaxCapacityResize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:859,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:868,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:872,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:881,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:883,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:891,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:894,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:896,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 897
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StressSizeClassResize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:900,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:905,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:909,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:913,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:918,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:918,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:921,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:923,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:927,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:931,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:934,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:936,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 937
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StealCpuCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:942,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:950,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:956,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:959,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:963,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:979,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:979,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:983,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:984,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:986,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:988,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:998,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1006,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1008,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1013,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1016,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 1017
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::thread
    - EXPECT_EQ
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    - std::ref
    - EXPECT_LT
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::forwarder
    - CpuCache::ResizeSlabIfNeeded
    - NumCPUs
    - repeat_dynamic_slab_ops
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Deactivate
    - absl::Milliseconds
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, DynamicSlab)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1030,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1037,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1038,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1048,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1049,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1052,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1054,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1065,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1069,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1070,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1070,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1072,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1075,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1077,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1085,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1085,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1088,1
    - Dst: CpuCache::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1092,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1103,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1104,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1104,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1106,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1114,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1114,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1116,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1116,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1120
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CpuCache::Allocated
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - CpuCache::SetCacheLimit
    - CpuCache::TotalObjectsOfClass
    - CpuCache::forwarder
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::ResizeSizeClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Deactivate
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeSizeClassesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' cache'
    - cpu_id
    - size_class
    argTypes:
    - CpuCache
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1131
    functionName: tcmalloc::tcmalloc_internal::ColdCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 8
    functionsReached:
    - Allocate
    - Deallocate
    linkageType: ''
    returnType: void
    signature: "void ColdCacheOperations(CpuCache& cache, int cpu_id,\n                                size_t
      size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1139,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1150,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1153,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' cache'
    - cpu_id
    argTypes:
    - CpuCache
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1161
    functionName: tcmalloc::tcmalloc_internal::HotCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 4
    functionsReached:
    - Allocate
    - Deallocate
    - std::vector::resize
    - Reclaim
    linkageType: ''
    returnType: void
    signature: void HotCacheOperations(CpuCache& cache, int cpu_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1169,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1175,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1179,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1179,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1182,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1188,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1190,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1200,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1201,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1206,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1208,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1209,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1224
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - ASSERT_GT
    - SizeMap::CurrentClasses
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::Reclaim
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - ASSERT_LT
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::forwarder
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetIntervalCacheMissStats
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST_F(DynamicWideSlabTest, DynamicSlabThreshold)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1228,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1231,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1234,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1238,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1238,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1243,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1254,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1261,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1261,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1264,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1269,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1275
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - std::ref
    - CpuCache::forwarder
    - SizeMap::Init
    - NumCPUs
    - CpuCache::ResizeSlabIfNeeded
    - std::min
    - CpuCache::Deactivate
    - absl::Milliseconds
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST_F(DynamicWideSlabTest, DynamicSlabParamsChange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1280,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1283,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1286,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1289,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1290,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1293,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1295,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1298,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1298,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1305,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1310,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1310,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1311,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1315,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1317,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1318,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1320,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1321,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1324
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - munlockall
    - mlockall
    - NumCPUs
    - std::min
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::Deactivate
    - absl::Milliseconds
    - ASSERT_EQ
    - std::thread
    - EXPECT_EQ
    - CpuCache::forwarder
    - join
    - std::vector::push_back
    - absl::SleepFor
    - std::ref
    - SizeMap::Init
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, MaxCapacityResizeFailedBytesMlocked)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1329,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1332,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1335,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1338,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1339,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1342,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1344,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1347,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1347,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1354,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1360,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1360,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1366,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1369,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1371,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1372,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1375
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - munlockall
    - mlockall
    - NumCPUs
    - std::min
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Deactivate
    - absl::Milliseconds
    - ASSERT_EQ
    - std::thread
    - EXPECT_EQ
    - CpuCache::forwarder
    - join
    - std::vector::push_back
    - absl::SleepFor
    - std::ref
    - SizeMap::Init
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SlabResizeFailedBytesMlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1380,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
    - cpu_cache
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SlabUsage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1384,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1391,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1392,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1410,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1413,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1414,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1419,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1421,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1424,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1425,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1430,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1431,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1433,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1436,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1442,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1443,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1448,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1450,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1454,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1454,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1456,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1456,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1464
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - EXPECT_GT
    - CpuCache::SetCacheLimit
    - EXPECT_LT
    - CpuCache::Unallocated
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ShuffleCpuCaches
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ColdHotCacheShuffleTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1467,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1472,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1475,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1481,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1485,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1485,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1488,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1489,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1498,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1502,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1502,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1503,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1508,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1508,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1512,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1517,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1520,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1520,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1523,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1528,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1528,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1539,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1539,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1542,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1542,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1546,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1546,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1547,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1552,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1558,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1558,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1561,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1561,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1564,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1564,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1569,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1576,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1576,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1577,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1577,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1582
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - ASSERT_NE
    - CpuCache::HasPopulated
    - CpuCache::GetTotalCacheMissStats
    - EXPECT_EQ
    - CpuCache::UsedBytes
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - EXPECT_TRUE
    - SCOPED_TRACE
    - CpuCache::GetAndUpdateIntervalCacheMissStats
    - CpuCache::GetNumReclaims
    - EXPECT_GT
    - CpuCache::TryReclaimingCaches
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Uniform<int32_t>
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ReclaimCpuCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1585,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1590,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1592,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1594,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1598,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1598,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1599,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1604,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1604,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1611,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1612,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1616,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1618,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1628,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1628,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1629,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1634,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1640,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1641,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1645,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1650,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1652,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1653,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1655,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1658
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - static_cast<double>
    - CpuCache::HasPopulated
    - CpuCache::Reclaim
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - CpuCache::GetSizeClassCapacityStats
    - EXPECT_EQ
    - SCOPED_TRACE
    - EXPECT_DOUBLE_EQ
    - CpuCache::forwarder
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SizeClassCapacityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1662
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::CpuCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void CpuCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1663
    functionName: ~CpuCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Deactivate
    linkageType: ''
    returnType: void
    signature: void ~CpuCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1666,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1668
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
    - store
    linkageType: ''
    returnType: void
    signature: void Activate()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1672,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1673,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1676,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1677,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1680,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1680,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1689,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1690,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1693,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1694,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1694,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1700,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1700,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1703,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1703,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1706,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1706,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1709,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1709,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1712,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1713,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1714,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1718,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1718,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1721,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1721,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1724,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1724,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1728,1
    - Dst: TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1733,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1738,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1742,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1742,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1745,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1747,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1749,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1751,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1752,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1753,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1757,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1758,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1759,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1764,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1769,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1776,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1786,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1789
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetSizeClassCapacityStats
    - Capacity
    - TryReclaimingCaches
    - TotalUsedBytes
    - GetNumReclaims
    - Unallocated
    - MetadataMemoryUsage
    - ShuffleCpuCaches
    - TotalObjectsOfClass
    - benchmark::DoNotOptimize
    - GetIntervalCacheMissStats
    - ANNOTATE_MEMORY_IS_UNINITIALIZED
    - load
    - EXPECT_NE
    - absl::Uniform
    - static_cast<char*>
    - EXPECT_GT
    - Reclaim
    - GetAndUpdateIntervalCacheMissStats
    - PrintInPbtxt
    - std::string::resize
    - std::string::size
    - Allocate
    - UsedBytes
    - std::string::data
    - GTEST_FAIL
    - GetTotalCacheMissStats
    - Allocated
    - EXPECT_GE
    - CacheLimit
    - Print
    - HasPopulated
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke(absl::BitGenRef rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1791
    functionName: '& cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CpuCache
    signature: CpuCache & cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::num_cpus
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_cpus() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1804,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1816,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1819,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1819,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1820,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1823,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1823,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1824,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1825,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1825,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1836,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1837,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1838,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1839,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1842,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1847,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1848,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1848,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1851
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - CpuCacheEnvironment::num_cpus
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - std::string::size
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - std::string::resize
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, Fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1811
    functionName: tcmalloc::tcmalloc_internal::ThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ThreadState
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1855,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1867,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1868,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1873,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1875,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1879,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1879,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1880,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1888,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1888,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1902,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1906,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1906,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1917,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1918,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1919,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1920,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1923,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1924,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1925
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CpuCacheEnvironment::num_cpus
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::optional::emplace
    - absl::SleepFor
    - EXPECT_EQ
    - CpuCacheEnvironment::RandomlyPoke
    - CpuCacheEnvironment::Activate
    - ASSERT_TRUE
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::cache
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, DISABLED_ChangingSizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1862
    functionName: tcmalloc::tcmalloc_internal::ThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ThreadState
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1930,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1931,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1932,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1933,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1934,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1935,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1936,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1937,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1937,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1938,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1938,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1939,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1940,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1941,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1941,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1942,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1943,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1943,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1944,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1944,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1945,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1946,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1947,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1948,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1948,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1949,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1950,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1951,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1952,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1952,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1953,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1954,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1955,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1956
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - F
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, TargetOverflowRefillCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::TestStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void TestStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:115,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_shards
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::InitializeShardedManager
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void InitializeShardedManager(int num_shards)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - mmap
    linkageType: ''
    returnType: void
    signature: void * Alloc(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:125,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::AllocReportedImpending
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - mmap
    linkageType: ''
    returnType: void
    signature: void * AllocReportedImpending(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::Dealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - munmap
    linkageType: ''
    returnType: void
    signature: void Dealloc(void* ptr, size_t size, std::align_val_t /*alignment*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - allocated
    - nonresident
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::ArenaUpdateAllocatedAndNonresident
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void ArenaUpdateAllocatedAndNonresident(int64_t allocated,\n                                          int64_t
      nonresident)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool per_cpu_caches_dynamic_slab_enabled()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_grow_threshold()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_shrink_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes_v2
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes_v2() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:170,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:171,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
    - has_value
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:178,1
    - Dst: ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ColdSizeClasses
    - has_value
    linkageType: ''
    returnType: absl::Span<const size_t>
    signature: absl::Span<const size_t> cold_size_classes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:186,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:187,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 4
    functionsReached:
    - has_value
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '& numa_topology() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseWiderSlabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: '& sharded_transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '& sharded_transfer_cache() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_transfer_cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: "&\n  transfer_cache()"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: "TwoSizeClassManager<FakeCentralFreeList,\n                      internal_transfer_cache::TransferCache>"
    signature: "TwoSizeClassManager<FakeCentralFreeList,\n                      internal_transfer_cache::TransferCache>
      &\n  transfer_cache()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UseGenericCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - UseGenericCache
    linkageType: ''
    returnType: bool
    signature: bool UseGenericShardedCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetGenericCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::SetGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericCache
    linkageType: ''
    returnType: void
    signature: void SetGenericShardedCache(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnableCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EnableCacheForLargeClassesOnly
    linkageType: ''
    returnType: bool
    signature: bool UseShardedCacheForLargeClassesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::SetShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetCacheForLargeClassesOnly
    linkageType: ''
    returnType: void
    signature: void SetShardedCacheForLargeClassesOnly(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveHooks() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:254,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:258,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:261,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:262,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:263,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:265,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:267,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:268,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:273,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:274,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:274,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:277,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:281,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:283,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:284,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:285,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:289,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:289,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:290,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:292,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:292,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:294,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:296,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:296,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:300,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 302
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - should_use
    - CpuCache::Allocate
    - EXPECT_FALSE
    - transfer_cache
    - CpuCache::Deallocate
    - CpuCache::Reclaim
    - shard_initialized
    - EXPECT_EQ
    - TC_ASSERT_GT
    - SetGenericShardedCache
    - CpuCache::forwarder
    - NumActiveShards
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, MinimumShardsForGenericCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:309,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:313,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:316,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:318,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:319,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:322,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:330,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:331,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:335,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:340,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:346,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:347,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:350,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:358,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:359,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::Deactivate
    - CpuCache::Allocate
    - EXPECT_FALSE
    - CpuCache::Deallocate
    - transfer_cache
    - CpuCache::Reclaim
    - shard_initialized
    - EXPECT_EQ
    - EXPECT_TRUE
    - TC_ASSERT_GT
    - SetGenericShardedCache
    - CpuCache::forwarder
    - NumActiveShards
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, UsesShardedAsBackingCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCachePeer::ResizeInfoSize<CpuCache>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CpuCachePeer::ResizeInfoSize<CpuCache>
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeInfoNoFalseSharing)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:369,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:373,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:377,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:377,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:380,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:383,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:385,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:386,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:387,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:390,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:396,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:403,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:403,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:408,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:411,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:412,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:414,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:416,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:429,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:431,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:433,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:435,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:440,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:440,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:458,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:461,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:467,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:468,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:470,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:471,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:474,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:477,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:478,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:490,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:491,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:492,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:500,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:503,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:506,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:511,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:514,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:518,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:519,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:521,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:522,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:522,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:526,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:534,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:538,1
    - Dst: CpuCache::TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:538,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:542,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:543,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:545,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:549,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 552
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - NumCPUs
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - CpuCache::Allocated
    - CpuCache::HasPopulated
    - ASSUME
    - CpuCache::Deactivate
    - CpuCache::Allocate
    - EXPECT_FALSE
    - CpuCache::Deallocate
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::Capacity
    - EXPECT_NE
    - EXPECT_EQ
    - CpuCache::UsedBytes
    - EXPECT_TRUE
    - EXPECT_GT
    - EXPECT_LE
    - CpuCache::MetadataMemoryUsage
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - CpuCache::forwarder
    - CpuCache::TotalUsedBytes
    - count_cores
    - SCOPED_TRACE
    - CpuCache::TotalObjectsOfClass
    - CpuCache::GetPerCpuSlabShiftBounds
    - EXPECT_GE
    - CpuCache::Unallocated
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::StrCat
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, Metadata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:555,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:559,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:562,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:567,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:570,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:588,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:590,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:592,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:594,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:601,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:608,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:609,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:612,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:616,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 618
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - CpuCache::Deallocate
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::GetTotalCacheMissStats
    - EXPECT_EQ
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetIntervalCacheMissStats
    - CpuCache::Allocate
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, CacheMissStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:621,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:627,1
    - Dst: tcmalloc::tcmalloc_internal::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:628,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:629,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 631
    functionName: tcmalloc::tcmalloc_internal::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 4
    functionsReached:
    - load
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::ResizeSizeClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void ResizeSizeClasses(CpuCache& cache, const std::atomic<bool>& stop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:634,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:640,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:641,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::ShuffleThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ShuffleCpuCaches
    - load
    - absl::SleepFor
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void ShuffleThread(CpuCache& cache, const std::atomic<bool>& stop)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:648,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:654,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:655,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:658,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:659,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:660,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:660,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:663,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:665,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:671,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ' cache'
    - thread_id
    - ' stop'
    argTypes:
    - CpuCache
    - size_t
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 674
    functionName: tcmalloc::tcmalloc_internal::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - load
    - std::vector::pop_back
    - std::vector::back
    - std::vector::size
    - std::vector::emplace_back
    - tcmalloc_internal::subtle::percpu::IsFast
    - Allocate
    - Deallocate
    - std::vector::empty
    - std::make_pair
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: "void StressThread(CpuCache& cache, size_t thread_id,\n                         const
      std::atomic<bool>& stop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:681,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:682,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:685,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' cache'
    - cpu
    - size_class
    - ops
    argTypes:
    - CpuCache
    - int
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 688
    functionName: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 6
    functionsReached:
    - Allocate
    - Deallocate
    - std::vector::clear
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void AllocateThenDeallocate(CpuCache& cache, int cpu, size_t size_class,\n
      \                           int ops)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:701,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:709,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:710,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:719,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:719,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:721,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:722,1
    - Dst: CpuCache::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:722,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:725,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:734,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:740,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:744,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:744,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:747,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:755,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:759,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:760,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:766,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:774,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:775,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:782,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:784,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:784,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 789
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - ASSERT_LT
    - CpuCache::GetCapacityOfSizeClass
    - EXPECT_GT
    - CpuCache::SetCacheLimit
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::CacheLimit
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeMaxCapacityTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:793,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:799,1
    - Dst: ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:800,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:801,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 803
    functionName: tcmalloc::tcmalloc_internal::ResizeMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ResizeSizeClassMaxCapacities
    - load
    - absl::SleepFor
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacities(CpuCache& cache,\n                                const
      std::atomic<bool>& stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:806,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:811,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:822,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:822,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:826,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:832,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:832,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:835,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:837,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:842,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:845,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:850,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:850,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:852,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:854,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 856
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::Allocated
    - CpuCache::GetMaxCapacity
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StressMaxCapacityResize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:859,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:868,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:872,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:881,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:883,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:891,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:894,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:896,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 897
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StressSizeClassResize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:900,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:905,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:909,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:913,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:918,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:918,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:921,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:923,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:927,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:931,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:934,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:936,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 937
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StealCpuCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:942,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:950,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:956,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:959,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:963,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:979,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:979,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:983,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:984,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:986,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:988,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:998,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1006,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1008,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1013,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1016,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 1017
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::thread
    - EXPECT_EQ
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    - std::ref
    - EXPECT_LT
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::forwarder
    - CpuCache::ResizeSlabIfNeeded
    - NumCPUs
    - repeat_dynamic_slab_ops
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Deactivate
    - absl::Milliseconds
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, DynamicSlab)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1030,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1037,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1038,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1048,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1049,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1052,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1054,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1065,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1069,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1070,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1070,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1072,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1075,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1077,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1085,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1085,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1088,1
    - Dst: CpuCache::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1092,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1103,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1104,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1104,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1106,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1114,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1114,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1116,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1116,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1120
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CpuCache::Allocated
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - CpuCache::SetCacheLimit
    - CpuCache::TotalObjectsOfClass
    - CpuCache::forwarder
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::ResizeSizeClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Deactivate
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeSizeClassesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' cache'
    - cpu_id
    - size_class
    argTypes:
    - CpuCache
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1131
    functionName: tcmalloc::tcmalloc_internal::ColdCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 12
    functionsReached:
    - Allocate
    - Deallocate
    linkageType: ''
    returnType: void
    signature: "void ColdCacheOperations(CpuCache& cache, int cpu_id,\n                                size_t
      size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1139,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1150,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1153,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' cache'
    - cpu_id
    argTypes:
    - CpuCache
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1161
    functionName: tcmalloc::tcmalloc_internal::HotCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 6
    functionsReached:
    - Allocate
    - Deallocate
    - std::vector::resize
    - Reclaim
    linkageType: ''
    returnType: void
    signature: void HotCacheOperations(CpuCache& cache, int cpu_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1169,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1175,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1179,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1179,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1182,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1188,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1190,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1200,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1201,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1206,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1208,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1209,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1224
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - ASSERT_GT
    - SizeMap::CurrentClasses
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::Reclaim
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - ASSERT_LT
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::forwarder
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetIntervalCacheMissStats
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST_F(DynamicWideSlabTest, DynamicSlabThreshold)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1228,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1231,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1234,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1238,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1238,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1243,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1254,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1261,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1261,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1264,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1269,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1275
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - std::ref
    - CpuCache::forwarder
    - SizeMap::Init
    - NumCPUs
    - CpuCache::ResizeSlabIfNeeded
    - std::min
    - CpuCache::Deactivate
    - absl::Milliseconds
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST_F(DynamicWideSlabTest, DynamicSlabParamsChange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1280,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1283,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1286,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1289,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1290,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1293,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1295,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1298,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1298,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1305,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1310,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1310,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1311,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1315,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1317,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1318,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1320,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1321,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1324
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - munlockall
    - mlockall
    - NumCPUs
    - std::min
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::Deactivate
    - absl::Milliseconds
    - ASSERT_EQ
    - std::thread
    - EXPECT_EQ
    - CpuCache::forwarder
    - join
    - std::vector::push_back
    - absl::SleepFor
    - std::ref
    - SizeMap::Init
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, MaxCapacityResizeFailedBytesMlocked)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1329,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1332,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1335,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1338,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1339,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1342,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1344,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1347,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1347,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1354,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1360,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1360,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1366,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1369,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1371,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1372,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1375
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - munlockall
    - mlockall
    - NumCPUs
    - std::min
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Deactivate
    - absl::Milliseconds
    - ASSERT_EQ
    - std::thread
    - EXPECT_EQ
    - CpuCache::forwarder
    - join
    - std::vector::push_back
    - absl::SleepFor
    - std::ref
    - SizeMap::Init
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SlabResizeFailedBytesMlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1380,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
    - cpu_cache
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SlabUsage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1384,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1391,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1392,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1410,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1413,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1414,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1419,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1421,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1424,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1425,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1430,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1431,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1433,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1436,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1442,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1443,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1448,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1450,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1454,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1454,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1456,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1456,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1464
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - EXPECT_GT
    - CpuCache::SetCacheLimit
    - EXPECT_LT
    - CpuCache::Unallocated
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ShuffleCpuCaches
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ColdHotCacheShuffleTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1467,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1472,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1475,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1481,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1485,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1485,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1488,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1489,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1498,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1502,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1502,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1503,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1508,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1508,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1512,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1517,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1520,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1520,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1523,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1528,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1528,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1539,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1539,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1542,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1542,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1546,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1546,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1547,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1552,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1558,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1558,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1561,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1561,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1564,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1564,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1569,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1576,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1576,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1577,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1577,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1582
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - ASSERT_NE
    - CpuCache::HasPopulated
    - CpuCache::GetTotalCacheMissStats
    - EXPECT_EQ
    - CpuCache::UsedBytes
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - EXPECT_TRUE
    - SCOPED_TRACE
    - CpuCache::GetAndUpdateIntervalCacheMissStats
    - CpuCache::GetNumReclaims
    - EXPECT_GT
    - CpuCache::TryReclaimingCaches
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Uniform<int32_t>
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ReclaimCpuCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1585,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1590,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1592,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1594,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1598,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1598,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1599,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1604,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1604,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1611,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1612,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1616,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1618,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1628,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1628,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1629,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1634,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1640,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1641,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1645,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1650,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1652,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1653,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1655,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1658
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - static_cast<double>
    - CpuCache::HasPopulated
    - CpuCache::Reclaim
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - CpuCache::GetSizeClassCapacityStats
    - EXPECT_EQ
    - SCOPED_TRACE
    - EXPECT_DOUBLE_EQ
    - CpuCache::forwarder
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SizeClassCapacityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1662
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::CpuCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void CpuCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1663
    functionName: ~CpuCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Deactivate
    linkageType: ''
    returnType: void
    signature: void ~CpuCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1666,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1668
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
    - store
    linkageType: ''
    returnType: void
    signature: void Activate()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1672,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1673,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1676,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1677,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1680,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1680,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1689,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1690,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1693,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1694,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1694,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1700,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1700,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1703,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1703,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1706,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1706,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1709,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1709,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1712,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1713,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1714,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1718,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1718,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1721,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1721,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1724,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1724,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1728,1
    - Dst: TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1733,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1738,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1742,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1742,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1745,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1747,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1749,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1751,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1752,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1753,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1757,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1758,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1759,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1764,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1769,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1776,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1786,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1789
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetSizeClassCapacityStats
    - Capacity
    - TryReclaimingCaches
    - TotalUsedBytes
    - GetNumReclaims
    - Unallocated
    - MetadataMemoryUsage
    - ShuffleCpuCaches
    - TotalObjectsOfClass
    - benchmark::DoNotOptimize
    - GetIntervalCacheMissStats
    - ANNOTATE_MEMORY_IS_UNINITIALIZED
    - load
    - EXPECT_NE
    - absl::Uniform
    - static_cast<char*>
    - EXPECT_GT
    - Reclaim
    - GetAndUpdateIntervalCacheMissStats
    - PrintInPbtxt
    - std::string::resize
    - std::string::size
    - Allocate
    - UsedBytes
    - std::string::data
    - GTEST_FAIL
    - GetTotalCacheMissStats
    - Allocated
    - EXPECT_GE
    - CacheLimit
    - Print
    - HasPopulated
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke(absl::BitGenRef rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1791
    functionName: '& cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CpuCache
    signature: CpuCache & cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::num_cpus
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_cpus() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1804,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1816,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1819,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1819,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1820,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1823,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1823,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1824,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1825,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1825,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1836,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1837,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1838,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1839,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1842,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1847,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1848,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1848,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1851
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - CpuCacheEnvironment::num_cpus
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - std::string::size
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - std::string::resize
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, Fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1811
    functionName: tcmalloc::tcmalloc_internal::ThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ThreadState
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1855,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1867,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1868,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1873,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1875,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1879,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1879,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1880,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1888,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1888,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1902,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1906,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1906,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1917,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1918,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1919,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1920,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1923,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1924,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1925
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CpuCacheEnvironment::num_cpus
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::optional::emplace
    - absl::SleepFor
    - EXPECT_EQ
    - CpuCacheEnvironment::RandomlyPoke
    - CpuCacheEnvironment::Activate
    - ASSERT_TRUE
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::cache
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, DISABLED_ChangingSizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1862
    functionName: tcmalloc::tcmalloc_internal::ThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ThreadState
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1930,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1931,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1932,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1933,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1934,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1935,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1936,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1937,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1937,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1938,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1938,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1939,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1940,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1941,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1941,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1942,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1943,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1943,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1944,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1944,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1945,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1946,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1947,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1948,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1948,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1949,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1950,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1951,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1952,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1952,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1953,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1954,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1955,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1956
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - F
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, TargetOverflowRefillCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    linkageType: ''
    returnType: int
    signature: int VirtualCpuSynchronize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    linkageType: ''
    returnType: int
    signature: int VirtualCpuSynchronize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freelist_::GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cpu_cache'
    argTypes:
    - CpuCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 16
    functionsReached:
    - freelist_::GetShift
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetSlabShift(const CpuCache& cpu_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:76,1
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' cpu_cache'
    argTypes:
    - CpuCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 4
    functionsReached:
    - RecordCacheMissStat
    linkageType: ''
    returnType: void
    signature: void IncrementCacheMisses(CpuCache& cpu_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:84,1
    - Dst: EstimateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:90,1
    - Dst: GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:90,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:91,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' cpu_cache'
    argTypes:
    - CpuCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 4
    functionsReached:
    - EstimateSlabBytes
    - GetMaxCapacityFunctor
    - EXPECT_GT
    - EXPECT_LE
    - GetPerCpuSlabShiftBounds
    linkageType: ''
    returnType: void
    signature: void ValidateSlabBytes(const CpuCache& cpu_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeInfoSize
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ResizeInfoSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::TestStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void TestStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:115,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_shards
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::InitializeShardedManager
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void InitializeShardedManager(int num_shards)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - mmap
    linkageType: ''
    returnType: void
    signature: void * Alloc(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:125,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::AllocReportedImpending
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - mmap
    linkageType: ''
    returnType: void
    signature: void * AllocReportedImpending(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::Dealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - munmap
    linkageType: ''
    returnType: void
    signature: void Dealloc(void* ptr, size_t size, std::align_val_t /*alignment*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - allocated
    - nonresident
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::ArenaUpdateAllocatedAndNonresident
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void ArenaUpdateAllocatedAndNonresident(int64_t allocated,\n                                          int64_t
      nonresident)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool per_cpu_caches_dynamic_slab_enabled()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_grow_threshold()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_shrink_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes_v2
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes_v2() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:170,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:171,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
    - has_value
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:178,1
    - Dst: ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ColdSizeClasses
    - has_value
    linkageType: ''
    returnType: absl::Span<const size_t>
    signature: absl::Span<const size_t> cold_size_classes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:186,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:187,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 5
    functionsReached:
    - has_value
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '& numa_topology() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseWiderSlabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: '& sharded_transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '& sharded_transfer_cache() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_transfer_cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: "&\n  transfer_cache()"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: "TwoSizeClassManager<FakeCentralFreeList,\n                      internal_transfer_cache::TransferCache>"
    signature: "TwoSizeClassManager<FakeCentralFreeList,\n                      internal_transfer_cache::TransferCache>
      &\n  transfer_cache()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UseGenericCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - UseGenericCache
    linkageType: ''
    returnType: bool
    signature: bool UseGenericShardedCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetGenericCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::SetGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericCache
    linkageType: ''
    returnType: void
    signature: void SetGenericShardedCache(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnableCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EnableCacheForLargeClassesOnly
    linkageType: ''
    returnType: bool
    signature: bool UseShardedCacheForLargeClassesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::SetShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetCacheForLargeClassesOnly
    linkageType: ''
    returnType: void
    signature: void SetShardedCacheForLargeClassesOnly(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveHooks() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:254,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:258,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:261,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:262,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:263,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:265,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:267,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:268,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:273,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:274,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:274,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:277,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:281,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:283,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:284,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:285,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:289,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:289,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:290,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:292,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:292,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:294,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:296,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:296,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:300,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 302
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - should_use
    - CpuCache::Allocate
    - EXPECT_FALSE
    - transfer_cache
    - CpuCache::Deallocate
    - CpuCache::Reclaim
    - shard_initialized
    - EXPECT_EQ
    - TC_ASSERT_GT
    - SetGenericShardedCache
    - CpuCache::forwarder
    - NumActiveShards
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, MinimumShardsForGenericCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:309,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:313,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:316,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:318,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:319,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:322,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:330,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:331,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:335,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:340,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:346,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:347,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:350,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:358,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:359,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::Deactivate
    - CpuCache::Allocate
    - EXPECT_FALSE
    - CpuCache::Deallocate
    - transfer_cache
    - CpuCache::Reclaim
    - shard_initialized
    - EXPECT_EQ
    - EXPECT_TRUE
    - TC_ASSERT_GT
    - SetGenericShardedCache
    - CpuCache::forwarder
    - NumActiveShards
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, UsesShardedAsBackingCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCachePeer::ResizeInfoSize<CpuCache>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CpuCachePeer::ResizeInfoSize<CpuCache>
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeInfoNoFalseSharing)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:369,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:373,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:377,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:377,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:380,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:383,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:385,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:386,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:387,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:390,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:396,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:403,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:403,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:408,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:411,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:412,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:414,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:416,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:429,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:431,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:433,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:435,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:440,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:440,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:458,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:461,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:467,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:468,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:470,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:471,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:474,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:477,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:478,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:490,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:491,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:492,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:500,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:503,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:506,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:511,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:514,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:518,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:519,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:521,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:522,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:522,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:526,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:534,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:538,1
    - Dst: CpuCache::TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:538,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:542,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:543,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:545,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:549,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 552
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - NumCPUs
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - CpuCache::Allocated
    - CpuCache::HasPopulated
    - ASSUME
    - CpuCache::Deactivate
    - CpuCache::Allocate
    - EXPECT_FALSE
    - CpuCache::Deallocate
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::Capacity
    - EXPECT_NE
    - EXPECT_EQ
    - CpuCache::UsedBytes
    - EXPECT_TRUE
    - EXPECT_GT
    - EXPECT_LE
    - CpuCache::MetadataMemoryUsage
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - CpuCache::forwarder
    - CpuCache::TotalUsedBytes
    - count_cores
    - SCOPED_TRACE
    - CpuCache::TotalObjectsOfClass
    - CpuCache::GetPerCpuSlabShiftBounds
    - EXPECT_GE
    - CpuCache::Unallocated
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::StrCat
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, Metadata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:555,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:559,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:562,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:567,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:570,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:588,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:590,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:592,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:594,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:601,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:608,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:609,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:612,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:616,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 618
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - CpuCache::Deallocate
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::GetTotalCacheMissStats
    - EXPECT_EQ
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetIntervalCacheMissStats
    - CpuCache::Allocate
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, CacheMissStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:621,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:627,1
    - Dst: tcmalloc::tcmalloc_internal::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:628,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:629,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 631
    functionName: tcmalloc::tcmalloc_internal::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 5
    functionsReached:
    - load
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::ResizeSizeClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void ResizeSizeClasses(CpuCache& cache, const std::atomic<bool>& stop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:634,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:640,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:641,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::ShuffleThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ShuffleCpuCaches
    - load
    - absl::SleepFor
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void ShuffleThread(CpuCache& cache, const std::atomic<bool>& stop)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:648,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:654,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:655,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:658,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:659,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:660,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:660,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:663,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:665,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:671,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ' cache'
    - thread_id
    - ' stop'
    argTypes:
    - CpuCache
    - size_t
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 674
    functionName: tcmalloc::tcmalloc_internal::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - load
    - std::vector::pop_back
    - std::vector::back
    - std::vector::size
    - std::vector::emplace_back
    - tcmalloc_internal::subtle::percpu::IsFast
    - Allocate
    - Deallocate
    - std::vector::empty
    - std::make_pair
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: "void StressThread(CpuCache& cache, size_t thread_id,\n                         const
      std::atomic<bool>& stop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:681,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:682,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:685,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' cache'
    - cpu
    - size_class
    - ops
    argTypes:
    - CpuCache
    - int
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 688
    functionName: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 8
    functionsReached:
    - Allocate
    - Deallocate
    - std::vector::clear
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void AllocateThenDeallocate(CpuCache& cache, int cpu, size_t size_class,\n
      \                           int ops)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:701,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:709,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:710,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:719,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:719,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:721,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:722,1
    - Dst: CpuCache::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:722,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:725,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:734,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:740,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:744,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:744,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:747,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:755,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:759,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:760,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:766,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:774,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:775,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:782,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:784,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:784,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 789
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - ASSERT_LT
    - CpuCache::GetCapacityOfSizeClass
    - EXPECT_GT
    - CpuCache::SetCacheLimit
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::CacheLimit
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeMaxCapacityTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:793,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:799,1
    - Dst: ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:800,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:801,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 803
    functionName: tcmalloc::tcmalloc_internal::ResizeMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ResizeSizeClassMaxCapacities
    - load
    - absl::SleepFor
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacities(CpuCache& cache,\n                                const
      std::atomic<bool>& stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:806,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:811,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:822,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:822,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:826,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:832,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:832,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:835,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:837,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:842,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:845,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:850,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:850,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:852,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:854,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 856
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::Allocated
    - CpuCache::GetMaxCapacity
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StressMaxCapacityResize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:859,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:868,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:872,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:881,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:883,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:891,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:894,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:896,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 897
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StressSizeClassResize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:900,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:905,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:909,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:913,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:918,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:918,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:921,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:923,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:927,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:931,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:934,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:936,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 937
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StealCpuCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:942,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:950,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:956,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:959,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:963,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:979,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:979,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:983,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:984,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:986,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:988,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:998,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1006,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1008,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1013,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1016,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 1017
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::thread
    - EXPECT_EQ
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    - std::ref
    - EXPECT_LT
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::forwarder
    - CpuCache::ResizeSlabIfNeeded
    - NumCPUs
    - repeat_dynamic_slab_ops
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Deactivate
    - absl::Milliseconds
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, DynamicSlab)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1030,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1037,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1038,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1048,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1049,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1052,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1054,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1065,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1069,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1070,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1070,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1072,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1075,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1077,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1085,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1085,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1088,1
    - Dst: CpuCache::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1092,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1103,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1104,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1104,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1106,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1114,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1114,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1116,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1116,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1120
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CpuCache::Allocated
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - CpuCache::SetCacheLimit
    - CpuCache::TotalObjectsOfClass
    - CpuCache::forwarder
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::ResizeSizeClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Deactivate
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeSizeClassesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' cache'
    - cpu_id
    - size_class
    argTypes:
    - CpuCache
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1131
    functionName: tcmalloc::tcmalloc_internal::ColdCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 16
    functionsReached:
    - Allocate
    - Deallocate
    linkageType: ''
    returnType: void
    signature: "void ColdCacheOperations(CpuCache& cache, int cpu_id,\n                                size_t
      size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1139,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1150,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1153,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' cache'
    - cpu_id
    argTypes:
    - CpuCache
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1161
    functionName: tcmalloc::tcmalloc_internal::HotCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 8
    functionsReached:
    - Allocate
    - Deallocate
    - std::vector::resize
    - Reclaim
    linkageType: ''
    returnType: void
    signature: void HotCacheOperations(CpuCache& cache, int cpu_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1169,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1175,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1179,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1179,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1182,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1188,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1190,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1200,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1201,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1206,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1208,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1209,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1224
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - ASSERT_GT
    - SizeMap::CurrentClasses
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::Reclaim
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - ASSERT_LT
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::forwarder
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetIntervalCacheMissStats
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST_F(DynamicWideSlabTest, DynamicSlabThreshold)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1228,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1231,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1234,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1238,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1238,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1243,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1254,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1261,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1261,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1264,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1269,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1275
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - std::ref
    - CpuCache::forwarder
    - SizeMap::Init
    - NumCPUs
    - CpuCache::ResizeSlabIfNeeded
    - std::min
    - CpuCache::Deactivate
    - absl::Milliseconds
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST_F(DynamicWideSlabTest, DynamicSlabParamsChange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1280,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1283,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1286,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1289,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1290,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1293,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1295,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1298,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1298,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1305,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1310,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1310,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1311,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1315,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1317,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1318,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1320,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1321,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1324
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - munlockall
    - mlockall
    - NumCPUs
    - std::min
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::Deactivate
    - absl::Milliseconds
    - ASSERT_EQ
    - std::thread
    - EXPECT_EQ
    - CpuCache::forwarder
    - join
    - std::vector::push_back
    - absl::SleepFor
    - std::ref
    - SizeMap::Init
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, MaxCapacityResizeFailedBytesMlocked)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1329,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1332,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1335,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1338,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1339,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1342,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1344,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1347,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1347,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1354,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1360,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1360,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1366,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1369,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1371,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1372,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1375
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - munlockall
    - mlockall
    - NumCPUs
    - std::min
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Deactivate
    - absl::Milliseconds
    - ASSERT_EQ
    - std::thread
    - EXPECT_EQ
    - CpuCache::forwarder
    - join
    - std::vector::push_back
    - absl::SleepFor
    - std::ref
    - SizeMap::Init
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SlabResizeFailedBytesMlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1380,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
    - cpu_cache
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SlabUsage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1384,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1391,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1392,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1410,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1413,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1414,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1419,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1421,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1424,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1425,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1430,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1431,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1433,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1436,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1442,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1443,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1448,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1450,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1454,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1454,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1456,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1456,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1464
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - EXPECT_GT
    - CpuCache::SetCacheLimit
    - EXPECT_LT
    - CpuCache::Unallocated
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ShuffleCpuCaches
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ColdHotCacheShuffleTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1467,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1472,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1475,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1481,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1485,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1485,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1488,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1489,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1498,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1502,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1502,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1503,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1508,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1508,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1512,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1517,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1520,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1520,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1523,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1528,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1528,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1539,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1539,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1542,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1542,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1546,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1546,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1547,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1552,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1558,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1558,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1561,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1561,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1564,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1564,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1569,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1576,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1576,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1577,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1577,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1582
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - ASSERT_NE
    - CpuCache::HasPopulated
    - CpuCache::GetTotalCacheMissStats
    - EXPECT_EQ
    - CpuCache::UsedBytes
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - EXPECT_TRUE
    - SCOPED_TRACE
    - CpuCache::GetAndUpdateIntervalCacheMissStats
    - CpuCache::GetNumReclaims
    - EXPECT_GT
    - CpuCache::TryReclaimingCaches
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Uniform<int32_t>
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ReclaimCpuCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1585,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1590,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1592,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1594,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1598,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1598,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1599,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1604,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1604,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1611,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1612,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1616,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1618,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1628,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1628,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1629,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1634,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1640,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1641,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1645,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1650,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1652,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1653,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1655,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1658
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - static_cast<double>
    - CpuCache::HasPopulated
    - CpuCache::Reclaim
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - CpuCache::GetSizeClassCapacityStats
    - EXPECT_EQ
    - SCOPED_TRACE
    - EXPECT_DOUBLE_EQ
    - CpuCache::forwarder
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SizeClassCapacityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1662
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::CpuCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void CpuCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1663
    functionName: ~CpuCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Deactivate
    linkageType: ''
    returnType: void
    signature: void ~CpuCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1666,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1668
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
    - store
    linkageType: ''
    returnType: void
    signature: void Activate()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1672,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1673,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1676,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1677,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1680,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1680,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1689,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1690,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1693,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1694,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1694,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1700,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1700,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1703,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1703,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1706,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1706,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1709,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1709,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1712,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1713,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1714,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1718,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1718,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1721,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1721,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1724,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1724,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1728,1
    - Dst: TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1733,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1738,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1742,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1742,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1745,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1747,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1749,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1751,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1752,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1753,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1757,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1758,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1759,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1764,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1769,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1776,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1786,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1789
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetSizeClassCapacityStats
    - Capacity
    - TryReclaimingCaches
    - TotalUsedBytes
    - GetNumReclaims
    - Unallocated
    - MetadataMemoryUsage
    - ShuffleCpuCaches
    - TotalObjectsOfClass
    - benchmark::DoNotOptimize
    - GetIntervalCacheMissStats
    - ANNOTATE_MEMORY_IS_UNINITIALIZED
    - load
    - EXPECT_NE
    - absl::Uniform
    - static_cast<char*>
    - EXPECT_GT
    - Reclaim
    - GetAndUpdateIntervalCacheMissStats
    - PrintInPbtxt
    - std::string::resize
    - std::string::size
    - Allocate
    - UsedBytes
    - std::string::data
    - GTEST_FAIL
    - GetTotalCacheMissStats
    - Allocated
    - EXPECT_GE
    - CacheLimit
    - Print
    - HasPopulated
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke(absl::BitGenRef rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1791
    functionName: '& cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CpuCache
    signature: CpuCache & cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::num_cpus
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_cpus() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1804,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1816,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1819,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1819,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1820,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1823,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1823,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1824,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1825,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1825,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1836,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1837,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1838,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1839,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1842,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1847,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1848,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1848,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1851
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - CpuCacheEnvironment::num_cpus
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - std::string::size
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - std::string::resize
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, Fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1811
    functionName: tcmalloc::tcmalloc_internal::ThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ThreadState
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1855,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1867,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1868,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1873,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1875,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1879,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1879,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1880,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1888,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1888,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1902,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1906,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1906,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1917,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1918,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1919,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1920,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1923,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1924,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1925
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CpuCacheEnvironment::num_cpus
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::optional::emplace
    - absl::SleepFor
    - EXPECT_EQ
    - CpuCacheEnvironment::RandomlyPoke
    - CpuCacheEnvironment::Activate
    - ASSERT_TRUE
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::cache
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, DISABLED_ChangingSizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1862
    functionName: tcmalloc::tcmalloc_internal::ThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ThreadState
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1930,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1931,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1932,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1933,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1934,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1935,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1936,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1937,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1937,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1938,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1938,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1939,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1940,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1941,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1941,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1942,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1943,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1943,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1944,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1944,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1945,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1946,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1947,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1948,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1948,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1949,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1950,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1951,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1952,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1952,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1953,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1954,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1955,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1956
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - F
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, TargetOverflowRefillCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::TestStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void TestStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:115,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_shards
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::InitializeShardedManager
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void InitializeShardedManager(int num_shards)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - mmap
    linkageType: ''
    returnType: void
    signature: void * Alloc(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:125,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::AllocReportedImpending
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - mmap
    linkageType: ''
    returnType: void
    signature: void * AllocReportedImpending(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::Dealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - munmap
    linkageType: ''
    returnType: void
    signature: void Dealloc(void* ptr, size_t size, std::align_val_t /*alignment*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - allocated
    - nonresident
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::ArenaUpdateAllocatedAndNonresident
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void ArenaUpdateAllocatedAndNonresident(int64_t allocated,\n                                          int64_t
      nonresident)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool per_cpu_caches_dynamic_slab_enabled()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_grow_threshold()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_shrink_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes_v2
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes_v2() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:170,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:171,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
    - has_value
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:178,1
    - Dst: ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ColdSizeClasses
    - has_value
    linkageType: ''
    returnType: absl::Span<const size_t>
    signature: absl::Span<const size_t> cold_size_classes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:186,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:187,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 6
    functionsReached:
    - has_value
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '& numa_topology() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseWiderSlabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: '& sharded_transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '& sharded_transfer_cache() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_transfer_cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: "&\n  transfer_cache()"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: "TwoSizeClassManager<FakeCentralFreeList,\n                      internal_transfer_cache::TransferCache>"
    signature: "TwoSizeClassManager<FakeCentralFreeList,\n                      internal_transfer_cache::TransferCache>
      &\n  transfer_cache()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UseGenericCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - UseGenericCache
    linkageType: ''
    returnType: bool
    signature: bool UseGenericShardedCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetGenericCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::SetGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericCache
    linkageType: ''
    returnType: void
    signature: void SetGenericShardedCache(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnableCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EnableCacheForLargeClassesOnly
    linkageType: ''
    returnType: bool
    signature: bool UseShardedCacheForLargeClassesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::SetShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetCacheForLargeClassesOnly
    linkageType: ''
    returnType: void
    signature: void SetShardedCacheForLargeClassesOnly(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveHooks() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:254,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:258,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:261,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:262,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:263,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:265,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:267,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:268,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:273,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:274,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:274,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:277,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:281,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:283,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:284,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:285,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:289,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:289,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:290,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:292,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:292,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:294,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:296,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:296,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:300,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 302
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - should_use
    - CpuCache::Allocate
    - EXPECT_FALSE
    - transfer_cache
    - CpuCache::Deallocate
    - CpuCache::Reclaim
    - shard_initialized
    - EXPECT_EQ
    - TC_ASSERT_GT
    - SetGenericShardedCache
    - CpuCache::forwarder
    - NumActiveShards
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, MinimumShardsForGenericCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:309,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:313,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:316,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:318,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:319,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:322,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:330,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:331,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:335,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:340,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:346,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:347,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:350,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:358,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:359,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::Deactivate
    - CpuCache::Allocate
    - EXPECT_FALSE
    - CpuCache::Deallocate
    - transfer_cache
    - CpuCache::Reclaim
    - shard_initialized
    - EXPECT_EQ
    - EXPECT_TRUE
    - TC_ASSERT_GT
    - SetGenericShardedCache
    - CpuCache::forwarder
    - NumActiveShards
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, UsesShardedAsBackingCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCachePeer::ResizeInfoSize<CpuCache>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CpuCachePeer::ResizeInfoSize<CpuCache>
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeInfoNoFalseSharing)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:369,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:373,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:377,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:377,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:380,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:383,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:385,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:386,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:387,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:390,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:396,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:403,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:403,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:408,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:411,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:412,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:414,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:416,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:429,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:431,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:433,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:435,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:440,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:440,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:458,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:461,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:467,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:468,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:470,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:471,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:474,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:477,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:478,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:490,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:491,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:492,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:500,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:503,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:506,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:511,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:514,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:518,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:519,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:521,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:522,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:522,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:526,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:534,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:538,1
    - Dst: CpuCache::TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:538,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:542,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:543,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:545,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:549,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 552
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - NumCPUs
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - CpuCache::Allocated
    - CpuCache::HasPopulated
    - ASSUME
    - CpuCache::Deactivate
    - CpuCache::Allocate
    - EXPECT_FALSE
    - CpuCache::Deallocate
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::Capacity
    - EXPECT_NE
    - EXPECT_EQ
    - CpuCache::UsedBytes
    - EXPECT_TRUE
    - EXPECT_GT
    - EXPECT_LE
    - CpuCache::MetadataMemoryUsage
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - CpuCache::forwarder
    - CpuCache::TotalUsedBytes
    - count_cores
    - SCOPED_TRACE
    - CpuCache::TotalObjectsOfClass
    - CpuCache::GetPerCpuSlabShiftBounds
    - EXPECT_GE
    - CpuCache::Unallocated
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::StrCat
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, Metadata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:555,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:559,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:562,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:567,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:570,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:588,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:590,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:592,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:594,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:601,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:608,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:609,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:612,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:616,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 618
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - CpuCache::Deallocate
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::GetTotalCacheMissStats
    - EXPECT_EQ
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetIntervalCacheMissStats
    - CpuCache::Allocate
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, CacheMissStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:621,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:627,1
    - Dst: tcmalloc::tcmalloc_internal::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:628,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:629,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 631
    functionName: tcmalloc::tcmalloc_internal::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 6
    functionsReached:
    - load
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::ResizeSizeClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void ResizeSizeClasses(CpuCache& cache, const std::atomic<bool>& stop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:634,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:640,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:641,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::ShuffleThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ShuffleCpuCaches
    - load
    - absl::SleepFor
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void ShuffleThread(CpuCache& cache, const std::atomic<bool>& stop)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:648,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:654,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:655,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:658,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:659,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:660,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:660,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:663,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:665,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:671,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ' cache'
    - thread_id
    - ' stop'
    argTypes:
    - CpuCache
    - size_t
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 674
    functionName: tcmalloc::tcmalloc_internal::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - load
    - std::vector::pop_back
    - std::vector::back
    - std::vector::size
    - std::vector::emplace_back
    - tcmalloc_internal::subtle::percpu::IsFast
    - Allocate
    - Deallocate
    - std::vector::empty
    - std::make_pair
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: "void StressThread(CpuCache& cache, size_t thread_id,\n                         const
      std::atomic<bool>& stop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:681,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:682,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:685,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' cache'
    - cpu
    - size_class
    - ops
    argTypes:
    - CpuCache
    - int
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 688
    functionName: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 10
    functionsReached:
    - Allocate
    - Deallocate
    - std::vector::clear
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void AllocateThenDeallocate(CpuCache& cache, int cpu, size_t size_class,\n
      \                           int ops)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:701,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:709,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:710,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:719,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:719,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:721,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:722,1
    - Dst: CpuCache::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:722,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:725,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:734,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:740,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:744,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:744,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:747,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:755,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:759,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:760,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:766,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:774,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:775,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:782,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:784,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:784,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 789
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - ASSERT_LT
    - CpuCache::GetCapacityOfSizeClass
    - EXPECT_GT
    - CpuCache::SetCacheLimit
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::CacheLimit
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeMaxCapacityTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:793,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:799,1
    - Dst: ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:800,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:801,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 803
    functionName: tcmalloc::tcmalloc_internal::ResizeMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ResizeSizeClassMaxCapacities
    - load
    - absl::SleepFor
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacities(CpuCache& cache,\n                                const
      std::atomic<bool>& stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:806,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:811,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:822,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:822,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:826,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:832,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:832,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:835,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:837,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:842,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:845,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:850,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:850,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:852,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:854,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 856
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::Allocated
    - CpuCache::GetMaxCapacity
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StressMaxCapacityResize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:859,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:868,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:872,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:881,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:883,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:891,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:894,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:896,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 897
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StressSizeClassResize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:900,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:905,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:909,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:913,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:918,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:918,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:921,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:923,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:927,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:931,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:934,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:936,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 937
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StealCpuCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:942,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:950,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:956,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:959,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:963,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:979,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:979,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:983,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:984,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:986,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:988,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:998,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1006,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1008,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1013,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1016,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 1017
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::thread
    - EXPECT_EQ
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    - std::ref
    - EXPECT_LT
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::forwarder
    - CpuCache::ResizeSlabIfNeeded
    - NumCPUs
    - repeat_dynamic_slab_ops
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Deactivate
    - absl::Milliseconds
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, DynamicSlab)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1030,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1037,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1038,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1048,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1049,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1052,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1054,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1065,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1069,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1070,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1070,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1072,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1075,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1077,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1085,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1085,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1088,1
    - Dst: CpuCache::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1092,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1103,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1104,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1104,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1106,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1114,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1114,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1116,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1116,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1120
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CpuCache::Allocated
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - CpuCache::SetCacheLimit
    - CpuCache::TotalObjectsOfClass
    - CpuCache::forwarder
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::ResizeSizeClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Deactivate
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeSizeClassesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' cache'
    - cpu_id
    - size_class
    argTypes:
    - CpuCache
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1131
    functionName: tcmalloc::tcmalloc_internal::ColdCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 20
    functionsReached:
    - Allocate
    - Deallocate
    linkageType: ''
    returnType: void
    signature: "void ColdCacheOperations(CpuCache& cache, int cpu_id,\n                                size_t
      size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1139,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1150,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1153,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' cache'
    - cpu_id
    argTypes:
    - CpuCache
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1161
    functionName: tcmalloc::tcmalloc_internal::HotCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 10
    functionsReached:
    - Allocate
    - Deallocate
    - std::vector::resize
    - Reclaim
    linkageType: ''
    returnType: void
    signature: void HotCacheOperations(CpuCache& cache, int cpu_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1169,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1175,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1179,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1179,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1182,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1188,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1190,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1200,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1201,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1206,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1208,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1209,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1224
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - ASSERT_GT
    - SizeMap::CurrentClasses
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::Reclaim
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - ASSERT_LT
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::forwarder
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetIntervalCacheMissStats
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST_F(DynamicWideSlabTest, DynamicSlabThreshold)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1228,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1231,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1234,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1238,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1238,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1243,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1254,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1261,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1261,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1264,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1269,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1275
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - std::ref
    - CpuCache::forwarder
    - SizeMap::Init
    - NumCPUs
    - CpuCache::ResizeSlabIfNeeded
    - std::min
    - CpuCache::Deactivate
    - absl::Milliseconds
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST_F(DynamicWideSlabTest, DynamicSlabParamsChange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1280,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1283,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1286,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1289,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1290,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1293,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1295,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1298,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1298,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1305,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1310,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1310,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1311,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1315,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1317,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1318,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1320,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1321,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1324
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - munlockall
    - mlockall
    - NumCPUs
    - std::min
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::Deactivate
    - absl::Milliseconds
    - ASSERT_EQ
    - std::thread
    - EXPECT_EQ
    - CpuCache::forwarder
    - join
    - std::vector::push_back
    - absl::SleepFor
    - std::ref
    - SizeMap::Init
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, MaxCapacityResizeFailedBytesMlocked)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1329,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1332,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1335,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1338,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1339,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1342,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1344,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1347,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1347,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1354,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1360,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1360,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1366,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1369,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1371,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1372,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1375
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - munlockall
    - mlockall
    - NumCPUs
    - std::min
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Deactivate
    - absl::Milliseconds
    - ASSERT_EQ
    - std::thread
    - EXPECT_EQ
    - CpuCache::forwarder
    - join
    - std::vector::push_back
    - absl::SleepFor
    - std::ref
    - SizeMap::Init
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SlabResizeFailedBytesMlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1380,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
    - cpu_cache
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SlabUsage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1384,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1391,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1392,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1410,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1413,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1414,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1419,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1421,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1424,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1425,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1430,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1431,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1433,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1436,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1442,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1443,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1448,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1450,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1454,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1454,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1456,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1456,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1464
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - EXPECT_GT
    - CpuCache::SetCacheLimit
    - EXPECT_LT
    - CpuCache::Unallocated
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ShuffleCpuCaches
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ColdHotCacheShuffleTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1467,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1472,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1475,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1481,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1485,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1485,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1488,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1489,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1498,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1502,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1502,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1503,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1508,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1508,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1512,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1517,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1520,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1520,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1523,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1528,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1528,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1539,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1539,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1542,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1542,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1546,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1546,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1547,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1552,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1558,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1558,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1561,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1561,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1564,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1564,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1569,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1576,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1576,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1577,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1577,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1582
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - ASSERT_NE
    - CpuCache::HasPopulated
    - CpuCache::GetTotalCacheMissStats
    - EXPECT_EQ
    - CpuCache::UsedBytes
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - EXPECT_TRUE
    - SCOPED_TRACE
    - CpuCache::GetAndUpdateIntervalCacheMissStats
    - CpuCache::GetNumReclaims
    - EXPECT_GT
    - CpuCache::TryReclaimingCaches
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Uniform<int32_t>
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ReclaimCpuCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1585,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1590,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1592,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1594,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1598,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1598,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1599,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1604,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1604,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1611,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1612,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1616,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1618,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1628,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1628,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1629,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1634,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1640,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1641,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1645,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1650,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1652,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1653,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1655,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1658
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - static_cast<double>
    - CpuCache::HasPopulated
    - CpuCache::Reclaim
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - CpuCache::GetSizeClassCapacityStats
    - EXPECT_EQ
    - SCOPED_TRACE
    - EXPECT_DOUBLE_EQ
    - CpuCache::forwarder
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SizeClassCapacityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1662
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::CpuCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void CpuCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1663
    functionName: ~CpuCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Deactivate
    linkageType: ''
    returnType: void
    signature: void ~CpuCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1666,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1668
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
    - store
    linkageType: ''
    returnType: void
    signature: void Activate()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1672,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1673,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1676,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1677,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1680,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1680,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1689,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1690,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1693,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1694,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1694,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1700,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1700,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1703,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1703,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1706,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1706,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1709,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1709,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1712,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1713,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1714,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1718,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1718,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1721,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1721,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1724,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1724,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1728,1
    - Dst: TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1733,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1738,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1742,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1742,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1745,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1747,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1749,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1751,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1752,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1753,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1757,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1758,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1759,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1764,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1769,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1776,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1786,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1789
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetSizeClassCapacityStats
    - Capacity
    - TryReclaimingCaches
    - TotalUsedBytes
    - GetNumReclaims
    - Unallocated
    - MetadataMemoryUsage
    - ShuffleCpuCaches
    - TotalObjectsOfClass
    - benchmark::DoNotOptimize
    - GetIntervalCacheMissStats
    - ANNOTATE_MEMORY_IS_UNINITIALIZED
    - load
    - EXPECT_NE
    - absl::Uniform
    - static_cast<char*>
    - EXPECT_GT
    - Reclaim
    - GetAndUpdateIntervalCacheMissStats
    - PrintInPbtxt
    - std::string::resize
    - std::string::size
    - Allocate
    - UsedBytes
    - std::string::data
    - GTEST_FAIL
    - GetTotalCacheMissStats
    - Allocated
    - EXPECT_GE
    - CacheLimit
    - Print
    - HasPopulated
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke(absl::BitGenRef rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1791
    functionName: '& cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CpuCache
    signature: CpuCache & cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::num_cpus
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_cpus() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1804,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1816,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1819,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1819,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1820,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1823,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1823,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1824,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1825,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1825,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1836,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1837,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1838,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1839,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1842,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1847,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1848,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1848,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1851
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - CpuCacheEnvironment::num_cpus
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - std::string::size
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - std::string::resize
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, Fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1811
    functionName: tcmalloc::tcmalloc_internal::ThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ThreadState
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1855,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1867,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1868,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1873,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1875,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1879,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1879,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1880,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1888,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1888,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1902,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1906,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1906,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1917,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1918,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1919,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1920,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1923,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1924,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1925
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CpuCacheEnvironment::num_cpus
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::optional::emplace
    - absl::SleepFor
    - EXPECT_EQ
    - CpuCacheEnvironment::RandomlyPoke
    - CpuCacheEnvironment::Activate
    - ASSERT_TRUE
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::cache
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, DISABLED_ChangingSizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1862
    functionName: tcmalloc::tcmalloc_internal::ThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ThreadState
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1930,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1931,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1932,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1933,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1934,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1935,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1936,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1937,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1937,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1938,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1938,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1939,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1940,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1941,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1941,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1942,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1943,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1943,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1944,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1944,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1945,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1946,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1947,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1948,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1948,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1949,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1950,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1951,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1952,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1952,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1953,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1954,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1955,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1956
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - F
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, TargetOverflowRefillCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    linkageType: ''
    returnType: int
    signature: int VirtualCpuSynchronize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    linkageType: ''
    returnType: int
    signature: int VirtualCpuSynchronize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freelist_::GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cpu_cache'
    argTypes:
    - CpuCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 24
    functionsReached:
    - freelist_::GetShift
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetSlabShift(const CpuCache& cpu_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:76,1
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' cpu_cache'
    argTypes:
    - CpuCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 6
    functionsReached:
    - RecordCacheMissStat
    linkageType: ''
    returnType: void
    signature: void IncrementCacheMisses(CpuCache& cpu_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:84,1
    - Dst: EstimateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:90,1
    - Dst: GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:90,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:91,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' cpu_cache'
    argTypes:
    - CpuCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 6
    functionsReached:
    - EstimateSlabBytes
    - GetMaxCapacityFunctor
    - EXPECT_GT
    - EXPECT_LE
    - GetPerCpuSlabShiftBounds
    linkageType: ''
    returnType: void
    signature: void ValidateSlabBytes(const CpuCache& cpu_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeInfoSize
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ResizeInfoSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::TestStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void TestStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:115,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_shards
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::InitializeShardedManager
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void InitializeShardedManager(int num_shards)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - mmap
    linkageType: ''
    returnType: void
    signature: void * Alloc(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:125,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::AllocReportedImpending
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - mmap
    linkageType: ''
    returnType: void
    signature: void * AllocReportedImpending(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::Dealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - munmap
    linkageType: ''
    returnType: void
    signature: void Dealloc(void* ptr, size_t size, std::align_val_t /*alignment*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - allocated
    - nonresident
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::ArenaUpdateAllocatedAndNonresident
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void ArenaUpdateAllocatedAndNonresident(int64_t allocated,\n                                          int64_t
      nonresident)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool per_cpu_caches_dynamic_slab_enabled()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_grow_threshold()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_shrink_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes_v2
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes_v2() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:170,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:171,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
    - has_value
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:178,1
    - Dst: ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ColdSizeClasses
    - has_value
    linkageType: ''
    returnType: absl::Span<const size_t>
    signature: absl::Span<const size_t> cold_size_classes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:186,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:187,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 7
    functionsReached:
    - has_value
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '& numa_topology() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseWiderSlabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: '& sharded_transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '& sharded_transfer_cache() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_transfer_cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: "&\n  transfer_cache()"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: "TwoSizeClassManager<FakeCentralFreeList,\n                      internal_transfer_cache::TransferCache>"
    signature: "TwoSizeClassManager<FakeCentralFreeList,\n                      internal_transfer_cache::TransferCache>
      &\n  transfer_cache()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UseGenericCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - UseGenericCache
    linkageType: ''
    returnType: bool
    signature: bool UseGenericShardedCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetGenericCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::SetGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericCache
    linkageType: ''
    returnType: void
    signature: void SetGenericShardedCache(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnableCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EnableCacheForLargeClassesOnly
    linkageType: ''
    returnType: bool
    signature: bool UseShardedCacheForLargeClassesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::SetShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetCacheForLargeClassesOnly
    linkageType: ''
    returnType: void
    signature: void SetShardedCacheForLargeClassesOnly(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveHooks() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:254,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:258,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:261,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:262,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:263,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:265,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:267,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:268,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:273,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:274,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:274,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:277,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:281,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:283,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:284,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:285,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:289,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:289,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:290,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:292,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:292,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:294,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:296,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:296,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:300,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 302
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - should_use
    - CpuCache::Allocate
    - EXPECT_FALSE
    - transfer_cache
    - CpuCache::Deallocate
    - CpuCache::Reclaim
    - shard_initialized
    - EXPECT_EQ
    - TC_ASSERT_GT
    - SetGenericShardedCache
    - CpuCache::forwarder
    - NumActiveShards
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, MinimumShardsForGenericCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:309,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:313,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:316,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:318,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:319,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:322,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:330,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:331,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:335,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:340,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:346,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:347,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:350,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:358,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:359,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::Deactivate
    - CpuCache::Allocate
    - EXPECT_FALSE
    - CpuCache::Deallocate
    - transfer_cache
    - CpuCache::Reclaim
    - shard_initialized
    - EXPECT_EQ
    - EXPECT_TRUE
    - TC_ASSERT_GT
    - SetGenericShardedCache
    - CpuCache::forwarder
    - NumActiveShards
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, UsesShardedAsBackingCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCachePeer::ResizeInfoSize<CpuCache>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CpuCachePeer::ResizeInfoSize<CpuCache>
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeInfoNoFalseSharing)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:369,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:373,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:377,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:377,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:380,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:383,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:385,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:386,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:387,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:390,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:396,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:403,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:403,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:408,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:411,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:412,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:414,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:416,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:429,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:431,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:433,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:435,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:440,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:440,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:458,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:461,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:467,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:468,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:470,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:471,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:474,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:477,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:478,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:490,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:491,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:492,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:500,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:503,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:506,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:511,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:514,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:518,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:519,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:521,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:522,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:522,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:526,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:534,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:538,1
    - Dst: CpuCache::TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:538,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:542,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:543,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:545,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:549,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 552
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - NumCPUs
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - CpuCache::Allocated
    - CpuCache::HasPopulated
    - ASSUME
    - CpuCache::Deactivate
    - CpuCache::Allocate
    - EXPECT_FALSE
    - CpuCache::Deallocate
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::Capacity
    - EXPECT_NE
    - EXPECT_EQ
    - CpuCache::UsedBytes
    - EXPECT_TRUE
    - EXPECT_GT
    - EXPECT_LE
    - CpuCache::MetadataMemoryUsage
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - CpuCache::forwarder
    - CpuCache::TotalUsedBytes
    - count_cores
    - SCOPED_TRACE
    - CpuCache::TotalObjectsOfClass
    - CpuCache::GetPerCpuSlabShiftBounds
    - EXPECT_GE
    - CpuCache::Unallocated
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::StrCat
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, Metadata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:555,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:559,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:562,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:567,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:570,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:588,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:590,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:592,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:594,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:601,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:608,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:609,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:612,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:616,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 618
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - CpuCache::Deallocate
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::GetTotalCacheMissStats
    - EXPECT_EQ
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetIntervalCacheMissStats
    - CpuCache::Allocate
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, CacheMissStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:621,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:627,1
    - Dst: tcmalloc::tcmalloc_internal::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:628,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:629,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 631
    functionName: tcmalloc::tcmalloc_internal::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 7
    functionsReached:
    - load
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::ResizeSizeClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void ResizeSizeClasses(CpuCache& cache, const std::atomic<bool>& stop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:634,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:640,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:641,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::ShuffleThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ShuffleCpuCaches
    - load
    - absl::SleepFor
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void ShuffleThread(CpuCache& cache, const std::atomic<bool>& stop)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:648,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:654,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:655,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:658,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:659,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:660,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:660,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:663,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:665,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:671,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ' cache'
    - thread_id
    - ' stop'
    argTypes:
    - CpuCache
    - size_t
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 674
    functionName: tcmalloc::tcmalloc_internal::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - load
    - std::vector::pop_back
    - std::vector::back
    - std::vector::size
    - std::vector::emplace_back
    - tcmalloc_internal::subtle::percpu::IsFast
    - Allocate
    - Deallocate
    - std::vector::empty
    - std::make_pair
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: "void StressThread(CpuCache& cache, size_t thread_id,\n                         const
      std::atomic<bool>& stop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:681,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:682,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:685,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' cache'
    - cpu
    - size_class
    - ops
    argTypes:
    - CpuCache
    - int
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 688
    functionName: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 12
    functionsReached:
    - Allocate
    - Deallocate
    - std::vector::clear
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void AllocateThenDeallocate(CpuCache& cache, int cpu, size_t size_class,\n
      \                           int ops)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:701,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:709,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:710,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:719,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:719,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:721,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:722,1
    - Dst: CpuCache::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:722,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:725,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:734,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:740,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:744,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:744,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:747,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:755,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:759,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:760,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:766,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:774,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:775,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:782,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:784,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:784,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 789
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - ASSERT_LT
    - CpuCache::GetCapacityOfSizeClass
    - EXPECT_GT
    - CpuCache::SetCacheLimit
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::CacheLimit
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeMaxCapacityTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:793,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:799,1
    - Dst: ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:800,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:801,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 803
    functionName: tcmalloc::tcmalloc_internal::ResizeMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ResizeSizeClassMaxCapacities
    - load
    - absl::SleepFor
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacities(CpuCache& cache,\n                                const
      std::atomic<bool>& stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:806,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:811,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:822,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:822,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:826,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:832,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:832,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:835,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:837,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:842,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:845,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:850,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:850,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:852,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:854,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 856
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::Allocated
    - CpuCache::GetMaxCapacity
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StressMaxCapacityResize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:859,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:868,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:872,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:881,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:883,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:891,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:894,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:896,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 897
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StressSizeClassResize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:900,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:905,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:909,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:913,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:918,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:918,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:921,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:923,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:927,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:931,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:934,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:936,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 937
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StealCpuCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:942,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:950,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:956,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:959,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:963,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:979,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:979,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:983,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:984,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:986,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:988,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:998,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1006,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1008,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1013,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1016,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 1017
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::thread
    - EXPECT_EQ
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    - std::ref
    - EXPECT_LT
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::forwarder
    - CpuCache::ResizeSlabIfNeeded
    - NumCPUs
    - repeat_dynamic_slab_ops
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Deactivate
    - absl::Milliseconds
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, DynamicSlab)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1030,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1037,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1038,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1048,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1049,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1052,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1054,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1065,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1069,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1070,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1070,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1072,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1075,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1077,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1085,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1085,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1088,1
    - Dst: CpuCache::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1092,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1103,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1104,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1104,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1106,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1114,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1114,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1116,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1116,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1120
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CpuCache::Allocated
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - CpuCache::SetCacheLimit
    - CpuCache::TotalObjectsOfClass
    - CpuCache::forwarder
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::ResizeSizeClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Deactivate
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeSizeClassesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' cache'
    - cpu_id
    - size_class
    argTypes:
    - CpuCache
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1131
    functionName: tcmalloc::tcmalloc_internal::ColdCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 24
    functionsReached:
    - Allocate
    - Deallocate
    linkageType: ''
    returnType: void
    signature: "void ColdCacheOperations(CpuCache& cache, int cpu_id,\n                                size_t
      size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1139,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1150,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1153,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' cache'
    - cpu_id
    argTypes:
    - CpuCache
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1161
    functionName: tcmalloc::tcmalloc_internal::HotCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 12
    functionsReached:
    - Allocate
    - Deallocate
    - std::vector::resize
    - Reclaim
    linkageType: ''
    returnType: void
    signature: void HotCacheOperations(CpuCache& cache, int cpu_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1169,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1175,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1179,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1179,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1182,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1188,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1190,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1200,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1201,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1206,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1208,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1209,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1224
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - ASSERT_GT
    - SizeMap::CurrentClasses
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::Reclaim
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - ASSERT_LT
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::forwarder
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetIntervalCacheMissStats
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST_F(DynamicWideSlabTest, DynamicSlabThreshold)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1228,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1231,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1234,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1238,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1238,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1243,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1254,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1261,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1261,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1264,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1269,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1275
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - std::ref
    - CpuCache::forwarder
    - SizeMap::Init
    - NumCPUs
    - CpuCache::ResizeSlabIfNeeded
    - std::min
    - CpuCache::Deactivate
    - absl::Milliseconds
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST_F(DynamicWideSlabTest, DynamicSlabParamsChange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1280,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1283,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1286,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1289,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1290,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1293,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1295,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1298,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1298,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1305,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1310,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1310,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1311,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1315,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1317,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1318,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1320,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1321,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1324
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - munlockall
    - mlockall
    - NumCPUs
    - std::min
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::Deactivate
    - absl::Milliseconds
    - ASSERT_EQ
    - std::thread
    - EXPECT_EQ
    - CpuCache::forwarder
    - join
    - std::vector::push_back
    - absl::SleepFor
    - std::ref
    - SizeMap::Init
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, MaxCapacityResizeFailedBytesMlocked)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1329,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1332,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1335,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1338,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1339,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1342,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1344,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1347,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1347,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1354,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1360,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1360,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1366,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1369,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1371,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1372,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1375
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - munlockall
    - mlockall
    - NumCPUs
    - std::min
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Deactivate
    - absl::Milliseconds
    - ASSERT_EQ
    - std::thread
    - EXPECT_EQ
    - CpuCache::forwarder
    - join
    - std::vector::push_back
    - absl::SleepFor
    - std::ref
    - SizeMap::Init
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SlabResizeFailedBytesMlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1380,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
    - cpu_cache
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SlabUsage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1384,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1391,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1392,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1410,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1413,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1414,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1419,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1421,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1424,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1425,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1430,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1431,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1433,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1436,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1442,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1443,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1448,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1450,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1454,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1454,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1456,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1456,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1464
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - EXPECT_GT
    - CpuCache::SetCacheLimit
    - EXPECT_LT
    - CpuCache::Unallocated
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ShuffleCpuCaches
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ColdHotCacheShuffleTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1467,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1472,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1475,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1481,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1485,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1485,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1488,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1489,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1498,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1502,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1502,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1503,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1508,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1508,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1512,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1517,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1520,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1520,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1523,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1528,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1528,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1539,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1539,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1542,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1542,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1546,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1546,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1547,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1552,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1558,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1558,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1561,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1561,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1564,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1564,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1569,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1576,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1576,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1577,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1577,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1582
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - ASSERT_NE
    - CpuCache::HasPopulated
    - CpuCache::GetTotalCacheMissStats
    - EXPECT_EQ
    - CpuCache::UsedBytes
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - EXPECT_TRUE
    - SCOPED_TRACE
    - CpuCache::GetAndUpdateIntervalCacheMissStats
    - CpuCache::GetNumReclaims
    - EXPECT_GT
    - CpuCache::TryReclaimingCaches
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Uniform<int32_t>
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ReclaimCpuCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1585,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1590,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1592,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1594,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1598,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1598,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1599,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1604,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1604,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1611,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1612,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1616,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1618,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1628,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1628,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1629,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1634,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1640,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1641,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1645,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1650,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1652,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1653,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1655,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1658
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - static_cast<double>
    - CpuCache::HasPopulated
    - CpuCache::Reclaim
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - CpuCache::GetSizeClassCapacityStats
    - EXPECT_EQ
    - SCOPED_TRACE
    - EXPECT_DOUBLE_EQ
    - CpuCache::forwarder
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SizeClassCapacityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1662
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::CpuCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void CpuCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1663
    functionName: ~CpuCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Deactivate
    linkageType: ''
    returnType: void
    signature: void ~CpuCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1666,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1668
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
    - store
    linkageType: ''
    returnType: void
    signature: void Activate()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1672,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1673,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1676,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1677,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1680,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1680,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1689,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1690,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1693,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1694,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1694,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1700,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1700,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1703,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1703,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1706,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1706,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1709,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1709,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1712,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1713,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1714,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1718,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1718,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1721,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1721,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1724,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1724,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1728,1
    - Dst: TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1733,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1738,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1742,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1742,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1745,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1747,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1749,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1751,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1752,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1753,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1757,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1758,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1759,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1764,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1769,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1776,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1786,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1789
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetSizeClassCapacityStats
    - Capacity
    - TryReclaimingCaches
    - TotalUsedBytes
    - GetNumReclaims
    - Unallocated
    - MetadataMemoryUsage
    - ShuffleCpuCaches
    - TotalObjectsOfClass
    - benchmark::DoNotOptimize
    - GetIntervalCacheMissStats
    - ANNOTATE_MEMORY_IS_UNINITIALIZED
    - load
    - EXPECT_NE
    - absl::Uniform
    - static_cast<char*>
    - EXPECT_GT
    - Reclaim
    - GetAndUpdateIntervalCacheMissStats
    - PrintInPbtxt
    - std::string::resize
    - std::string::size
    - Allocate
    - UsedBytes
    - std::string::data
    - GTEST_FAIL
    - GetTotalCacheMissStats
    - Allocated
    - EXPECT_GE
    - CacheLimit
    - Print
    - HasPopulated
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke(absl::BitGenRef rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1791
    functionName: '& cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CpuCache
    signature: CpuCache & cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::num_cpus
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_cpus() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1804,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1816,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1819,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1819,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1820,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1823,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1823,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1824,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1825,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1825,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1836,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1837,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1838,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1839,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1842,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1847,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1848,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1848,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1851
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - CpuCacheEnvironment::num_cpus
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - std::string::size
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - std::string::resize
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, Fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1811
    functionName: tcmalloc::tcmalloc_internal::ThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ThreadState
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1855,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1867,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1868,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1873,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1875,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1879,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1879,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1880,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1888,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1888,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1902,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1906,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1906,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1917,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1918,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1919,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1920,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1923,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1924,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1925
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CpuCacheEnvironment::num_cpus
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::optional::emplace
    - absl::SleepFor
    - EXPECT_EQ
    - CpuCacheEnvironment::RandomlyPoke
    - CpuCacheEnvironment::Activate
    - ASSERT_TRUE
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::cache
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, DISABLED_ChangingSizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1862
    functionName: tcmalloc::tcmalloc_internal::ThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ThreadState
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1930,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1931,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1932,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1933,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1934,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1935,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1936,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1937,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1937,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1938,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1938,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1939,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1940,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1941,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1941,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1942,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1943,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1943,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1944,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1944,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1945,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1946,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1947,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1948,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1948,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1949,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1950,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1951,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1952,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1952,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1953,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1954,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1955,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1956
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - F
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, TargetOverflowRefillCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::TestStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void TestStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:115,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_shards
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::InitializeShardedManager
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void InitializeShardedManager(int num_shards)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - mmap
    linkageType: ''
    returnType: void
    signature: void * Alloc(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:125,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::AllocReportedImpending
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - mmap
    linkageType: ''
    returnType: void
    signature: void * AllocReportedImpending(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::Dealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - munmap
    linkageType: ''
    returnType: void
    signature: void Dealloc(void* ptr, size_t size, std::align_val_t /*alignment*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - allocated
    - nonresident
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::ArenaUpdateAllocatedAndNonresident
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void ArenaUpdateAllocatedAndNonresident(int64_t allocated,\n                                          int64_t
      nonresident)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool per_cpu_caches_dynamic_slab_enabled()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_grow_threshold()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_shrink_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes_v2
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes_v2() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:170,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:171,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
    - has_value
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:178,1
    - Dst: ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ColdSizeClasses
    - has_value
    linkageType: ''
    returnType: absl::Span<const size_t>
    signature: absl::Span<const size_t> cold_size_classes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:186,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:187,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 8
    functionsReached:
    - has_value
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '& numa_topology() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseWiderSlabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: '& sharded_transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '& sharded_transfer_cache() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedManager
    signature: ShardedManager & sharded_transfer_cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: "&\n  transfer_cache()"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: "TwoSizeClassManager<FakeCentralFreeList,\n                      internal_transfer_cache::TransferCache>"
    signature: "TwoSizeClassManager<FakeCentralFreeList,\n                      internal_transfer_cache::TransferCache>
      &\n  transfer_cache()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UseGenericCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - UseGenericCache
    linkageType: ''
    returnType: bool
    signature: bool UseGenericShardedCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetGenericCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::SetGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericCache
    linkageType: ''
    returnType: void
    signature: void SetGenericShardedCache(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnableCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::UseShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EnableCacheForLargeClassesOnly
    linkageType: ''
    returnType: bool
    signature: bool UseShardedCacheForLargeClassesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::SetShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetCacheForLargeClassesOnly
    linkageType: ''
    returnType: void
    signature: void SetShardedCacheForLargeClassesOnly(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveHooks() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:254,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:258,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:261,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:262,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:263,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:265,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:267,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:268,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:273,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:274,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:274,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:277,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:281,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:283,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:284,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:285,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:289,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:289,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:290,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:292,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:292,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:294,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:296,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:296,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:300,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 302
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - should_use
    - CpuCache::Allocate
    - EXPECT_FALSE
    - transfer_cache
    - CpuCache::Deallocate
    - CpuCache::Reclaim
    - shard_initialized
    - EXPECT_EQ
    - TC_ASSERT_GT
    - SetGenericShardedCache
    - CpuCache::forwarder
    - NumActiveShards
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, MinimumShardsForGenericCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:309,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:313,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:316,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:318,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:319,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:322,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:330,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:331,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:335,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:340,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:346,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:347,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:350,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:358,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:359,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::Deactivate
    - CpuCache::Allocate
    - EXPECT_FALSE
    - CpuCache::Deallocate
    - transfer_cache
    - CpuCache::Reclaim
    - shard_initialized
    - EXPECT_EQ
    - EXPECT_TRUE
    - TC_ASSERT_GT
    - SetGenericShardedCache
    - CpuCache::forwarder
    - NumActiveShards
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, UsesShardedAsBackingCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCachePeer::ResizeInfoSize<CpuCache>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CpuCachePeer::ResizeInfoSize<CpuCache>
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeInfoNoFalseSharing)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:369,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:373,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:377,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:377,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:380,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:383,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:385,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:386,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:387,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:390,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:396,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:403,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:403,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:408,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:411,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:412,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:414,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:416,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:429,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:431,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:433,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:435,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:440,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:440,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:458,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:461,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:467,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:468,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:470,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:471,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:474,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:477,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:478,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:490,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:491,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:492,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:500,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:503,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:506,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:511,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:514,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:518,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:519,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:521,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:522,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:522,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:526,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:527,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:534,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:538,1
    - Dst: CpuCache::TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:538,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:542,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:543,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:545,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:549,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 552
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - NumCPUs
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - CpuCache::Allocated
    - CpuCache::HasPopulated
    - ASSUME
    - CpuCache::Deactivate
    - CpuCache::Allocate
    - EXPECT_FALSE
    - CpuCache::Deallocate
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::Capacity
    - EXPECT_NE
    - EXPECT_EQ
    - CpuCache::UsedBytes
    - EXPECT_TRUE
    - EXPECT_GT
    - EXPECT_LE
    - CpuCache::MetadataMemoryUsage
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - CpuCache::forwarder
    - CpuCache::TotalUsedBytes
    - count_cores
    - SCOPED_TRACE
    - CpuCache::TotalObjectsOfClass
    - CpuCache::GetPerCpuSlabShiftBounds
    - EXPECT_GE
    - CpuCache::Unallocated
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::StrCat
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, Metadata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:555,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:559,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:562,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:567,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:570,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:588,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:590,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:592,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:594,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:601,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:608,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:609,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:612,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:616,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 618
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - CpuCache::Deallocate
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::GetTotalCacheMissStats
    - EXPECT_EQ
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetIntervalCacheMissStats
    - CpuCache::Allocate
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, CacheMissStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:621,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:627,1
    - Dst: tcmalloc::tcmalloc_internal::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:628,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:629,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 631
    functionName: tcmalloc::tcmalloc_internal::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 8
    functionsReached:
    - load
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::ResizeSizeClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void ResizeSizeClasses(CpuCache& cache, const std::atomic<bool>& stop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:634,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:640,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:641,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::ShuffleThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ShuffleCpuCaches
    - load
    - absl::SleepFor
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void ShuffleThread(CpuCache& cache, const std::atomic<bool>& stop)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:648,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:654,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:655,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:658,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:659,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:660,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:660,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:663,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:664,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:665,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:671,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ' cache'
    - thread_id
    - ' stop'
    argTypes:
    - CpuCache
    - size_t
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 674
    functionName: tcmalloc::tcmalloc_internal::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - load
    - std::vector::pop_back
    - std::vector::back
    - std::vector::size
    - std::vector::emplace_back
    - tcmalloc_internal::subtle::percpu::IsFast
    - Allocate
    - Deallocate
    - std::vector::empty
    - std::make_pair
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: "void StressThread(CpuCache& cache, size_t thread_id,\n                         const
      std::atomic<bool>& stop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:681,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:682,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:685,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' cache'
    - cpu
    - size_class
    - ops
    argTypes:
    - CpuCache
    - int
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 688
    functionName: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 14
    functionsReached:
    - Allocate
    - Deallocate
    - std::vector::clear
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void AllocateThenDeallocate(CpuCache& cache, int cpu, size_t size_class,\n
      \                           int ops)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:701,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:709,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:710,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:719,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:719,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:721,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:722,1
    - Dst: CpuCache::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:722,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:725,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:734,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:740,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:744,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:744,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:747,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:755,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:759,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:760,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:766,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:774,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:775,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:782,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:784,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:784,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 789
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - ASSERT_LT
    - CpuCache::GetCapacityOfSizeClass
    - EXPECT_GT
    - CpuCache::SetCacheLimit
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::CacheLimit
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeMaxCapacityTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:793,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:799,1
    - Dst: ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:800,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:801,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 803
    functionName: tcmalloc::tcmalloc_internal::ResizeMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ResizeSizeClassMaxCapacities
    - load
    - absl::SleepFor
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacities(CpuCache& cache,\n                                const
      std::atomic<bool>& stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:806,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:811,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:822,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:822,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:826,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:827,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:830,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:832,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:832,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:835,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:837,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:842,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:845,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:850,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:850,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:852,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:854,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 856
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::Allocated
    - CpuCache::GetMaxCapacity
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StressMaxCapacityResize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:859,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:868,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:872,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:873,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:876,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:881,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:883,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:891,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:894,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:896,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 897
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StressSizeClassResize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:900,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:905,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:909,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:913,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:914,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:916,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:918,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:918,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:921,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:923,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:927,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:931,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:934,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:936,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 937
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - EXPECT_EQ
    - std::thread::join
    - std::ref
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, StealCpuCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:942,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:950,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:956,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:959,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:963,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:979,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:979,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:983,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:984,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:986,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:988,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:998,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1006,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1008,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1013,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1016,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 1017
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::thread
    - EXPECT_EQ
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    - std::ref
    - EXPECT_LT
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::forwarder
    - CpuCache::ResizeSlabIfNeeded
    - NumCPUs
    - repeat_dynamic_slab_ops
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Deactivate
    - absl::Milliseconds
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, DynamicSlab)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1030,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1037,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1038,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1048,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1049,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1052,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1054,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1065,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1069,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1070,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1070,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1072,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1075,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1077,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1085,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1085,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1088,1
    - Dst: CpuCache::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1092,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1103,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1104,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1104,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1106,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1114,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1114,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1116,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1116,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1120
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CpuCache::Allocated
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - CpuCache::SetCacheLimit
    - CpuCache::TotalObjectsOfClass
    - CpuCache::forwarder
    - CpuCache::Unallocated
    - NumCPUs
    - CpuCache::ResizeSizeClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Deactivate
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeSizeClassesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' cache'
    - cpu_id
    - size_class
    argTypes:
    - CpuCache
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1131
    functionName: tcmalloc::tcmalloc_internal::ColdCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 28
    functionsReached:
    - Allocate
    - Deallocate
    linkageType: ''
    returnType: void
    signature: "void ColdCacheOperations(CpuCache& cache, int cpu_id,\n                                size_t
      size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1139,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1150,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1153,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' cache'
    - cpu_id
    argTypes:
    - CpuCache
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1161
    functionName: tcmalloc::tcmalloc_internal::HotCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 14
    functionsReached:
    - Allocate
    - Deallocate
    - std::vector::resize
    - Reclaim
    linkageType: ''
    returnType: void
    signature: void HotCacheOperations(CpuCache& cache, int cpu_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1169,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1175,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1179,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1179,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1182,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1188,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1190,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1200,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1201,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1206,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1208,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1209,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1224
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - ASSERT_GT
    - SizeMap::CurrentClasses
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::Reclaim
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - ASSERT_LT
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::forwarder
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetIntervalCacheMissStats
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST_F(DynamicWideSlabTest, DynamicSlabThreshold)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1228,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1231,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1234,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1238,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1238,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1243,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1254,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1255,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1261,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1261,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1264,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1269,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1275
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - tcmalloc_internal::subtle::percpu::IsFast
    - std::vector::push_back
    - std::thread
    - absl::SleepFor
    - std::ref
    - CpuCache::forwarder
    - SizeMap::Init
    - NumCPUs
    - CpuCache::ResizeSlabIfNeeded
    - std::min
    - CpuCache::Deactivate
    - absl::Milliseconds
    - join
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST_F(DynamicWideSlabTest, DynamicSlabParamsChange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1280,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1283,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1286,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1289,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1290,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1293,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1295,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1298,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1298,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1305,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1306,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1310,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1310,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1311,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1315,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1317,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1318,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1320,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1321,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1324
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - munlockall
    - mlockall
    - NumCPUs
    - std::min
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::Deactivate
    - absl::Milliseconds
    - ASSERT_EQ
    - std::thread
    - EXPECT_EQ
    - CpuCache::forwarder
    - join
    - std::vector::push_back
    - absl::SleepFor
    - std::ref
    - SizeMap::Init
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, MaxCapacityResizeFailedBytesMlocked)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1329,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1332,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1335,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1338,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1339,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1342,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1344,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1347,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1347,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1354,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1355,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1360,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1360,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1366,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1369,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1371,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1372,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1375
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::CurrentClasses
    - munlockall
    - mlockall
    - NumCPUs
    - std::min
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Deactivate
    - absl::Milliseconds
    - ASSERT_EQ
    - std::thread
    - EXPECT_EQ
    - CpuCache::forwarder
    - join
    - std::vector::push_back
    - absl::SleepFor
    - std::ref
    - SizeMap::Init
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SlabResizeFailedBytesMlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1380,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
    - cpu_cache
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SlabUsage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1384,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1391,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1392,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1410,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1413,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1414,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1418,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1419,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1420,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1421,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1424,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1425,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1430,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1431,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1433,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1436,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1442,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1443,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1447,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1448,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1449,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1450,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1454,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1454,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1456,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1456,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1459,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1464
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Allocated
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - EXPECT_GT
    - CpuCache::SetCacheLimit
    - EXPECT_LT
    - CpuCache::Unallocated
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ShuffleCpuCaches
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ColdHotCacheShuffleTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1467,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1472,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1475,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1481,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1485,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1485,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1488,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1489,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1498,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1502,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1502,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1503,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1508,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1508,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1512,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1517,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1520,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1520,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1523,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1528,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1528,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1539,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1539,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1542,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1542,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1546,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1546,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1547,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1552,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1558,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1558,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1561,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1561,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1564,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1564,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1569,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1576,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1576,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1577,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1577,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1582
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - ASSERT_NE
    - CpuCache::HasPopulated
    - CpuCache::GetTotalCacheMissStats
    - EXPECT_EQ
    - CpuCache::UsedBytes
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - EXPECT_TRUE
    - SCOPED_TRACE
    - CpuCache::GetAndUpdateIntervalCacheMissStats
    - CpuCache::GetNumReclaims
    - EXPECT_GT
    - CpuCache::TryReclaimingCaches
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::Uniform<int32_t>
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ReclaimCpuCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1585,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1590,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1592,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1594,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1598,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1598,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1599,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1604,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1604,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1611,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1612,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1616,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1618,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1628,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1628,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1629,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1634,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1640,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1641,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1645,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1650,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1652,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1653,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1655,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1658
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - static_cast<double>
    - CpuCache::HasPopulated
    - CpuCache::Reclaim
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - CpuCache::GetSizeClassCapacityStats
    - EXPECT_EQ
    - SCOPED_TRACE
    - EXPECT_DOUBLE_EQ
    - CpuCache::forwarder
    - NumCPUs
    - CpuCache::Deactivate
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SizeClassCapacityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1662
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::CpuCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void CpuCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1663
    functionName: ~CpuCacheEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - Deactivate
    linkageType: ''
    returnType: void
    signature: void ~CpuCacheEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1666,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1668
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
    - store
    linkageType: ''
    returnType: void
    signature: void Activate()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1672,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1673,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1676,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1677,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1680,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1680,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1689,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1690,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1693,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1694,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1694,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1700,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1700,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1703,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1703,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1706,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1706,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1709,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1709,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1712,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1713,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1714,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1718,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1718,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1721,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1721,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1724,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1724,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1728,1
    - Dst: TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1733,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1738,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1742,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1742,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1745,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1747,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1749,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1751,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1752,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1753,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1757,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1758,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1759,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1764,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1765,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1769,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1776,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1777,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1786,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1789
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetSizeClassCapacityStats
    - Capacity
    - TryReclaimingCaches
    - TotalUsedBytes
    - GetNumReclaims
    - Unallocated
    - MetadataMemoryUsage
    - ShuffleCpuCaches
    - TotalObjectsOfClass
    - benchmark::DoNotOptimize
    - GetIntervalCacheMissStats
    - ANNOTATE_MEMORY_IS_UNINITIALIZED
    - load
    - EXPECT_NE
    - absl::Uniform
    - static_cast<char*>
    - EXPECT_GT
    - Reclaim
    - GetAndUpdateIntervalCacheMissStats
    - PrintInPbtxt
    - std::string::resize
    - std::string::size
    - Allocate
    - UsedBytes
    - std::string::data
    - GTEST_FAIL
    - GetTotalCacheMissStats
    - Allocated
    - EXPECT_GE
    - CacheLimit
    - Print
    - HasPopulated
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke(absl::BitGenRef rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1791
    functionName: '& cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CpuCache
    signature: CpuCache & cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::num_cpus
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_cpus() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1804,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1816,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1819,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1819,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1820,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1823,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1823,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1824,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1825,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1825,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1836,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1837,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1838,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1839,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1842,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1843,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1847,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1848,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1848,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1851
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - CpuCacheEnvironment::num_cpus
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - std::string::size
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - std::string::resize
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, Fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1811
    functionName: tcmalloc::tcmalloc_internal::ThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ThreadState
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1855,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1867,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1868,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1873,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1875,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1879,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1879,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1880,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1888,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1888,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1902,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1906,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1906,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1917,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1918,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1919,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1920,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1923,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1924,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1925
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CpuCacheEnvironment::num_cpus
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::optional::emplace
    - absl::SleepFor
    - EXPECT_EQ
    - CpuCacheEnvironment::RandomlyPoke
    - CpuCacheEnvironment::Activate
    - ASSERT_TRUE
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::cache
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, DISABLED_ChangingSizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1862
    functionName: tcmalloc::tcmalloc_internal::ThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ThreadState
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1930,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1931,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1932,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1933,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1934,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1935,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1936,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1937,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1937,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1938,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1938,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1939,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1940,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1941,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1941,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1942,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1943,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1943,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1944,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1944,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1945,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1946,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1947,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1948,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1948,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1949,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1950,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1951,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1952,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1952,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1953,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1954,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1955,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1956
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - F
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, TargetOverflowRefillCount)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:45,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:57,1
    - Dst: default_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:62,1
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:82,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:90,1
    - Dst: use_huge_region_more_often
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:107,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:112,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:115,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:115,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:118,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:121,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:125,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:125,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:129,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:134,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:137,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:141,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:145,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:145,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:145,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:149,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:149,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:149,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:153,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:157,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:157,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:157,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:162,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:162,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 169
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - start_addr
    - system_allocator
    - tcmalloc_internal::Span::New
    - arena
    - page_allocator
    - TC_BUG
    - pagemap
    - thread_safe_getenv
    - tcmalloc_internal::Span::Delete
    - default_subrelease
    - ReportDoubleFree
    - use_huge_region_more_often
    - first_page
    - in_bytes
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:45,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:57,1
    - Dst: default_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 3
    functionsReached:
    - TC_BUG
    - thread_safe_getenv
    - default_subrelease
    linkageType: ''
    returnType: bool
    signature: bool decide_subrelease()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:82,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - TC_BUG
    - thread_safe_getenv
    linkageType: ''
    returnType: bool
    signature: bool use_huge_region_more_often()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: tcmalloc_internal::huge_page_allocator_internal::huge_region_option
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
    linkageType: ''
    returnType: HugeRegionUsageOption
    signature: HugeRegionUsageOption huge_region_option()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '& StaticForwarder::arena()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - arena
    linkageType: ''
    returnType: Arena
    signature: Arena & StaticForwarder::arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:115,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - HugePage::first_page
    linkageType: ''
    returnType: void
    signature: void * StaticForwarder::GetHugepage(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Ensure
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    linkageType: ''
    returnType: bool
    signature: bool StaticForwarder::Ensure(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - page
    - span
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Set
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::Set(PageId page, Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:125,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - HugePage::first_page
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::SetHugepage(HugePage p, void* pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ShrinkToUsageLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::ShrinkToUsageLimit(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::NewSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::New
    linkageType: ''
    returnType: Span
    signature: Span * StaticForwarder::NewSpan(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::DeleteSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::Delete
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::DeleteSpan(Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange StaticForwarder::AllocatePages(size_t bytes, size_t align,\n
      \                                           MemoryTag tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:145,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:145,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Back
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - Range::in_bytes
    - system_allocator
    - Range::start_addr
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::Back(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:149,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:149,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - Range::in_bytes
    - system_allocator
    - Range::start_addr
    linkageType: ''
    returnType: bool
    signature: bool StaticForwarder::ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReportDoubleFree
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReportDoubleFree
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::ReportDoubleFree(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:157,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:157,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::CollapsePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - Range::in_bytes
    - system_allocator
    - Range::start_addr
    linkageType: ''
    returnType: bool
    signature: bool StaticForwarder::CollapsePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:162,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:162,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - Range::in_bytes
    - system_allocator
    - Range::start_addr
    linkageType: ''
    returnType: void
    signature: "void StaticForwarder::SetAnonVmaName(Range r,\n                                     std::optional<absl::string_view>
      name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:45,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:57,1
    - Dst: default_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 3
    functionsReached:
    - TC_BUG
    - thread_safe_getenv
    - default_subrelease
    linkageType: ''
    returnType: bool
    signature: bool decide_subrelease()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:82,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 1
    functionsReached:
    - TC_BUG
    - thread_safe_getenv
    linkageType: ''
    returnType: bool
    signature: bool use_huge_region_more_often()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: tcmalloc_internal::huge_page_allocator_internal::huge_region_option
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
    linkageType: ''
    returnType: HugeRegionUsageOption
    signature: HugeRegionUsageOption huge_region_option()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '& StaticForwarder::arena()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - arena
    linkageType: ''
    returnType: Arena
    signature: Arena & StaticForwarder::arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:115,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - HugePage::first_page
    linkageType: ''
    returnType: void
    signature: void * StaticForwarder::GetHugepage(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Ensure
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    linkageType: ''
    returnType: bool
    signature: bool StaticForwarder::Ensure(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - page
    - span
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Set
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::Set(PageId page, Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:125,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - HugePage::first_page
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::SetHugepage(HugePage p, void* pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ShrinkToUsageLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::ShrinkToUsageLimit(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::NewSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::New
    linkageType: ''
    returnType: Span
    signature: Span * StaticForwarder::NewSpan(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::DeleteSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::Delete
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::DeleteSpan(Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange StaticForwarder::AllocatePages(size_t bytes, size_t align,\n
      \                                           MemoryTag tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:145,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:145,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Back
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - Range::in_bytes
    - system_allocator
    - Range::start_addr
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::Back(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:149,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:149,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - Range::in_bytes
    - system_allocator
    - Range::start_addr
    linkageType: ''
    returnType: bool
    signature: bool StaticForwarder::ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReportDoubleFree
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReportDoubleFree
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::ReportDoubleFree(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:157,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:157,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::CollapsePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - Range::in_bytes
    - system_allocator
    - Range::start_addr
    linkageType: ''
    returnType: bool
    signature: bool StaticForwarder::CollapsePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:162,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:162,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - Range::in_bytes
    - system_allocator
    - Range::start_addr
    linkageType: ''
    returnType: void
    signature: "void StaticForwarder::SetAnonVmaName(Range r,\n                                     std::optional<absl::string_view>
      name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:45,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:57,1
    - Dst: default_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 3
    functionsReached:
    - TC_BUG
    - thread_safe_getenv
    - default_subrelease
    linkageType: ''
    returnType: bool
    signature: bool decide_subrelease()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:82,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 2
    functionsReached:
    - TC_BUG
    - thread_safe_getenv
    linkageType: ''
    returnType: bool
    signature: bool use_huge_region_more_often()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: tcmalloc_internal::huge_page_allocator_internal::huge_region_option
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
    linkageType: ''
    returnType: HugeRegionUsageOption
    signature: HugeRegionUsageOption huge_region_option()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '& StaticForwarder::arena()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - arena
    linkageType: ''
    returnType: Arena
    signature: Arena & StaticForwarder::arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:115,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - HugePage::first_page
    linkageType: ''
    returnType: void
    signature: void * StaticForwarder::GetHugepage(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Ensure
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    linkageType: ''
    returnType: bool
    signature: bool StaticForwarder::Ensure(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - page
    - span
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Set
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::Set(PageId page, Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:125,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - HugePage::first_page
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::SetHugepage(HugePage p, void* pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ShrinkToUsageLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::ShrinkToUsageLimit(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::NewSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::New
    linkageType: ''
    returnType: Span
    signature: Span * StaticForwarder::NewSpan(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::DeleteSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::Delete
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::DeleteSpan(Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange StaticForwarder::AllocatePages(size_t bytes, size_t align,\n
      \                                           MemoryTag tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:145,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:145,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Back
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - Range::in_bytes
    - system_allocator
    - Range::start_addr
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::Back(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:149,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:149,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - Range::in_bytes
    - system_allocator
    - Range::start_addr
    linkageType: ''
    returnType: bool
    signature: bool StaticForwarder::ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReportDoubleFree
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReportDoubleFree
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::ReportDoubleFree(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:157,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:157,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::CollapsePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - Range::in_bytes
    - system_allocator
    - Range::start_addr
    linkageType: ''
    returnType: bool
    signature: bool StaticForwarder::CollapsePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:162,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:162,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - Range::in_bytes
    - system_allocator
    - Range::start_addr
    linkageType: ''
    returnType: void
    signature: "void StaticForwarder::SetAnonVmaName(Range r,\n                                     std::optional<absl::string_view>
      name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:45,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:57,1
    - Dst: default_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 3
    functionsReached:
    - TC_BUG
    - thread_safe_getenv
    - default_subrelease
    linkageType: ''
    returnType: bool
    signature: bool decide_subrelease()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:82,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 3
    functionsReached:
    - TC_BUG
    - thread_safe_getenv
    linkageType: ''
    returnType: bool
    signature: bool use_huge_region_more_often()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: tcmalloc_internal::huge_page_allocator_internal::huge_region_option
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
    linkageType: ''
    returnType: HugeRegionUsageOption
    signature: HugeRegionUsageOption huge_region_option()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '& StaticForwarder::arena()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - arena
    linkageType: ''
    returnType: Arena
    signature: Arena & StaticForwarder::arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:115,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - HugePage::first_page
    linkageType: ''
    returnType: void
    signature: void * StaticForwarder::GetHugepage(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Ensure
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    linkageType: ''
    returnType: bool
    signature: bool StaticForwarder::Ensure(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - page
    - span
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Set
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::Set(PageId page, Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:125,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - HugePage::first_page
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::SetHugepage(HugePage p, void* pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ShrinkToUsageLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::ShrinkToUsageLimit(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::NewSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::New
    linkageType: ''
    returnType: Span
    signature: Span * StaticForwarder::NewSpan(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::DeleteSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::Delete
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::DeleteSpan(Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange StaticForwarder::AllocatePages(size_t bytes, size_t align,\n
      \                                           MemoryTag tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:145,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:145,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Back
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - Range::in_bytes
    - system_allocator
    - Range::start_addr
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::Back(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:149,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:149,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - Range::in_bytes
    - system_allocator
    - Range::start_addr
    linkageType: ''
    returnType: bool
    signature: bool StaticForwarder::ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReportDoubleFree
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReportDoubleFree
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::ReportDoubleFree(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:157,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:157,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::CollapsePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - Range::in_bytes
    - system_allocator
    - Range::start_addr
    linkageType: ''
    returnType: bool
    signature: bool StaticForwarder::CollapsePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:162,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:162,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - Range::in_bytes
    - system_allocator
    - Range::start_addr
    linkageType: ''
    returnType: void
    signature: "void StaticForwarder::SetAnonVmaName(Range r,\n                                     std::optional<absl::string_view>
      name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system
      Src: /src/tcmalloc/tcmalloc/huge_allocator.h:79,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_allocator.h:81,1
    - Dst: CheckFreelist
      Src: /src/tcmalloc/tcmalloc/huge_allocator.h:107,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator.h:111,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator.h:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 119
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached:
    - system
    - NHugePages
    - CheckFreelist
    - size
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: tcmalloc_internal::VirtualAllocator::VirtualAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VirtualAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~VirtualAllocator()
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VirtualAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::VirtualAllocator::VirtualAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VirtualAllocator(const VirtualAllocator&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc_internal::VirtualAllocator::VirtualAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VirtualAllocator(VirtualAllocator&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(const VirtualAllocator&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VirtualAllocator
    signature: VirtualAllocator & operator=(const VirtualAllocator&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(VirtualAllocator&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VirtualAllocator
    signature: VirtualAllocator & operator=(VirtualAllocator&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' allocate ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - ' meta_allocate ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - VirtualAllocator
    - MetadataAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::HugeAllocator::HugeAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HugeAllocator(\n      VirtualAllocator& allocate ABSL_ATTRIBUTE_LIFETIME_BOUND,\n
      \     MetadataAllocator& meta_allocate ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: tcmalloc_internal::HugeAllocator::system
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength system() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::HugeAllocator::size
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeAllocator::system
      Src: /src/tcmalloc/tcmalloc/huge_allocator.h:79,1
    - Dst: tcmalloc_internal::HugeAllocator::size
      Src: /src/tcmalloc/tcmalloc/huge_allocator.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::HugeAllocator::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeAllocator::size
    - tcmalloc_internal::HugeAllocator::system
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeAllocator::CheckFreelist
      Src: /src/tcmalloc/tcmalloc/huge_allocator.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: tcmalloc_internal::HugeAllocator::DebugCheckFreelist
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeAllocator::CheckFreelist
    linkageType: ''
    returnType: void
    signature: void DebugCheckFreelist()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: tcmalloc_internal::VirtualAllocator::VirtualAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VirtualAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~VirtualAllocator()
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VirtualAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::VirtualAllocator::VirtualAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VirtualAllocator(const VirtualAllocator&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc_internal::VirtualAllocator::VirtualAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VirtualAllocator(VirtualAllocator&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(const VirtualAllocator&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VirtualAllocator
    signature: VirtualAllocator & operator=(const VirtualAllocator&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(VirtualAllocator&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VirtualAllocator
    signature: VirtualAllocator & operator=(VirtualAllocator&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' allocate ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - ' meta_allocate ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - VirtualAllocator
    - MetadataAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::HugeAllocator::HugeAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HugeAllocator(\n      VirtualAllocator& allocate ABSL_ATTRIBUTE_LIFETIME_BOUND,\n
      \     MetadataAllocator& meta_allocate ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: tcmalloc_internal::HugeAllocator::system
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength system() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::HugeAllocator::size
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeAllocator::system
      Src: /src/tcmalloc/tcmalloc/huge_allocator.h:79,1
    - Dst: tcmalloc_internal::HugeAllocator::size
      Src: /src/tcmalloc/tcmalloc/huge_allocator.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::HugeAllocator::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeAllocator::size
    - tcmalloc_internal::HugeAllocator::system
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeAllocator::CheckFreelist
      Src: /src/tcmalloc/tcmalloc/huge_allocator.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: tcmalloc_internal::HugeAllocator::DebugCheckFreelist
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeAllocator::CheckFreelist
    linkageType: ''
    returnType: void
    signature: void DebugCheckFreelist()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::malloc
      Src: /src/tcmalloc/tcmalloc/alloc_at_least.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - min_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: alloc_result_t::alloc_at_least
    functionSourceFile: /src/tcmalloc/tcmalloc/alloc_at_least.cc
    functionUses: 0
    functionsReached:
    - std::malloc
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: ABSL_ATTRIBUTE_WEAK alloc_result_t alloc_at_least(size_t min_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::aligned_alloc
      Src: /src/tcmalloc/tcmalloc/alloc_at_least.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - alignment
    - min_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: alloc_result_t::aligned_alloc_at_least
    functionSourceFile: /src/tcmalloc/tcmalloc/alloc_at_least.cc
    functionUses: 0
    functionsReached:
    - std::aligned_alloc
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: "ABSL_ATTRIBUTE_WEAK alloc_result_t aligned_alloc_at_least(\n    size_t
      alignment, size_t min_size)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:77,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:78,1
    - Dst: tcmalloc_internal::ThreadCache::Allocate
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:78,1
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:80,1
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:106,1
    - Dst: H::combine_contiguous
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:106,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:106,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:117,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:131,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:132,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:133,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:134,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:135,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:147,1
    - Dst: ComputeValue
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:154,1
    - Dst: tcmalloc_internal::CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:165,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:172,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:179,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:179,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:180,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:180,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:181,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:181,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:182,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:182,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:184,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:184,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:185,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:185,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:186,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:186,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:187,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:187,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:189,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:189,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:190,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:190,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:191,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:191,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:192,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:192,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:194,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:194,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:195,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:195,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:196,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:196,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:197,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:197,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:199,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:199,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:200,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:200,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:201,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:201,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:202,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:202,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:204,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:204,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:205,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:205,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:206,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:206,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:207,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:207,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:209,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:209,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:210,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:210,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:211,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:211,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:212,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:212,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:214,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:214,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:215,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:215,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:216,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:216,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:217,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:217,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:219,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:219,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:220,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:220,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:221,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:221,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:222,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:222,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:224,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:224,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:225,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:225,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:226,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:226,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:227,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:227,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:229,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:229,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:230,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:230,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:231,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:231,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:232,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:232,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:234,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:234,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:235,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:235,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:236,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:236,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:237,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:237,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:239,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:239,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:240,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:240,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:241,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:241,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:242,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:242,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:244,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:244,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:245,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:245,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:246,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:246,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:247,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:247,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:249,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:249,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:250,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:250,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:251,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:251,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:252,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:252,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:254,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:254,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:255,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:255,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:256,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:256,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:257,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:257,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:259,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:259,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:260,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:260,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:261,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:261,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:262,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:262,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:264,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:264,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:265,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:265,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:266,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:266,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:267,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:267,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:269,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:269,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:270,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:270,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:271,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:271,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:272,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:272,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:274,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:274,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:275,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:275,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:276,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:276,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:277,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:277,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:279,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:279,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:280,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:280,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:281,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:281,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:282,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:282,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:284,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:284,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:285,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:285,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:286,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:286,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:287,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:287,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:289,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:289,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:290,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:290,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:291,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:291,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:292,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:292,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:294,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:294,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:295,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:295,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:296,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:296,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:297,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:297,1
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:312,1
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:315,1
    - Dst: const_cast<void*>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:315,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:324,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:325,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:332,1
    - Dst: absl::base_internal::LowLevelAlloc::DeleteArena
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:332,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:400,1
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:412,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:412,1
    - Dst: std::fill_n
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:431,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:432,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:440,1
    - Dst: std::make_unique<DeallocationStackTraceTable>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:452,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:453,1
    - Dst: Stop
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:458,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:466,1
    - Dst: StopAndRecord
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:467,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:468,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:469,1
    - Dst: tcmalloc::Profile::Profile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:471,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:483,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:484,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:484,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:488,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:489,1
    - Dst: GetL3Id
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:490,1
    - Dst: GetNumaId
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:491,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:492,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:495,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:500,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:503,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:508,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:514,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:515,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:516,1
    - Dst: GetL3Id
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:517,1
    - Dst: GetNumaId
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:518,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:519,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:521,1
    - Dst: AddTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:523,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:533,1
    - Dst: ReportMalloc
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:536,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:546,1
    - Dst: DeallocationProfiler*::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:558,1
    - Dst: DeallocationProfiler*::ReportFree
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:568,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:582,1
    - Dst: AddTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:592,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:600,1
    - Dst: ComputeIndex
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:609,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:612,1
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:616,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:619,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:619,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:623,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:629,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:631,1
    - Dst: ComputeIndex
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:647,1
    - Dst: std::lround
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:653,1
    - Dst: sqrt
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:668,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:668,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:669,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:679,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:680,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:681,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:682,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:701,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:702,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:716,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:718,1
    - Dst: std::make_unique<DeallocationProfiler>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:724,1
    - Dst: Stop
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:731,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:732,1
    - Dst: tcmalloc::Profile::Profile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:735,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:751,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:756,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:762,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:762,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 184
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 768
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - RpcMatchingStatus
    - absl::base_internal::LowLevelAlloc::NewArena
    - func
    - tcmalloc::Profile::Profile
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - static_cast<uint64_t>
    - numa_topology
    - tcmalloc_internal::CacheTopology::Instance
    - absl::Now
    - StopAndRecord
    - std::lround
    - end
    - tcmalloc_internal::ThreadCache::Allocate
    - std::equal
    - Remove
    - std::min
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - std::make_unique<DeallocationProfiler>
    - AddTrace
    - const_cast<void*>
    - erase
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - tcmalloc_internal::PageTracker::ReleaseFree
    - absl::base_internal::LowLevelAlloc::DeleteArena
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - std::copy
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - static_cast<int64_t>
    - reset
    - static_cast<T*>
    - std::max
    - TC_ASSERT_EQ
    - absl::ToDoubleNanoseconds
    - sqrt
    - ReportMalloc
    - ComputeValue
    - tcmalloc_internal::max
    - TC_CHECK_EQ
    - memcpy
    - Add
    - ABSL_ARRAYSIZE
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - DeallocationProfiler*::ReportFree
    - std::move
    - static_cast<int>
    - sampled_allocation_recorder
    - ComputeIndex
    - absl::Nanoseconds
    - absl::base_internal::GetTID
    - find
    - TC_CHECK_NE
    - bucketize
    - H::combine
    - Stop
    - std::make_unique<DeallocationStackTraceTable>
    - CpuThreadMatchingStatus
    - GetL3Id
    - DeallocationProfiler*::ReportMalloc
    - H::combine_contiguous
    - GetNumaId
    - TC_CHECK
    - TC_ASSERT_LT
    - static_cast<double>
    - std::fill_n
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: deallocationz::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: deallocationz::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor(const AllocAdaptor&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: deallocationz::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor(const AllocAdaptor<T1, Alloc>&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:77,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:78,1
    - Dst: tcmalloc_internal::ThreadCache::Allocate
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: deallocationz::AllocAdaptor::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - static_cast<T*>
    - tcmalloc_internal::ThreadCache::Allocate
    linkageType: ''
    returnType: T
    signature: T * allocate(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: deallocationz::AllocAdaptor::deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void deallocate(T* p, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:106,1
    - Dst: H::combine_contiguous
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:106,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' c'
    argTypes:
    - H
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: deallocationz::AbslHashValue
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - std::move
    - H::combine
    - H::combine_contiguous
    linkageType: ''
    returnType: H
    signature: H AbslHashValue(H h, const DeallocationSampleRecord& c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: operator==(const DeallocationSampleRecord& other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DeallocationSampleRecord& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:131,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:132,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:133,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:134,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - physical_cpu_matched
    - virtual_cpu_matched
    - l3_matched
    - numa_matched
    - thread_matched
    argTypes:
    - bool
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: deallocationz::CpuThreadMatchingStatus
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void CpuThreadMatchingStatus(bool physical_cpu_matched,\n                                    bool
      virtual_cpu_matched, bool l3_matched,\n                                    bool
      numa_matched, bool thread_matched)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - alloc
    - dealloc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: deallocationz::ComputeValue
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ComputeValue(uint64_t alloc, uint64_t dealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deallocationz::ComputeValue
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - alloc
    - dealloc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: deallocationz::RpcMatchingStatus
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - deallocationz::ComputeValue
    linkageType: ''
    returnType: void
    signature: void RpcMatchingStatus(uint64_t alloc, uint64_t dealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - status
    - rpc_status
    argTypes:
    - CpuThreadMatchingStatus
    - RpcMatchingStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: deallocationz::ComputeIndex
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ComputeIndex(CpuThreadMatchingStatus status, RpcMatchingStatus
      rpc_status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: deallocationz::GetL3Id
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::CacheTopology::Instance
    linkageType: ''
    returnType: int
    signature: int GetL3Id(int cpu_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: deallocationz::GetNumaId
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: int
    signature: int GetNumaId(int cpu_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: deallocationz::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: deallocationz::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor(const AllocAdaptor&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: deallocationz::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor(const AllocAdaptor<T1, Alloc>&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:77,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:78,1
    - Dst: tcmalloc_internal::ThreadCache::Allocate
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: deallocationz::AllocAdaptor::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - static_cast<T*>
    - tcmalloc_internal::ThreadCache::Allocate
    linkageType: ''
    returnType: T
    signature: T * allocate(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: deallocationz::AllocAdaptor::deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void deallocate(T* p, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:106,1
    - Dst: H::combine_contiguous
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:106,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' c'
    argTypes:
    - H
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: deallocationz::AbslHashValue
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - std::move
    - H::combine
    - H::combine_contiguous
    linkageType: ''
    returnType: H
    signature: H AbslHashValue(H h, const DeallocationSampleRecord& c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: operator==(const DeallocationSampleRecord& other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DeallocationSampleRecord& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:131,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:132,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:133,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:134,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - physical_cpu_matched
    - virtual_cpu_matched
    - l3_matched
    - numa_matched
    - thread_matched
    argTypes:
    - bool
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: deallocationz::CpuThreadMatchingStatus
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void CpuThreadMatchingStatus(bool physical_cpu_matched,\n                                    bool
      virtual_cpu_matched, bool l3_matched,\n                                    bool
      numa_matched, bool thread_matched)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - alloc
    - dealloc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: deallocationz::ComputeValue
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ComputeValue(uint64_t alloc, uint64_t dealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deallocationz::ComputeValue
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - alloc
    - dealloc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: deallocationz::RpcMatchingStatus
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - deallocationz::ComputeValue
    linkageType: ''
    returnType: void
    signature: void RpcMatchingStatus(uint64_t alloc, uint64_t dealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - status
    - rpc_status
    argTypes:
    - CpuThreadMatchingStatus
    - RpcMatchingStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: deallocationz::ComputeIndex
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ComputeIndex(CpuThreadMatchingStatus status, RpcMatchingStatus
      rpc_status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: deallocationz::GetL3Id
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::CacheTopology::Instance
    linkageType: ''
    returnType: int
    signature: int GetL3Id(int cpu_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: deallocationz::GetNumaId
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: int
    signature: int GetNumaId(int cpu_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: deallocationz::DeallocationProfiler::MyAllocator::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    linkageType: ''
    returnType: void
    signature: void * Allocate(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:315,1
    - Dst: const_cast<void*>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: deallocationz::DeallocationProfiler::MyAllocator::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void Free(const void* p, size_t /* n */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:324,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: deallocationz::DeallocationProfiler::MyAllocator::LowLevelArenaReference
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - absl::base_internal::LowLevelAlloc::NewArena
    linkageType: ''
    returnType: void
    signature: void LowLevelArenaReference()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:332,1
    - Dst: absl::base_internal::LowLevelAlloc::DeleteArena
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: ~LowLevelArenaReference()
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - absl::base_internal::LowLevelAlloc::DeleteArena
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ~LowLevelArenaReference()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 376
    functionName: ~DeallocationStackTraceTable() override
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DeallocationStackTraceTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Type
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProfileType
    signature: ProfileType Type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 387
    functionName: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::StartTime
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<absl::Time>
    signature: std::optional<absl::Time> StartTime() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Duration
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Duration() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alloc'
    - ' dealloc'
    argTypes:
    - DeallocationSampleRecord
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Key(const DeallocationSampleRecord& alloc,\n          const DeallocationSampleRecord&
      dealloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:412,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' c'
    argTypes:
    - H
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::AbslHashValue
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - std::move
    - H::combine
    linkageType: ''
    returnType: H
    signature: H AbslHashValue(H h, const Key& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: operator==(const Key& other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Key& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fill_n
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:431,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Value
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - std::fill_n
    linkageType: ''
    returnType: void
    signature: void Value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DeallocationStackTraceTable>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:452,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - DeallocationProfilerList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: deallocationz::DeallocationProfiler::DeallocationProfiler
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<DeallocationStackTraceTable>
    - Add
    linkageType: ''
    returnType: void
    signature: void DeallocationProfiler(DeallocationProfilerList* list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Stop
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 460
    functionName: ~DeallocationProfiler()
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - Stop
    linkageType: ''
    returnType: void
    signature: void ~DeallocationProfiler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:466,1
    - Dst: StopAndRecord
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:467,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:468,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:469,1
    - Dst: tcmalloc::Profile::Profile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 472
    functionName: deallocationz::DeallocationProfiler::Stop
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::Profile::Profile
    - StopAndRecord
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - Remove
    - std::move
    linkageType: ''
    returnType: tcmalloc::Profile
    signature: tcmalloc::Profile Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:483,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:484,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:484,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:488,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:489,1
    - Dst: GetL3Id
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:490,1
    - Dst: GetNumaId
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:491,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:492,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' stack_trace'
    argTypes:
    - tcmalloc_internal::StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 497
    functionName: deallocationz::DeallocationProfiler::ReportMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - absl::base_internal::GetTID
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - memcpy
    - static_cast<int64_t>
    - GetL3Id
    - std::min
    - GetNumaId
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void ReportMalloc(const tcmalloc_internal::StackTrace& stack_trace)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:500,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:503,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:508,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:514,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:515,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:516,1
    - Dst: GetL3Id
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:517,1
    - Dst: GetNumaId
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:518,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:519,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:521,1
    - Dst: AddTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - handle
    argTypes:
    - tcmalloc_internal::AllocHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 524
    functionName: deallocationz::DeallocationProfiler::ReportFree
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - AddTrace
    - find
    - erase
    - absl::base_internal::GetTID
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - absl::Now
    - GetL3Id
    - end
    - GetNumaId
    - tcmalloc::tcmalloc_internal::GetStackTrace
    linkageType: ''
    returnType: void
    signature: void ReportFree(tcmalloc_internal::AllocHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:533,1
    - Dst: DeallocationProfiler*::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - profiler
    argTypes:
    - DeallocationProfiler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 538
    functionName: deallocationz::DeallocationProfilerList::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - sampled_allocation_recorder
    - DeallocationProfiler*::ReportMalloc
    linkageType: ''
    returnType: void
    signature: void DeallocationProfilerList::Add(DeallocationProfiler* profiler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - profiler
    argTypes:
    - DeallocationProfiler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 551
    functionName: deallocationz::DeallocationProfilerList::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    linkageType: ''
    returnType: void
    signature: void DeallocationProfilerList::Remove(DeallocationProfiler* profiler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeallocationProfiler*::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' stack_trace'
    argTypes:
    - tcmalloc_internal::StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 561
    functionName: deallocationz::DeallocationProfilerList::ReportMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - DeallocationProfiler*::ReportMalloc
    linkageType: ''
    returnType: void
    signature: "void DeallocationProfilerList::ReportMalloc(\n    const tcmalloc_internal::StackTrace&
      stack_trace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeallocationProfiler*::ReportFree
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - tcmalloc_internal::AllocHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 571
    functionName: deallocationz::DeallocationProfilerList::ReportFree
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - DeallocationProfiler*::ReportFree
    linkageType: ''
    returnType: void
    signature: "void DeallocationProfilerList::ReportFree(\n    tcmalloc_internal::AllocHandle
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:582,1
    - Dst: AddTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' allocs'
    argTypes:
    - AllocsTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 594
    functionName: "DeallocationProfiler::DeallocationStackTraceTable::StopAndRecord(\n
      \   const AllocsTable& allocs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - absl::Now
    - AddTrace
    linkageType: ''
    returnType: void
    signature: "void DeallocationProfiler::DeallocationStackTraceTable::StopAndRecord(\n
      \   const AllocsTable& allocs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:600,1
    - Dst: ComputeIndex
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:609,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:612,1
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:616,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:619,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:619,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:623,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:629,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' alloc_trace'
    - ' dealloc_trace'
    argTypes:
    - DeallocationSampleRecord
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 633
    functionName: "DeallocationProfiler::DeallocationStackTraceTable::AddTrace(\n
      \   const DeallocationSampleRecord& alloc_trace,\n    const DeallocationSampleRecord&
      dealloc_trace)"
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - ComputeIndex
    - CpuThreadMatchingStatus
    - ABSL_ARRAYSIZE
    - std::min
    - std::max
    - TC_ASSERT_LT
    - static_cast<double>
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: void
    signature: "void DeallocationProfiler::DeallocationStackTraceTable::AddTrace(\n
      \   const DeallocationSampleRecord& alloc_trace,\n    const DeallocationSampleRecord&
      dealloc_trace)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ComputeIndex
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:647,1
    - Dst: std::lround
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:653,1
    - Dst: sqrt
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:668,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:668,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:669,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:679,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:680,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:681,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:682,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:701,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:702,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:716,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:718,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - func
    argTypes:
    - absl::FunctionRef<void(const Profile::Sample&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 721
    functionName: "DeallocationProfiler::DeallocationStackTraceTable::Iterate(\n    absl::FunctionRef<void(const
      Profile::Sample&)> func) const"
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - func
    - sqrt
    - bucketize
    - std::copy
    - std::lround
    - std::max
    - static_cast<double>
    - ComputeIndex
    linkageType: ''
    returnType: void
    signature: "void DeallocationProfiler::DeallocationStackTraceTable::Iterate(\n
      \   absl::FunctionRef<void(const Profile::Sample&)> func) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DeallocationProfiler>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - DeallocationProfilerList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 725
    functionName: deallocationz::DeallocationSample::DeallocationSample
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<DeallocationProfiler>
    linkageType: ''
    returnType: void
    signature: void DeallocationSample::DeallocationSample(DeallocationProfilerList*
      list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 727
    functionName: DeallocationSample::~DeallocationSample()
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeallocationSample::~DeallocationSample()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deallocationz::DeallocationSample::Stop
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:731,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:732,1
    - Dst: tcmalloc::Profile::Profile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 736
    functionName: deallocationz::DeallocationSample::Stop
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 1
    functionsReached:
    - reset
    - tcmalloc::Profile::Profile
    - deallocationz::DeallocationSample::Stop
    linkageType: ''
    returnType: tcmalloc::Profile
    signature: tcmalloc::Profile DeallocationSample::Stop() &&
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:751,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:756,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:762,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - lifetime_ns
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 764
    functionName: deallocationz::internal::LifetimeNsToBucketedDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - absl::Nanoseconds
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration LifetimeNsToBucketedDuration(double lifetime_ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:751,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:756,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:762,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - lifetime_ns
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 764
    functionName: deallocationz::internal::LifetimeNsToBucketedDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - absl::Nanoseconds
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration LifetimeNsToBucketedDuration(double lifetime_ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: deallocationz::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: deallocationz::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor(const AllocAdaptor&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: deallocationz::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor(const AllocAdaptor<T1, Alloc>&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:77,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:78,1
    - Dst: tcmalloc_internal::ThreadCache::Allocate
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: deallocationz::AllocAdaptor::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - static_cast<T*>
    - tcmalloc_internal::ThreadCache::Allocate
    linkageType: ''
    returnType: T
    signature: T * allocate(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: deallocationz::AllocAdaptor::deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void deallocate(T* p, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:106,1
    - Dst: H::combine_contiguous
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:106,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' c'
    argTypes:
    - H
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: deallocationz::AbslHashValue
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - std::move
    - H::combine
    - H::combine_contiguous
    linkageType: ''
    returnType: H
    signature: H AbslHashValue(H h, const DeallocationSampleRecord& c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: operator==(const DeallocationSampleRecord& other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DeallocationSampleRecord& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:131,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:132,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:133,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:134,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - physical_cpu_matched
    - virtual_cpu_matched
    - l3_matched
    - numa_matched
    - thread_matched
    argTypes:
    - bool
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: deallocationz::CpuThreadMatchingStatus
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void CpuThreadMatchingStatus(bool physical_cpu_matched,\n                                    bool
      virtual_cpu_matched, bool l3_matched,\n                                    bool
      numa_matched, bool thread_matched)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - alloc
    - dealloc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: deallocationz::ComputeValue
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ComputeValue(uint64_t alloc, uint64_t dealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deallocationz::ComputeValue
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - alloc
    - dealloc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: deallocationz::RpcMatchingStatus
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - deallocationz::ComputeValue
    linkageType: ''
    returnType: void
    signature: void RpcMatchingStatus(uint64_t alloc, uint64_t dealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - status
    - rpc_status
    argTypes:
    - CpuThreadMatchingStatus
    - RpcMatchingStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: deallocationz::ComputeIndex
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ComputeIndex(CpuThreadMatchingStatus status, RpcMatchingStatus
      rpc_status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: deallocationz::GetL3Id
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::CacheTopology::Instance
    linkageType: ''
    returnType: int
    signature: int GetL3Id(int cpu_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: deallocationz::GetNumaId
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: int
    signature: int GetNumaId(int cpu_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: deallocationz::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: deallocationz::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor(const AllocAdaptor&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: deallocationz::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor(const AllocAdaptor<T1, Alloc>&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:77,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:78,1
    - Dst: tcmalloc_internal::ThreadCache::Allocate
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: deallocationz::AllocAdaptor::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - static_cast<T*>
    - tcmalloc_internal::ThreadCache::Allocate
    linkageType: ''
    returnType: T
    signature: T * allocate(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: deallocationz::AllocAdaptor::deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void deallocate(T* p, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:106,1
    - Dst: H::combine_contiguous
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:106,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' c'
    argTypes:
    - H
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: deallocationz::AbslHashValue
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - std::move
    - H::combine
    - H::combine_contiguous
    linkageType: ''
    returnType: H
    signature: H AbslHashValue(H h, const DeallocationSampleRecord& c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: operator==(const DeallocationSampleRecord& other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DeallocationSampleRecord& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:131,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:132,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:133,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:134,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - physical_cpu_matched
    - virtual_cpu_matched
    - l3_matched
    - numa_matched
    - thread_matched
    argTypes:
    - bool
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: deallocationz::CpuThreadMatchingStatus
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void CpuThreadMatchingStatus(bool physical_cpu_matched,\n                                    bool
      virtual_cpu_matched, bool l3_matched,\n                                    bool
      numa_matched, bool thread_matched)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - alloc
    - dealloc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: deallocationz::ComputeValue
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 3
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ComputeValue(uint64_t alloc, uint64_t dealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deallocationz::ComputeValue
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - alloc
    - dealloc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: deallocationz::RpcMatchingStatus
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - deallocationz::ComputeValue
    linkageType: ''
    returnType: void
    signature: void RpcMatchingStatus(uint64_t alloc, uint64_t dealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - status
    - rpc_status
    argTypes:
    - CpuThreadMatchingStatus
    - RpcMatchingStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: deallocationz::ComputeIndex
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ComputeIndex(CpuThreadMatchingStatus status, RpcMatchingStatus
      rpc_status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: deallocationz::GetL3Id
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::CacheTopology::Instance
    linkageType: ''
    returnType: int
    signature: int GetL3Id(int cpu_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: deallocationz::GetNumaId
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: int
    signature: int GetNumaId(int cpu_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: deallocationz::DeallocationProfiler::MyAllocator::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    linkageType: ''
    returnType: void
    signature: void * Allocate(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:315,1
    - Dst: const_cast<void*>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: deallocationz::DeallocationProfiler::MyAllocator::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void Free(const void* p, size_t /* n */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:324,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: deallocationz::DeallocationProfiler::MyAllocator::LowLevelArenaReference
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - absl::base_internal::LowLevelAlloc::NewArena
    linkageType: ''
    returnType: void
    signature: void LowLevelArenaReference()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:332,1
    - Dst: absl::base_internal::LowLevelAlloc::DeleteArena
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: ~LowLevelArenaReference()
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - absl::base_internal::LowLevelAlloc::DeleteArena
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ~LowLevelArenaReference()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 376
    functionName: ~DeallocationStackTraceTable() override
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DeallocationStackTraceTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Type
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProfileType
    signature: ProfileType Type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 387
    functionName: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::StartTime
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<absl::Time>
    signature: std::optional<absl::Time> StartTime() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Duration
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Duration() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alloc'
    - ' dealloc'
    argTypes:
    - DeallocationSampleRecord
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Key(const DeallocationSampleRecord& alloc,\n          const DeallocationSampleRecord&
      dealloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:412,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' c'
    argTypes:
    - H
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::AbslHashValue
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - std::move
    - H::combine
    linkageType: ''
    returnType: H
    signature: H AbslHashValue(H h, const Key& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: operator==(const Key& other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Key& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fill_n
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:431,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Value
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - std::fill_n
    linkageType: ''
    returnType: void
    signature: void Value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DeallocationStackTraceTable>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:452,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - DeallocationProfilerList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: deallocationz::DeallocationProfiler::DeallocationProfiler
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<DeallocationStackTraceTable>
    - Add
    linkageType: ''
    returnType: void
    signature: void DeallocationProfiler(DeallocationProfilerList* list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Stop
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 460
    functionName: ~DeallocationProfiler()
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - Stop
    linkageType: ''
    returnType: void
    signature: void ~DeallocationProfiler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:466,1
    - Dst: StopAndRecord
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:467,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:468,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:469,1
    - Dst: tcmalloc::Profile::Profile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 472
    functionName: deallocationz::DeallocationProfiler::Stop
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::Profile::Profile
    - StopAndRecord
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - Remove
    - std::move
    linkageType: ''
    returnType: tcmalloc::Profile
    signature: tcmalloc::Profile Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:483,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:484,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:484,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:488,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:489,1
    - Dst: GetL3Id
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:490,1
    - Dst: GetNumaId
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:491,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:492,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' stack_trace'
    argTypes:
    - tcmalloc_internal::StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 497
    functionName: deallocationz::DeallocationProfiler::ReportMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - absl::base_internal::GetTID
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - memcpy
    - static_cast<int64_t>
    - GetL3Id
    - std::min
    - GetNumaId
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void ReportMalloc(const tcmalloc_internal::StackTrace& stack_trace)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:500,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:503,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:508,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:514,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:515,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:516,1
    - Dst: GetL3Id
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:517,1
    - Dst: GetNumaId
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:518,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:519,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:521,1
    - Dst: AddTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - handle
    argTypes:
    - tcmalloc_internal::AllocHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 524
    functionName: deallocationz::DeallocationProfiler::ReportFree
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - AddTrace
    - find
    - erase
    - absl::base_internal::GetTID
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - absl::Now
    - GetL3Id
    - end
    - GetNumaId
    - tcmalloc::tcmalloc_internal::GetStackTrace
    linkageType: ''
    returnType: void
    signature: void ReportFree(tcmalloc_internal::AllocHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:533,1
    - Dst: DeallocationProfiler*::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - profiler
    argTypes:
    - DeallocationProfiler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 538
    functionName: deallocationz::DeallocationProfilerList::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - sampled_allocation_recorder
    - DeallocationProfiler*::ReportMalloc
    linkageType: ''
    returnType: void
    signature: void DeallocationProfilerList::Add(DeallocationProfiler* profiler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - profiler
    argTypes:
    - DeallocationProfiler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 551
    functionName: deallocationz::DeallocationProfilerList::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    linkageType: ''
    returnType: void
    signature: void DeallocationProfilerList::Remove(DeallocationProfiler* profiler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeallocationProfiler*::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' stack_trace'
    argTypes:
    - tcmalloc_internal::StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 561
    functionName: deallocationz::DeallocationProfilerList::ReportMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - DeallocationProfiler*::ReportMalloc
    linkageType: ''
    returnType: void
    signature: "void DeallocationProfilerList::ReportMalloc(\n    const tcmalloc_internal::StackTrace&
      stack_trace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeallocationProfiler*::ReportFree
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - tcmalloc_internal::AllocHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 571
    functionName: deallocationz::DeallocationProfilerList::ReportFree
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - DeallocationProfiler*::ReportFree
    linkageType: ''
    returnType: void
    signature: "void DeallocationProfilerList::ReportFree(\n    tcmalloc_internal::AllocHandle
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:582,1
    - Dst: AddTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' allocs'
    argTypes:
    - AllocsTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 594
    functionName: "DeallocationProfiler::DeallocationStackTraceTable::StopAndRecord(\n
      \   const AllocsTable& allocs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - absl::Now
    - AddTrace
    linkageType: ''
    returnType: void
    signature: "void DeallocationProfiler::DeallocationStackTraceTable::StopAndRecord(\n
      \   const AllocsTable& allocs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:600,1
    - Dst: ComputeIndex
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:609,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:612,1
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:616,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:619,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:619,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:623,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:629,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' alloc_trace'
    - ' dealloc_trace'
    argTypes:
    - DeallocationSampleRecord
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 633
    functionName: "DeallocationProfiler::DeallocationStackTraceTable::AddTrace(\n
      \   const DeallocationSampleRecord& alloc_trace,\n    const DeallocationSampleRecord&
      dealloc_trace)"
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - ComputeIndex
    - CpuThreadMatchingStatus
    - ABSL_ARRAYSIZE
    - std::min
    - std::max
    - TC_ASSERT_LT
    - static_cast<double>
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: void
    signature: "void DeallocationProfiler::DeallocationStackTraceTable::AddTrace(\n
      \   const DeallocationSampleRecord& alloc_trace,\n    const DeallocationSampleRecord&
      dealloc_trace)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ComputeIndex
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:647,1
    - Dst: std::lround
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:653,1
    - Dst: sqrt
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:668,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:668,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:669,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:679,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:680,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:681,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:682,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:701,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:702,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:716,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:718,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - func
    argTypes:
    - absl::FunctionRef<void(const Profile::Sample&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 721
    functionName: "DeallocationProfiler::DeallocationStackTraceTable::Iterate(\n    absl::FunctionRef<void(const
      Profile::Sample&)> func) const"
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - func
    - sqrt
    - bucketize
    - std::copy
    - std::lround
    - std::max
    - static_cast<double>
    - ComputeIndex
    linkageType: ''
    returnType: void
    signature: "void DeallocationProfiler::DeallocationStackTraceTable::Iterate(\n
      \   absl::FunctionRef<void(const Profile::Sample&)> func) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DeallocationProfiler>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - DeallocationProfilerList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 725
    functionName: deallocationz::DeallocationSample::DeallocationSample
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<DeallocationProfiler>
    linkageType: ''
    returnType: void
    signature: void DeallocationSample::DeallocationSample(DeallocationProfilerList*
      list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 727
    functionName: DeallocationSample::~DeallocationSample()
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeallocationSample::~DeallocationSample()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deallocationz::DeallocationSample::Stop
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:731,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:732,1
    - Dst: tcmalloc::Profile::Profile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 736
    functionName: deallocationz::DeallocationSample::Stop
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 2
    functionsReached:
    - reset
    - tcmalloc::Profile::Profile
    - deallocationz::DeallocationSample::Stop
    linkageType: ''
    returnType: tcmalloc::Profile
    signature: tcmalloc::Profile DeallocationSample::Stop() &&
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:751,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:756,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:762,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - lifetime_ns
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 764
    functionName: deallocationz::internal::LifetimeNsToBucketedDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - absl::Nanoseconds
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration LifetimeNsToBucketedDuration(double lifetime_ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:751,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:756,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:762,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - lifetime_ns
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 764
    functionName: deallocationz::internal::LifetimeNsToBucketedDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - absl::Nanoseconds
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration LifetimeNsToBucketedDuration(double lifetime_ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::mock_clock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t mock_clock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::freq
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double freq()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_set<PageId>::flat_hash_set<PageId>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::ReleasedPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set<PageId>::flat_hash_set<PageId>
    linkageType: ''
    returnType: absl::flat_hash_set<PageId>
    signature: absl::flat_hash_set<PageId> & ReleasedPages()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::GetBitmap
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetRange
    linkageType: ''
    returnType: Bitmap<kMaxResidencyBits>
    signature: Bitmap<kMaxResidencyBits> GetBitmap(int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:85,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - insert
    - tcmalloc::tcmalloc_internal::ReleasedPages
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: operator()(Range r, std::optional<absl::string_view> name) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(Range r, std::optional<absl::string_view> name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::FakePageFlags::FakePageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakePageFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_internal::FakePageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<PageStats>
    signature: std::optional<PageStats> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::FakePageFlags::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const void* addr) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::FakeResidency::FakeResidency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeResidency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::FakeResidency::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Info>
    signature: std::optional<Info> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::FakeResidency::GetUnbackedAndSwappedBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SinglePageBitmaps
    signature: SinglePageBitmaps GetUnbackedAndSwappedBitmaps(const void* addr) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::FakeResidency::GetNativePagesInHugePage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GetNativePagesInHugePage() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:140,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:141,1
    - Dst: MockCollapse::MockCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:156,1
    - Dst: MockSetAnonVmaName::MockSetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:157,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:160,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:161,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:168,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:168,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:186,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:205,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:213,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:214,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:224,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:233,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:238,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:240,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:240,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:240,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:241,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:241,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:241,1
    - Dst: HugePageFiller::TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:246,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:259,1
    - Dst: HugePageFiller<PageTracker>::TryGetResult::pt::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:265,1
    - Dst: HugePageFiller::Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:266,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:269,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:275,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:278,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:280,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:280,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:280,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:281,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:281,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:281,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:290,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:294,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:294,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:297,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:297,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:298,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:298,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:302,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:302,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:303,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:303,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:304,1
    - Dst: absl::flat_hash_map::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:306,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:307,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:307,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:308,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:308,1
    - Dst: HugePageFiller::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:314,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:316,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:317,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:320,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:321,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:322,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:324,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:329,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:329,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:329,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:330,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:330,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:330,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:354,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:360,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:363,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:365,1
    - Dst: HugePageFiller::FreePagesInPartialAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:377,1
    - Dst: HugePageFiller::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:378,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:385,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:387,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:387,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:410,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:411,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:412,1
    - Dst: HugePageFiller::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:414,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:423,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:424,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:425,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:427,1
    - Dst: auto*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:434,1
    - Dst: HugePageFiller::Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:435,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:439,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:444,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:447,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:449,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:449,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:449,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:450,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:450,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:450,1
    - Dst: HugePageFiller::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:460,1
    - Dst: HugePageFiller::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:463,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:468,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:468,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:469,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:469,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:469,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:477,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:478,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:479,1
    - Dst: HugePageFiller::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:483,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:486,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:486,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:486,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:487,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:487,1
    - Dst: HugePageFiller::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:496,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:500,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:501,1
    - Dst: HugePageFiller::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:504,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:505,1
    - Dst: HugePageFiller::FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:505,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:511,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:512,1
    - Dst: tcmalloc::tcmalloc_internal::GetBitmap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:515,1
    - Dst: tcmalloc::tcmalloc_internal::GetBitmap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:517,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:531,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:531,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:533,1
    - Dst: HugePageFiller::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:538,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:540,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:546,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:546,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 170
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 547
    functionName: tcmalloc::tcmalloc_internal::FuzzFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::back
    - Length
    - Printer::SpaceRequired
    - PageTracker::PageTracker
    - FakeResidency::FakeResidency
    - Length::raw_num
    - Clear
    - HugePageFiller::TryGet
    - HugePageFiller::Contribute
    - clear
    - std::min
    - NHugePages
    - CHECK_LE
    - tcmalloc::tcmalloc_internal::ReleasedPages
    - CHECK
    - std::swap
    - MockCollapse::MockCollapse
    - raw_num
    - erase
    - HugePageFiller::Print
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - HugePageFiller::PrintInPbtxt
    - HugePageFiller::AddSpanStats
    - HugePageFiller<PageTracker>::TryGetResult::pt::Get
    - back
    - size
    - HugePageFiller::TreatHugepageTrackers
    - reserve
    - CHECK_EQ
    - push_back
    - PageTracker*::location
    - HugePageFiller::FetchFullyFreedTracker
    - std::max<size_t>
    - HugePageFiller::Put
    - std::clamp<size_t>
    - HugePageFiller::FreePagesInPartialAllocs
    - absl::flat_hash_map::erase
    - data
    - resize
    - HugePageFiller::free_pages
    - tcmalloc::tcmalloc_internal::GetBitmap
    - HugePageFiller::size
    - std::vector::resize
    - HugePage::first_page
    - memcpy
    - FakePageFlags::FakePageFlags
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - std::string::resize
    - std::string::size
    - std::vector::empty
    - std::min<size_t>
    - std::vector::push_back
    - std::vector::size
    - auto*::Get
    - HugePageFiller::ReleasePages
    - MockSetAnonVmaName::MockSetAnonVmaName
    - static_cast<uint8_t>
    - HugePageFiller::unmapped_pages
    - CHECK_GE
    linkageType: ''
    returnType: void
    signature: void FuzzFiller(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::mock_clock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t mock_clock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::freq
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double freq()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_set<PageId>::flat_hash_set<PageId>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::ReleasedPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::flat_hash_set<PageId>::flat_hash_set<PageId>
    linkageType: ''
    returnType: absl::flat_hash_set<PageId>
    signature: absl::flat_hash_set<PageId> & ReleasedPages()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::GetBitmap
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 1
    functionsReached:
    - Bitmap::SetRange
    linkageType: ''
    returnType: Bitmap<kMaxResidencyBits>
    signature: Bitmap<kMaxResidencyBits> GetBitmap(int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:85,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - insert
    - tcmalloc::tcmalloc_internal::ReleasedPages
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: operator()(Range r, std::optional<absl::string_view> name) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(Range r, std::optional<absl::string_view> name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::FakePageFlags::FakePageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakePageFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_internal::FakePageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<PageStats>
    signature: std::optional<PageStats> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::FakePageFlags::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const void* addr) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::FakeResidency::FakeResidency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeResidency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::FakeResidency::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Info>
    signature: std::optional<Info> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::FakeResidency::GetUnbackedAndSwappedBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SinglePageBitmaps
    signature: SinglePageBitmaps GetUnbackedAndSwappedBitmaps(const void* addr) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::FakeResidency::GetNativePagesInHugePage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GetNativePagesInHugePage() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:140,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:141,1
    - Dst: MockCollapse::MockCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:156,1
    - Dst: MockSetAnonVmaName::MockSetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:157,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:160,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:161,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:168,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:168,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:186,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:205,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:213,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:214,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:224,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:233,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:238,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:240,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:240,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:240,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:241,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:241,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:241,1
    - Dst: HugePageFiller::TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:246,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:259,1
    - Dst: HugePageFiller<PageTracker>::TryGetResult::pt::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:265,1
    - Dst: HugePageFiller::Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:266,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:269,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:275,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:278,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:280,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:280,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:280,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:281,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:281,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:281,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:290,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:294,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:294,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:297,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:297,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:298,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:298,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:302,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:302,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:303,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:303,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:304,1
    - Dst: absl::flat_hash_map::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:306,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:307,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:307,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:308,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:308,1
    - Dst: HugePageFiller::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:314,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:316,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:317,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:320,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:321,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:322,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:324,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:329,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:329,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:329,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:330,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:330,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:330,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:354,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:360,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:363,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:365,1
    - Dst: HugePageFiller::FreePagesInPartialAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:377,1
    - Dst: HugePageFiller::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:378,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:385,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:387,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:387,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:410,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:411,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:412,1
    - Dst: HugePageFiller::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:414,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:423,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:424,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:425,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:427,1
    - Dst: auto*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:434,1
    - Dst: HugePageFiller::Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:435,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:439,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:444,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:447,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:449,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:449,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:449,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:450,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:450,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:450,1
    - Dst: HugePageFiller::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:460,1
    - Dst: HugePageFiller::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:463,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:468,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:468,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:469,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:469,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:469,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:477,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:478,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:479,1
    - Dst: HugePageFiller::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:483,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:486,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:486,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:486,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:487,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:487,1
    - Dst: HugePageFiller::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:496,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:500,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:501,1
    - Dst: HugePageFiller::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:504,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:505,1
    - Dst: HugePageFiller::FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:505,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:511,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:512,1
    - Dst: tcmalloc::tcmalloc_internal::GetBitmap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:515,1
    - Dst: tcmalloc::tcmalloc_internal::GetBitmap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:517,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:531,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:531,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:533,1
    - Dst: HugePageFiller::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:538,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:540,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:546,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:546,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 170
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 547
    functionName: tcmalloc::tcmalloc_internal::FuzzFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::back
    - Length
    - Printer::SpaceRequired
    - PageTracker::PageTracker
    - FakeResidency::FakeResidency
    - Length::raw_num
    - Clear
    - HugePageFiller::TryGet
    - HugePageFiller::Contribute
    - clear
    - std::min
    - NHugePages
    - CHECK_LE
    - tcmalloc::tcmalloc_internal::ReleasedPages
    - CHECK
    - std::swap
    - MockCollapse::MockCollapse
    - raw_num
    - erase
    - HugePageFiller::Print
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - HugePageFiller::PrintInPbtxt
    - HugePageFiller::AddSpanStats
    - HugePageFiller<PageTracker>::TryGetResult::pt::Get
    - back
    - size
    - HugePageFiller::TreatHugepageTrackers
    - reserve
    - CHECK_EQ
    - push_back
    - PageTracker*::location
    - HugePageFiller::FetchFullyFreedTracker
    - std::max<size_t>
    - HugePageFiller::Put
    - std::clamp<size_t>
    - HugePageFiller::FreePagesInPartialAllocs
    - absl::flat_hash_map::erase
    - data
    - resize
    - HugePageFiller::free_pages
    - tcmalloc::tcmalloc_internal::GetBitmap
    - HugePageFiller::size
    - std::vector::resize
    - HugePage::first_page
    - memcpy
    - FakePageFlags::FakePageFlags
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - std::string::resize
    - std::string::size
    - std::vector::empty
    - std::min<size_t>
    - std::vector::push_back
    - std::vector::size
    - auto*::Get
    - HugePageFiller::ReleasePages
    - MockSetAnonVmaName::MockSetAnonVmaName
    - static_cast<uint8_t>
    - HugePageFiller::unmapped_pages
    - CHECK_GE
    linkageType: ''
    returnType: void
    signature: void FuzzFiller(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::mock_clock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t mock_clock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::freq
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double freq()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_set<PageId>::flat_hash_set<PageId>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::ReleasedPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::flat_hash_set<PageId>::flat_hash_set<PageId>
    linkageType: ''
    returnType: absl::flat_hash_set<PageId>
    signature: absl::flat_hash_set<PageId> & ReleasedPages()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::GetBitmap
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 2
    functionsReached:
    - Bitmap::SetRange
    linkageType: ''
    returnType: Bitmap<kMaxResidencyBits>
    signature: Bitmap<kMaxResidencyBits> GetBitmap(int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:85,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - insert
    - ReleasedPages
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: operator()(Range r, std::optional<absl::string_view> name) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(Range r, std::optional<absl::string_view> name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::FakePageFlags::FakePageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakePageFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_internal::FakePageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<PageStats>
    signature: std::optional<PageStats> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::FakePageFlags::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const void* addr) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::FakeResidency::FakeResidency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeResidency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::FakeResidency::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Info>
    signature: std::optional<Info> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::FakeResidency::GetUnbackedAndSwappedBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SinglePageBitmaps
    signature: SinglePageBitmaps GetUnbackedAndSwappedBitmaps(const void* addr) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::FakeResidency::GetNativePagesInHugePage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GetNativePagesInHugePage() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:140,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:141,1
    - Dst: MockCollapse::MockCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:156,1
    - Dst: MockSetAnonVmaName::MockSetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:157,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:160,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:161,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:168,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:168,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:186,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:205,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:213,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:214,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:224,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:233,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:238,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:240,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:240,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:240,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:241,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:241,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:241,1
    - Dst: HugePageFiller::TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:246,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:259,1
    - Dst: HugePageFiller<PageTracker>::TryGetResult::pt::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:265,1
    - Dst: HugePageFiller::Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:266,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:269,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:275,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:278,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:280,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:280,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:280,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:281,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:281,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:281,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:290,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:294,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:294,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:297,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:297,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:298,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:298,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:302,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:302,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:303,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:303,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:304,1
    - Dst: absl::flat_hash_map::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:306,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:307,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:307,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:308,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:308,1
    - Dst: HugePageFiller::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:314,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:316,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:317,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:320,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:321,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:322,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:324,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:329,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:329,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:329,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:330,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:330,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:330,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:354,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:360,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:363,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:365,1
    - Dst: HugePageFiller::FreePagesInPartialAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:377,1
    - Dst: HugePageFiller::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:378,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:385,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:387,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:387,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:410,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:411,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:412,1
    - Dst: HugePageFiller::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:414,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:423,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:424,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:425,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:427,1
    - Dst: auto*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:434,1
    - Dst: HugePageFiller::Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:435,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:439,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:444,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:447,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:449,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:449,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:449,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:450,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:450,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:450,1
    - Dst: HugePageFiller::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:460,1
    - Dst: HugePageFiller::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:463,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:468,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:468,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:469,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:469,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:469,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:477,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:478,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:479,1
    - Dst: HugePageFiller::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:483,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:486,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:486,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:486,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:487,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:487,1
    - Dst: HugePageFiller::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:496,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:500,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:501,1
    - Dst: HugePageFiller::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:504,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:505,1
    - Dst: HugePageFiller::FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:505,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:511,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:512,1
    - Dst: tcmalloc::tcmalloc_internal::GetBitmap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:515,1
    - Dst: tcmalloc::tcmalloc_internal::GetBitmap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:517,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:531,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:531,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:533,1
    - Dst: HugePageFiller::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:538,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:540,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:546,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:546,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 170
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 547
    functionName: tcmalloc::tcmalloc_internal::FuzzFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::back
    - Length
    - Printer::SpaceRequired
    - PageTracker::PageTracker
    - FakeResidency::FakeResidency
    - Length::raw_num
    - Clear
    - HugePageFiller::TryGet
    - HugePageFiller::Contribute
    - clear
    - std::min
    - NHugePages
    - CHECK_LE
    - tcmalloc::tcmalloc_internal::ReleasedPages
    - CHECK
    - std::swap
    - MockCollapse::MockCollapse
    - raw_num
    - erase
    - HugePageFiller::Print
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - HugePageFiller::PrintInPbtxt
    - HugePageFiller::AddSpanStats
    - HugePageFiller<PageTracker>::TryGetResult::pt::Get
    - back
    - size
    - HugePageFiller::TreatHugepageTrackers
    - reserve
    - CHECK_EQ
    - push_back
    - PageTracker*::location
    - HugePageFiller::FetchFullyFreedTracker
    - std::max<size_t>
    - HugePageFiller::Put
    - std::clamp<size_t>
    - HugePageFiller::FreePagesInPartialAllocs
    - absl::flat_hash_map::erase
    - data
    - resize
    - HugePageFiller::free_pages
    - tcmalloc::tcmalloc_internal::GetBitmap
    - HugePageFiller::size
    - std::vector::resize
    - HugePage::first_page
    - memcpy
    - FakePageFlags::FakePageFlags
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - std::string::resize
    - std::string::size
    - std::vector::empty
    - std::min<size_t>
    - std::vector::push_back
    - std::vector::size
    - auto*::Get
    - HugePageFiller::ReleasePages
    - MockSetAnonVmaName::MockSetAnonVmaName
    - static_cast<uint8_t>
    - HugePageFiller::unmapped_pages
    - CHECK_GE
    linkageType: ''
    returnType: void
    signature: void FuzzFiller(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::mock_clock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t mock_clock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::freq
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double freq()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_set<PageId>::flat_hash_set<PageId>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::ReleasedPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 5
    functionsReached:
    - absl::flat_hash_set<PageId>::flat_hash_set<PageId>
    linkageType: ''
    returnType: absl::flat_hash_set<PageId>
    signature: absl::flat_hash_set<PageId> & ReleasedPages()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::GetBitmap
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 3
    functionsReached:
    - Bitmap::SetRange
    linkageType: ''
    returnType: Bitmap<kMaxResidencyBits>
    signature: Bitmap<kMaxResidencyBits> GetBitmap(int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:85,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - insert
    - ReleasedPages
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: operator()(Range r, std::optional<absl::string_view> name) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(Range r, std::optional<absl::string_view> name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::FakePageFlags::FakePageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakePageFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_internal::FakePageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<PageStats>
    signature: std::optional<PageStats> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::FakePageFlags::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const void* addr) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::FakeResidency::FakeResidency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeResidency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::FakeResidency::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Info>
    signature: std::optional<Info> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::FakeResidency::GetUnbackedAndSwappedBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SinglePageBitmaps
    signature: SinglePageBitmaps GetUnbackedAndSwappedBitmaps(const void* addr) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::FakeResidency::GetNativePagesInHugePage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GetNativePagesInHugePage() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:140,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:141,1
    - Dst: MockCollapse::MockCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:156,1
    - Dst: MockSetAnonVmaName::MockSetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:157,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:160,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:161,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:168,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:168,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:186,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:205,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:213,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:214,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:224,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:233,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:238,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:240,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:240,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:240,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:241,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:241,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:241,1
    - Dst: HugePageFiller::TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:246,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:259,1
    - Dst: HugePageFiller<PageTracker>::TryGetResult::pt::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:265,1
    - Dst: HugePageFiller::Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:266,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:269,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:275,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:278,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:280,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:280,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:280,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:281,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:281,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:281,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:290,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:294,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:294,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:297,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:297,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:298,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:298,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:302,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:302,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:303,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:303,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:304,1
    - Dst: absl::flat_hash_map::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:306,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:307,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:307,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:308,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:308,1
    - Dst: HugePageFiller::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:314,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:316,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:317,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:320,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:321,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:322,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:324,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:329,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:329,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:329,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:330,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:330,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:330,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:354,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:360,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:363,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:365,1
    - Dst: HugePageFiller::FreePagesInPartialAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:377,1
    - Dst: HugePageFiller::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:378,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:385,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:387,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:387,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:410,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:411,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:412,1
    - Dst: HugePageFiller::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:414,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:423,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:424,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:425,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:427,1
    - Dst: auto*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:434,1
    - Dst: HugePageFiller::Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:435,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:439,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:444,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:447,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:449,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:449,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:449,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:450,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:450,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:450,1
    - Dst: HugePageFiller::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:460,1
    - Dst: HugePageFiller::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:463,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:468,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:468,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:469,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:469,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:469,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:477,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:478,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:479,1
    - Dst: HugePageFiller::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:483,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:486,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:486,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:486,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:487,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:487,1
    - Dst: HugePageFiller::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:496,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:500,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:501,1
    - Dst: HugePageFiller::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:504,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:505,1
    - Dst: HugePageFiller::FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:505,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:511,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:512,1
    - Dst: tcmalloc::tcmalloc_internal::GetBitmap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:515,1
    - Dst: tcmalloc::tcmalloc_internal::GetBitmap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:517,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:531,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:531,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:533,1
    - Dst: HugePageFiller::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:538,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:540,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:546,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:546,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 170
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 547
    functionName: tcmalloc::tcmalloc_internal::FuzzFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::back
    - Length
    - Printer::SpaceRequired
    - PageTracker::PageTracker
    - FakeResidency::FakeResidency
    - Length::raw_num
    - Clear
    - HugePageFiller::TryGet
    - HugePageFiller::Contribute
    - clear
    - std::min
    - NHugePages
    - CHECK_LE
    - tcmalloc::tcmalloc_internal::ReleasedPages
    - CHECK
    - std::swap
    - MockCollapse::MockCollapse
    - raw_num
    - erase
    - HugePageFiller::Print
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - HugePageFiller::PrintInPbtxt
    - HugePageFiller::AddSpanStats
    - HugePageFiller<PageTracker>::TryGetResult::pt::Get
    - back
    - size
    - HugePageFiller::TreatHugepageTrackers
    - reserve
    - CHECK_EQ
    - push_back
    - PageTracker*::location
    - HugePageFiller::FetchFullyFreedTracker
    - std::max<size_t>
    - HugePageFiller::Put
    - std::clamp<size_t>
    - HugePageFiller::FreePagesInPartialAllocs
    - absl::flat_hash_map::erase
    - data
    - resize
    - HugePageFiller::free_pages
    - tcmalloc::tcmalloc_internal::GetBitmap
    - HugePageFiller::size
    - std::vector::resize
    - HugePage::first_page
    - memcpy
    - FakePageFlags::FakePageFlags
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - std::string::resize
    - std::string::size
    - std::vector::empty
    - std::min<size_t>
    - std::vector::push_back
    - std::vector::size
    - auto*::Get
    - HugePageFiller::ReleasePages
    - MockSetAnonVmaName::MockSetAnonVmaName
    - static_cast<uint8_t>
    - HugePageFiller::unmapped_pages
    - CHECK_GE
    linkageType: ''
    returnType: void
    signature: void FuzzFiller(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
      Src: /src/tcmalloc/tcmalloc/internal_malloc_extension.h:44,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal_malloc_extension.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::unique_ptr<AllocationProfilingTokenBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
    functionSourceFile: /src/tcmalloc/tcmalloc/internal_malloc_extension.h
    functionUses: 4
    functionsReached:
    - tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
    - std::move
    linkageType: ''
    returnType: MallocExtension::AllocationProfilingToken
    signature: "MallocExtension::AllocationProfilingToken MakeToken(\n      std::unique_ptr<AllocationProfilingTokenBase>
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Profile
      Src: /src/tcmalloc/tcmalloc/internal_malloc_extension.h:51,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal_malloc_extension.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::unique_ptr<const ProfileBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal_malloc_extension.h
    functionUses: 15
    functionsReached:
    - Profile
    - std::move
    linkageType: ''
    returnType: Profile
    signature: Profile MakeProfile(std::unique_ptr<const ProfileBase> p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
      Src: /src/tcmalloc/tcmalloc/internal_malloc_extension.h:44,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal_malloc_extension.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::unique_ptr<AllocationProfilingTokenBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
    functionSourceFile: /src/tcmalloc/tcmalloc/internal_malloc_extension.h
    functionUses: 4
    functionsReached:
    - tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
    - std::move
    linkageType: ''
    returnType: MallocExtension::AllocationProfilingToken
    signature: "MallocExtension::AllocationProfilingToken MakeToken(\n      std::unique_ptr<AllocationProfilingTokenBase>
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Profile
      Src: /src/tcmalloc/tcmalloc/internal_malloc_extension.h:51,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal_malloc_extension.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::unique_ptr<const ProfileBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal_malloc_extension.h
    functionUses: 15
    functionsReached:
    - Profile
    - std::move
    linkageType: ''
    returnType: Profile
    signature: Profile MakeProfile(std::unique_ptr<const ProfileBase> p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
      Src: /src/tcmalloc/tcmalloc/internal_malloc_extension.h:44,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal_malloc_extension.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::unique_ptr<AllocationProfilingTokenBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
    functionSourceFile: /src/tcmalloc/tcmalloc/internal_malloc_extension.h
    functionUses: 4
    functionsReached:
    - tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
    - std::move
    linkageType: ''
    returnType: MallocExtension::AllocationProfilingToken
    signature: "MallocExtension::AllocationProfilingToken MakeToken(\n      std::unique_ptr<AllocationProfilingTokenBase>
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Profile
      Src: /src/tcmalloc/tcmalloc/internal_malloc_extension.h:51,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal_malloc_extension.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::unique_ptr<const ProfileBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal_malloc_extension.h
    functionUses: 15
    functionsReached:
    - Profile
    - std::move
    linkageType: ''
    returnType: Profile
    signature: Profile MakeProfile(std::unique_ptr<const ProfileBase> p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
      Src: /src/tcmalloc/tcmalloc/internal_malloc_extension.h:44,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal_malloc_extension.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::unique_ptr<AllocationProfilingTokenBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
    functionSourceFile: /src/tcmalloc/tcmalloc/internal_malloc_extension.h
    functionUses: 4
    functionsReached:
    - tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
    - std::move
    linkageType: ''
    returnType: MallocExtension::AllocationProfilingToken
    signature: "MallocExtension::AllocationProfilingToken MakeToken(\n      std::unique_ptr<AllocationProfilingTokenBase>
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Profile
      Src: /src/tcmalloc/tcmalloc/internal_malloc_extension.h:51,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal_malloc_extension.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::unique_ptr<const ProfileBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal_malloc_extension.h
    functionUses: 15
    functionsReached:
    - Profile
    - std::move
    linkageType: ''
    returnType: Profile
    signature: Profile MakeProfile(std::unique_ptr<const ProfileBase> p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 141
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/malloc_hook.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' h'
    argTypes:
    - std::ostream
    - tcmalloc::MallocHook::AllocHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: "& operator<<(std::ostream& os,\n                                const
      tcmalloc::MallocHook::AllocHandle& h)"
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_hook.h
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_END
    signature: "GOOGLE_MALLOC_SECTION_END & operator<<(std::ostream& os,\n                                const
      tcmalloc::MallocHook::AllocHandle& h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockBackingInterface>>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:60,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:60,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - size
    - std::make_unique<NiceMock<MockBackingInterface>>
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~HugeRegionTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ~HugeRegionTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::Mock::VerifyAndClearExpectations
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:77,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - testing::Mock::VerifyAndClearExpectations
    - get
    linkageType: ''
    returnType: void
    signature: void CheckMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - HugeRange::len
    - HugeRange::start
    - Return
    linkageType: ''
    returnType: void
    signature: void ExpectUnback(HugeRange r, bool success = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:100,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - size
    - EXPECT_LE
    - Alloc::n::raw_num
    - first_page
    linkageType: ''
    returnType: void
    signature: void Mark(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:110,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - EXPECT_EQ
    - size
    - EXPECT_LE
    - Alloc::n::raw_num
    - first_page
    linkageType: ''
    returnType: void
    signature: void Check(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:123,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:123,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    - TC_CHECK
    - MaybeGet
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:132,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    - Range
    linkageType: ''
    returnType: void
    signature: void Delete(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:137,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    - Range
    linkageType: ''
    returnType: void
    signature: void DeleteUnback(Alloc a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:145,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:147,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:147,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:153,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:155,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:162,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:164,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:170,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:172,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:172,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - used_pages
    - std::vector::swap
    - std::vector::push_back
    - absl::BitGen
    - EXPECT_EQ
    - std::vector::size
    - std::vector::begin
    - size
    - Delete
    - Allocate
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:189,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:192,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:195,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - std::vector::push_back
    - EXPECT_TRUE
    - Delete
    - Allocate
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReqsBacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:205,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:206,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:211,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:215,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:219,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ExpectUnback
    - EXPECT_EQ
    - CheckMock
    - Delete
    - Allocate
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:230,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:232,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:233,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:236,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:239,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:242,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:243,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:244,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:251,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:257,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:262,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:266,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:267,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:270,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:273,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 275
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - ExpectUnback
    - EXPECT_EQ
    - CheckMock
    - Delete
    - Allocate
    - DeleteUnback
    - NHugePages
    - EXPECT_FALSE
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:290,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:294,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 298
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - EXPECT_EQ
    - ExpectUnback
    - CheckMock
    - Delete
    - Allocate
    - NHugePages
    - EXPECT_FALSE
    - backed
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:314,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:317,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:318,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:319,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:322,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 325
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - absl::BitGen
    - std::vector::push_back
    - EXPECT_TRUE
    - ExpectUnback
    - std::vector::begin
    - CheckMock
    - NHugePages
    - Allocate
    - DeleteUnback
    - std::vector::end
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Reback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' mu'
    - base
    - bytes
    argTypes:
    - absl::Mutex
    - PageId
    - absl::Span<std::atomic<char>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::MemorySimulation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MemorySimulation(absl::Mutex& mu, PageId base,\n                   absl::Span<std::atomic<char>>
      bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:337,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:338,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - AssertHeld
    - store
    - raw_num
    - n::raw_num
    linkageType: ''
    returnType: bool
    signature: bool ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:354,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:356,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:356,1
    - Dst: ~HugeRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:358,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:359,1
    - Dst: HugeRegion::HugeRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:359,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:372,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:373,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:376,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:376,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:380,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:384,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:389,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:389,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:392,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:393,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:398,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:407,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:411,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:411,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:413,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:413,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:414,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:414,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:417,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:417,1
    - Dst: FuzzAlloc::r::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:418,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:420,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:421,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:425,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:430,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:434,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:434,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:437,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:437,1
    - Dst: FuzzAlloc::r::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:438,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:439,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:440,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:446,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:447,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:450,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:457,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:457,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:459,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 460
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - std::vector::back
    - Length
    - MaybeGet
    - std::swap
    - raw_num
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - size
    - FuzzAlloc::r::n::raw_num
    - first_page
    - load
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::resize
    - Put
    - exchange
    - TC_CHECK_EQ
    - ~HugeRegion
    - std::vector::empty
    - Release
    - HugeRegion::HugeRegion
    - std::vector::push_back
    - absl::SleepFor
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:463,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:464,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:470,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:471,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:472,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:474,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:475,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:476,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:479,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:480,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:484,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:492,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:493,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:493,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:494,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:496,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:500,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:504,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:504,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:505,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:505,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:506,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:506,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:507,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:507,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:508,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:508,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:510,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:512,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:513,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:513,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:514,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:515,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:519,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:522,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:523,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:525,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:527,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:533,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:534,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:536,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:544,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:545,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:546,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:548,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:556,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:559,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:559,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 566
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - EXPECT_EQ
    - stats
    - tcmalloc::tcmalloc_internal::Stat
    - testing::ElementsAre
    - size
    - LargeSpanStats
    - EXPECT_THAT
    - AddSpanStats
    - push_back
    - Delete
    - clear
    - Allocate
    - in_bytes
    - NHugePages
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:470,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:471,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:472,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:474,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:475,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:476,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:479,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:480,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - ' region'
    - small_backed
    - small_unbacked
    - large
    - stats
    argTypes:
    - Region
    - std::vector<Length>*
    - std::vector<Length>*
    - LargeSpanStats*
    - BackingStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 1
    functionsReached:
    - std::vector<Length>*::clear
    - auto::raw_num
    - Length
    - stats
    - LargeSpanStats
    - AddSpanStats
    - std::vector<Length>*::push_back
    linkageType: ''
    returnType: void
    signature: "void Stat(const Region& region, std::vector<Length>* small_backed,\n
      \                    std::vector<Length>* small_unbacked, LargeSpanStats* large,\n
      \                    BackingStats* stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:572,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:573,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:574,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:575,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:575,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:578,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:580,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:581,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:589,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:591,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:591,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:592,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:594,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:594,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:595,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:596,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:597,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 599
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - HugePageContaining
    - Length
    - DeleteUnback
    - ExpectUnback
    - EXPECT_EQ
    - AddSpanStats
    - Delete
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - tcmalloc_internal::Make
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, StatBreakdown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:603,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:604,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:605,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:606,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:606,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:609,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:612,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:613,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:618,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:622,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:625,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:625,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:626,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:627,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:628,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 630
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - HugePageContaining
    - Length
    - DeleteUnback
    - ExpectUnback
    - EXPECT_EQ
    - AddSpanStats
    - Delete
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - tcmalloc_internal::Make
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, StatBreakdownReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 642
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:647,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 648
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:651,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 654
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::HugeRegionSetTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionSetTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:658,1
    - Dst: Region::Region
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:658,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Region::Region
    - tcmalloc_internal::HugeRegion::size
    linkageType: ''
    returnType: std::unique_ptr<Region>
    signature: std::unique_ptr<Region> GetRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:675,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 1
    functionsReached:
    - TC_CHECK
    - MaybeGet
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - Range
    - MaybePut
    linkageType: ''
    returnType: void
    signature: void Delete(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 686
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    linkageType: ''
    returnType: Length
    signature: "Length ReleasePagesByPeakDemand(Length desired,\n                                  SkipSubreleaseIntervals
      intervals = {},\n                                  bool hit_limit = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::HardReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    linkageType: ''
    returnType: Length
    signature: Length HardReleasePages(Length desired)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:707,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:710,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:718,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:719,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:725,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:726,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:732,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:733,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:735,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:736,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:736,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 738
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - MaybeGet
    - MaybePut
    - ReleasePages
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:745,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:748,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:749,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:749,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:753,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:757,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:771,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:774,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 776
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - ReleasePagesByPeakDemand
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - MaybeGet
    - MaybePut
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleasePagesWithoutIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:781,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:782,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:783,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:784,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 786
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ReleasePagesByPeakDemand
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleaseZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:795,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:798,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:799,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:799,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:803,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:804,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:807,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:813,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:814,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:818,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:818,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:819,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:819,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:821,1
    - Dst: HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:822,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:822,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:823,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:824,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:824,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:826,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:826,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:827,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 828
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - MaybeGet
    - NHugePages
    - Contribute
    - auto::get
    - EXPECT_EQ
    - stats
    - Range
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - HugeLength::in_bytes
    - Length::in_bytes
    - ReleasePagesByPeakDemand
    - std::vector::push_back
    - HugeLength
    - auto::free_backed
    - MaybePut
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleaseZeroPages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:835,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:836,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:839,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:840,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:844,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:845,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:845,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:858,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:859,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:860,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:862,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:863,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:865,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:866,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:867,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:872,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:875,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:876,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:877,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:881,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:881,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:882,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:884,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:886,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:887,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:889,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:890,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:892,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:893,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:894,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:895,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:896,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:900,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:900,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:901,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:901,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:902,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:908,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:910,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:915,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:915,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:921,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:922,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:924,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:925,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:926,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:931,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:931,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:936,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:938,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:939,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:944,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:944,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:948,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:955,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:955,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:959,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:961,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:962,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:967,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:967,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:972,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:974,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:975,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:979,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:979,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:983,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:985,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:990,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:990,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:995,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:997,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1002,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1002,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1008,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1010,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1011,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1018,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1020,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1021,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1022,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1027,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1027,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1030,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1030,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1031,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1035,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1035,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1036,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1040,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 1044
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - Length
    - UseHugeRegionMoreOften
    - free_backed
    - NHugePages
    - Contribute
    - auto::get
    - testing::HasSubstr
    - absl::Milliseconds
    - absl::Minutes
    - EXPECT_EQ
    - Advance
    - std::string::c_str
    - GetRegion
    - std::string::size
    - Allocate
    - std::string::resize
    - std::string::begin
    - ReleasePagesByPeakDemand
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - Delete
    - Print
    - HardReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, SkipSubrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1051,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1054,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1055,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1055,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1059,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1060,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1062,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1063,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1070,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1071,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1074,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1074,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1075,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1075,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1076,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1076,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1077,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1078,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1078,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1080,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1080,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1082
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - HardReleasePages
    - GetRegion
    - MaybeGet
    - MaybePut
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, HardRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1087,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1090,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1091,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1092,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1093,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1094,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1094,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1095,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1095,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1096,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1096,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1097,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1097,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1102,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1103,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1110,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1118,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1119,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1120,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1121,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1123,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1124,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1124,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1125,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: auto::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1134,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1134,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1137,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1138,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1138,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1139,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1139,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1142,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1142,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1143,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1144,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1144,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1145,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1148,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1149,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1149,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1150,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1150,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1151,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1152,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1152,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1153,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1155,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1155,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1156,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1157,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1157,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1159,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1160,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1160,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1164,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1165,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1166,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1167,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1171,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1175,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1176,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1178
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::used_pages
    - unmapped_pages
    - std::vector::back
    - Length
    - std::vector::insert
    - auto::stats
    - UseHugeRegionMoreOften
    - free_backed
    - ASSERT_FALSE
    - printf
    - MaybeGet
    - std::sort
    - absl::Uniform<int32_t>
    - std::swap
    - Contribute
    - auto::get
    - std::vector::begin
    - std::vector::pop_back
    - used_pages
    - EXPECT_EQ
    - stats
    - Range
    - EXPECT_GT
    - EXPECT_LE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - std::vector::erase
    - std::vector::end
    - std::shuffle
    - std::vector::push_back
    - std::vector::size
    - Print
    - TC_LOG
    - MaybePut
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockBackingInterface>>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:60,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:60,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - size
    - std::make_unique<NiceMock<MockBackingInterface>>
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~HugeRegionTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ~HugeRegionTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::Mock::VerifyAndClearExpectations
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:77,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - testing::Mock::VerifyAndClearExpectations
    - get
    linkageType: ''
    returnType: void
    signature: void CheckMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - HugeRange::len
    - HugeRange::start
    - Return
    linkageType: ''
    returnType: void
    signature: void ExpectUnback(HugeRange r, bool success = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:100,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 1
    functionsReached:
    - raw_num
    - size
    - EXPECT_LE
    - Alloc::n::raw_num
    - first_page
    linkageType: ''
    returnType: void
    signature: void Mark(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:110,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 2
    functionsReached:
    - raw_num
    - EXPECT_EQ
    - size
    - EXPECT_LE
    - Alloc::n::raw_num
    - first_page
    linkageType: ''
    returnType: void
    signature: void Check(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:123,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:123,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    - TC_CHECK
    - MaybeGet
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:132,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    - Range
    linkageType: ''
    returnType: void
    signature: void Delete(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:137,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    - Range
    linkageType: ''
    returnType: void
    signature: void DeleteUnback(Alloc a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:145,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:147,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:147,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:153,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:155,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:162,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:164,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:170,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:172,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:172,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - used_pages
    - std::vector::swap
    - std::vector::push_back
    - absl::BitGen
    - EXPECT_EQ
    - std::vector::size
    - std::vector::begin
    - size
    - Delete
    - Allocate
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:189,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:192,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:195,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - std::vector::push_back
    - EXPECT_TRUE
    - Delete
    - Allocate
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReqsBacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:205,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:206,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:211,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:215,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:219,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ExpectUnback
    - EXPECT_EQ
    - CheckMock
    - Delete
    - Allocate
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:230,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:232,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:233,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:236,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:239,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:242,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:243,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:244,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:251,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:257,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:262,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:266,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:267,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:270,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:273,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 275
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - ExpectUnback
    - EXPECT_EQ
    - CheckMock
    - Delete
    - Allocate
    - DeleteUnback
    - NHugePages
    - EXPECT_FALSE
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:290,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:294,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 298
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - EXPECT_EQ
    - ExpectUnback
    - CheckMock
    - Delete
    - Allocate
    - NHugePages
    - EXPECT_FALSE
    - backed
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:314,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:317,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:318,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:319,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:322,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 325
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - absl::BitGen
    - std::vector::push_back
    - EXPECT_TRUE
    - ExpectUnback
    - std::vector::begin
    - CheckMock
    - NHugePages
    - Allocate
    - DeleteUnback
    - std::vector::end
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Reback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' mu'
    - base
    - bytes
    argTypes:
    - absl::Mutex
    - PageId
    - absl::Span<std::atomic<char>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::MemorySimulation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MemorySimulation(absl::Mutex& mu, PageId base,\n                   absl::Span<std::atomic<char>>
      bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:337,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:338,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - AssertHeld
    - store
    - raw_num
    - n::raw_num
    linkageType: ''
    returnType: bool
    signature: bool ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:354,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:356,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:356,1
    - Dst: ~HugeRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:358,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:359,1
    - Dst: HugeRegion::HugeRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:359,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:372,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:373,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:376,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:376,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:380,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:384,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:389,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:389,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:392,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:393,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:398,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:407,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:411,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:411,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:413,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:413,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:414,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:414,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:417,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:417,1
    - Dst: FuzzAlloc::r::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:418,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:420,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:421,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:425,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:430,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:434,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:434,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:437,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:437,1
    - Dst: FuzzAlloc::r::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:438,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:439,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:440,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:446,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:447,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:450,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:457,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:457,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:459,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 460
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - std::vector::back
    - Length
    - MaybeGet
    - std::swap
    - raw_num
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - size
    - FuzzAlloc::r::n::raw_num
    - first_page
    - load
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::resize
    - Put
    - exchange
    - TC_CHECK_EQ
    - ~HugeRegion
    - std::vector::empty
    - Release
    - HugeRegion::HugeRegion
    - std::vector::push_back
    - absl::SleepFor
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:463,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:464,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:470,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:471,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:472,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:474,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:475,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:476,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:479,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:480,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:484,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:492,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:493,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:493,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:494,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:496,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:500,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:504,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:504,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:505,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:505,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:506,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:506,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:507,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:507,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:508,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:508,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:510,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:512,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:513,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:513,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:514,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:515,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:519,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:522,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:523,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:525,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:527,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:533,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:534,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:536,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:544,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:545,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:546,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:548,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:556,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:559,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:559,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 566
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - EXPECT_EQ
    - stats
    - tcmalloc::tcmalloc_internal::Stat
    - testing::ElementsAre
    - size
    - LargeSpanStats
    - EXPECT_THAT
    - AddSpanStats
    - push_back
    - Delete
    - clear
    - Allocate
    - in_bytes
    - NHugePages
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:470,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:471,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:472,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:474,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:475,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:476,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:479,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:480,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - ' region'
    - small_backed
    - small_unbacked
    - large
    - stats
    argTypes:
    - Region
    - std::vector<Length>*
    - std::vector<Length>*
    - LargeSpanStats*
    - BackingStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 2
    functionsReached:
    - std::vector<Length>*::clear
    - auto::raw_num
    - Length
    - stats
    - LargeSpanStats
    - AddSpanStats
    - std::vector<Length>*::push_back
    linkageType: ''
    returnType: void
    signature: "void Stat(const Region& region, std::vector<Length>* small_backed,\n
      \                    std::vector<Length>* small_unbacked, LargeSpanStats* large,\n
      \                    BackingStats* stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:572,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:573,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:574,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:575,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:575,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:578,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:580,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:581,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:589,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:591,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:591,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:592,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:594,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:594,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:595,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:596,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:597,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 599
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - HugePageContaining
    - Length
    - DeleteUnback
    - ExpectUnback
    - EXPECT_EQ
    - AddSpanStats
    - Delete
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - tcmalloc_internal::Make
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, StatBreakdown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:603,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:604,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:605,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:606,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:606,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:609,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:612,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:613,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:618,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:622,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:625,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:625,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:626,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:627,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:628,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 630
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - HugePageContaining
    - Length
    - DeleteUnback
    - ExpectUnback
    - EXPECT_EQ
    - AddSpanStats
    - Delete
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - tcmalloc_internal::Make
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, StatBreakdownReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 642
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:647,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 648
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:651,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 654
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::HugeRegionSetTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionSetTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:658,1
    - Dst: Region::Region
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:658,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Region::Region
    - tcmalloc_internal::HugeRegion::size
    linkageType: ''
    returnType: std::unique_ptr<Region>
    signature: std::unique_ptr<Region> GetRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:675,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 2
    functionsReached:
    - TC_CHECK
    - MaybeGet
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - Range
    - MaybePut
    linkageType: ''
    returnType: void
    signature: void Delete(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 686
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    linkageType: ''
    returnType: Length
    signature: "Length ReleasePagesByPeakDemand(Length desired,\n                                  SkipSubreleaseIntervals
      intervals = {},\n                                  bool hit_limit = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::HardReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    linkageType: ''
    returnType: Length
    signature: Length HardReleasePages(Length desired)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:707,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:710,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:718,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:719,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:725,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:726,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:732,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:733,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:735,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:736,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:736,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 738
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - MaybeGet
    - MaybePut
    - ReleasePages
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:745,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:748,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:749,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:749,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:753,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:757,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:771,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:774,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 776
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - ReleasePagesByPeakDemand
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - MaybeGet
    - MaybePut
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleasePagesWithoutIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:781,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:782,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:783,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:784,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 786
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ReleasePagesByPeakDemand
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleaseZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:795,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:798,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:799,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:799,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:803,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:804,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:807,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:813,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:814,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:818,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:818,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:819,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:819,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:821,1
    - Dst: HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:822,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:822,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:823,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:824,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:824,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:826,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:826,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:827,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 828
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - MaybeGet
    - NHugePages
    - Contribute
    - auto::get
    - EXPECT_EQ
    - stats
    - Range
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - HugeLength::in_bytes
    - Length::in_bytes
    - ReleasePagesByPeakDemand
    - std::vector::push_back
    - HugeLength
    - auto::free_backed
    - MaybePut
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleaseZeroPages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:835,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:836,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:839,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:840,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:844,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:845,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:845,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:858,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:859,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:860,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:862,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:863,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:865,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:866,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:867,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:872,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:875,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:876,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:877,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:881,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:881,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:882,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:884,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:886,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:887,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:889,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:890,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:892,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:893,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:894,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:895,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:896,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:900,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:900,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:901,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:901,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:902,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:908,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:910,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:915,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:915,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:921,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:922,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:924,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:925,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:926,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:931,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:931,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:936,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:938,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:939,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:944,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:944,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:948,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:955,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:955,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:959,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:961,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:962,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:967,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:967,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:972,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:974,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:975,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:979,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:979,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:983,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:985,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:990,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:990,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:995,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:997,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1002,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1002,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1008,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1010,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1011,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1018,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1020,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1021,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1022,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1027,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1027,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1030,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1030,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1031,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1035,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1035,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1036,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1040,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 1044
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - Length
    - UseHugeRegionMoreOften
    - free_backed
    - NHugePages
    - Contribute
    - auto::get
    - testing::HasSubstr
    - absl::Milliseconds
    - absl::Minutes
    - EXPECT_EQ
    - Advance
    - std::string::c_str
    - GetRegion
    - std::string::size
    - Allocate
    - std::string::resize
    - std::string::begin
    - ReleasePagesByPeakDemand
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - Delete
    - Print
    - HardReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, SkipSubrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1051,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1054,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1055,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1055,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1059,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1060,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1062,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1063,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1070,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1071,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1074,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1074,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1075,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1075,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1076,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1076,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1077,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1078,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1078,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1080,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1080,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1082
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - HardReleasePages
    - GetRegion
    - MaybeGet
    - MaybePut
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, HardRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1087,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1090,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1091,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1092,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1093,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1094,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1094,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1095,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1095,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1096,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1096,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1097,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1097,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1102,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1103,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1110,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1118,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1119,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1120,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1121,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1123,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1124,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1124,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1125,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: auto::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1134,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1134,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1137,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1138,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1138,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1139,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1139,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1142,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1142,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1143,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1144,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1144,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1145,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1148,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1149,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1149,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1150,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1150,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1151,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1152,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1152,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1153,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1155,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1155,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1156,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1157,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1157,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1159,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1160,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1160,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1164,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1165,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1166,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1167,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1171,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1175,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1176,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1178
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::used_pages
    - unmapped_pages
    - std::vector::back
    - Length
    - std::vector::insert
    - auto::stats
    - UseHugeRegionMoreOften
    - free_backed
    - ASSERT_FALSE
    - printf
    - MaybeGet
    - std::sort
    - absl::Uniform<int32_t>
    - std::swap
    - Contribute
    - auto::get
    - std::vector::begin
    - std::vector::pop_back
    - used_pages
    - EXPECT_EQ
    - stats
    - Range
    - EXPECT_GT
    - EXPECT_LE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - std::vector::erase
    - std::vector::end
    - std::shuffle
    - std::vector::push_back
    - std::vector::size
    - Print
    - TC_LOG
    - MaybePut
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockBackingInterface>>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:60,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:60,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - size
    - std::make_unique<NiceMock<MockBackingInterface>>
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~HugeRegionTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ~HugeRegionTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::Mock::VerifyAndClearExpectations
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:77,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - testing::Mock::VerifyAndClearExpectations
    - get
    linkageType: ''
    returnType: void
    signature: void CheckMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - HugeRange::len
    - HugeRange::start
    - Return
    linkageType: ''
    returnType: void
    signature: void ExpectUnback(HugeRange r, bool success = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:100,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 2
    functionsReached:
    - raw_num
    - size
    - EXPECT_LE
    - Alloc::n::raw_num
    - first_page
    linkageType: ''
    returnType: void
    signature: void Mark(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:110,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 4
    functionsReached:
    - raw_num
    - EXPECT_EQ
    - size
    - EXPECT_LE
    - Alloc::n::raw_num
    - first_page
    linkageType: ''
    returnType: void
    signature: void Check(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:123,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:123,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    - TC_CHECK
    - MaybeGet
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:132,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    - Range
    linkageType: ''
    returnType: void
    signature: void Delete(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:137,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    - Range
    linkageType: ''
    returnType: void
    signature: void DeleteUnback(Alloc a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:145,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:147,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:147,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:153,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:155,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:162,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:164,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:170,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:172,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:172,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - used_pages
    - std::vector::swap
    - std::vector::push_back
    - absl::BitGen
    - EXPECT_EQ
    - std::vector::size
    - std::vector::begin
    - size
    - Delete
    - Allocate
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:189,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:192,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:195,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - std::vector::push_back
    - EXPECT_TRUE
    - Delete
    - Allocate
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReqsBacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:205,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:206,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:211,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:215,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:219,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ExpectUnback
    - EXPECT_EQ
    - CheckMock
    - Delete
    - Allocate
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:230,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:232,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:233,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:236,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:239,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:242,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:243,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:244,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:251,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:257,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:262,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:266,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:267,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:270,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:273,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 275
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - ExpectUnback
    - EXPECT_EQ
    - CheckMock
    - Delete
    - Allocate
    - DeleteUnback
    - NHugePages
    - EXPECT_FALSE
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:290,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:294,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 298
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - EXPECT_EQ
    - ExpectUnback
    - CheckMock
    - Delete
    - Allocate
    - NHugePages
    - EXPECT_FALSE
    - backed
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:314,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:317,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:318,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:319,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:322,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 325
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - absl::BitGen
    - std::vector::push_back
    - EXPECT_TRUE
    - ExpectUnback
    - std::vector::begin
    - CheckMock
    - NHugePages
    - Allocate
    - DeleteUnback
    - std::vector::end
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Reback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' mu'
    - base
    - bytes
    argTypes:
    - absl::Mutex
    - PageId
    - absl::Span<std::atomic<char>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::MemorySimulation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MemorySimulation(absl::Mutex& mu, PageId base,\n                   absl::Span<std::atomic<char>>
      bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:337,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:338,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - AssertHeld
    - store
    - raw_num
    - n::raw_num
    linkageType: ''
    returnType: bool
    signature: bool ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:354,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:356,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:356,1
    - Dst: ~HugeRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:358,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:359,1
    - Dst: HugeRegion::HugeRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:359,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:372,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:373,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:376,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:376,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:380,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:384,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:389,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:389,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:392,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:393,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:398,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:407,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:411,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:411,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:413,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:413,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:414,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:414,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:417,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:417,1
    - Dst: FuzzAlloc::r::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:418,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:420,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:421,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:425,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:430,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:434,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:434,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:437,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:437,1
    - Dst: FuzzAlloc::r::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:438,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:439,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:440,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:446,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:447,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:450,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:457,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:457,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:459,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 460
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - std::vector::back
    - Length
    - MaybeGet
    - std::swap
    - raw_num
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - size
    - FuzzAlloc::r::n::raw_num
    - first_page
    - load
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::resize
    - Put
    - exchange
    - TC_CHECK_EQ
    - ~HugeRegion
    - std::vector::empty
    - Release
    - HugeRegion::HugeRegion
    - std::vector::push_back
    - absl::SleepFor
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:463,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:464,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:470,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:471,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:472,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:474,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:475,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:476,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:479,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:480,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:484,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:492,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:493,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:493,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:494,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:496,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:500,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:504,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:504,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:505,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:505,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:506,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:506,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:507,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:507,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:508,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:508,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:510,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:512,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:513,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:513,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:514,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:515,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:519,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:522,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:523,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:525,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:527,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:533,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:534,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:536,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:544,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:545,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:546,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:548,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:556,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:559,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:559,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 566
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - EXPECT_EQ
    - stats
    - tcmalloc::tcmalloc_internal::Stat
    - testing::ElementsAre
    - size
    - LargeSpanStats
    - EXPECT_THAT
    - AddSpanStats
    - push_back
    - Delete
    - clear
    - Allocate
    - in_bytes
    - NHugePages
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:470,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:471,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:472,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:474,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:475,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:476,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:479,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:480,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - ' region'
    - small_backed
    - small_unbacked
    - large
    - stats
    argTypes:
    - Region
    - std::vector<Length>*
    - std::vector<Length>*
    - LargeSpanStats*
    - BackingStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 3
    functionsReached:
    - std::vector<Length>*::clear
    - auto::raw_num
    - Length
    - stats
    - LargeSpanStats
    - AddSpanStats
    - std::vector<Length>*::push_back
    linkageType: ''
    returnType: void
    signature: "void Stat(const Region& region, std::vector<Length>* small_backed,\n
      \                    std::vector<Length>* small_unbacked, LargeSpanStats* large,\n
      \                    BackingStats* stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:572,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:573,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:574,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:575,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:575,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:578,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:580,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:581,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:589,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:591,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:591,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:592,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:594,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:594,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:595,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:596,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:597,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 599
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - HugePageContaining
    - Length
    - DeleteUnback
    - ExpectUnback
    - EXPECT_EQ
    - AddSpanStats
    - Delete
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - tcmalloc_internal::Make
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, StatBreakdown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:603,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:604,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:605,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:606,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:606,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:609,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:612,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:613,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:618,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:622,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:625,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:625,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:626,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:627,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:628,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 630
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - HugePageContaining
    - Length
    - DeleteUnback
    - ExpectUnback
    - EXPECT_EQ
    - AddSpanStats
    - Delete
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - tcmalloc_internal::Make
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, StatBreakdownReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 642
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:647,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 648
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:651,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 654
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::HugeRegionSetTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionSetTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:658,1
    - Dst: Region::Region
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:658,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Region::Region
    - tcmalloc_internal::HugeRegion::size
    linkageType: ''
    returnType: std::unique_ptr<Region>
    signature: std::unique_ptr<Region> GetRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:675,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 3
    functionsReached:
    - TC_CHECK
    - MaybeGet
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - Range
    - MaybePut
    linkageType: ''
    returnType: void
    signature: void Delete(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 686
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    linkageType: ''
    returnType: Length
    signature: "Length ReleasePagesByPeakDemand(Length desired,\n                                  SkipSubreleaseIntervals
      intervals = {},\n                                  bool hit_limit = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::HardReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    linkageType: ''
    returnType: Length
    signature: Length HardReleasePages(Length desired)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:707,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:710,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:718,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:719,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:725,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:726,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:732,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:733,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:735,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:736,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:736,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 738
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - MaybeGet
    - MaybePut
    - ReleasePages
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:745,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:748,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:749,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:749,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:753,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:757,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:771,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:774,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 776
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - ReleasePagesByPeakDemand
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - MaybeGet
    - MaybePut
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleasePagesWithoutIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:781,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:782,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:783,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:784,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 786
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ReleasePagesByPeakDemand
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleaseZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:795,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:798,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:799,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:799,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:803,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:804,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:807,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:813,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:814,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:818,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:818,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:819,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:819,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:821,1
    - Dst: HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:822,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:822,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:823,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:824,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:824,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:826,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:826,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:827,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 828
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - MaybeGet
    - NHugePages
    - Contribute
    - auto::get
    - EXPECT_EQ
    - stats
    - Range
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - HugeLength::in_bytes
    - Length::in_bytes
    - ReleasePagesByPeakDemand
    - std::vector::push_back
    - HugeLength
    - auto::free_backed
    - MaybePut
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleaseZeroPages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:835,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:836,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:839,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:840,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:844,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:845,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:845,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:858,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:859,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:860,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:862,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:863,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:865,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:866,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:867,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:872,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:875,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:876,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:877,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:881,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:881,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:882,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:884,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:886,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:887,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:889,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:890,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:892,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:893,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:894,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:895,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:896,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:900,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:900,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:901,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:901,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:902,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:908,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:910,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:915,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:915,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:921,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:922,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:924,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:925,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:926,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:931,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:931,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:936,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:938,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:939,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:944,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:944,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:948,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:955,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:955,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:959,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:961,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:962,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:967,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:967,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:972,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:974,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:975,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:979,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:979,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:983,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:985,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:990,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:990,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:995,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:997,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1002,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1002,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1008,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1010,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1011,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1018,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1020,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1021,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1022,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1027,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1027,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1030,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1030,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1031,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1035,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1035,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1036,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1040,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 1044
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - Length
    - UseHugeRegionMoreOften
    - free_backed
    - NHugePages
    - Contribute
    - auto::get
    - testing::HasSubstr
    - absl::Milliseconds
    - absl::Minutes
    - EXPECT_EQ
    - Advance
    - std::string::c_str
    - GetRegion
    - std::string::size
    - Allocate
    - std::string::resize
    - std::string::begin
    - ReleasePagesByPeakDemand
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - Delete
    - Print
    - HardReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, SkipSubrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1051,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1054,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1055,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1055,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1059,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1060,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1062,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1063,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1070,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1071,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1074,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1074,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1075,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1075,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1076,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1076,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1077,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1078,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1078,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1080,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1080,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1082
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - HardReleasePages
    - GetRegion
    - MaybeGet
    - MaybePut
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, HardRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1087,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1090,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1091,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1092,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1093,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1094,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1094,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1095,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1095,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1096,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1096,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1097,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1097,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1102,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1103,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1110,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1118,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1119,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1120,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1121,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1123,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1124,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1124,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1125,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: auto::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1134,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1134,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1137,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1138,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1138,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1139,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1139,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1142,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1142,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1143,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1144,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1144,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1145,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1148,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1149,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1149,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1150,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1150,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1151,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1152,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1152,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1153,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1155,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1155,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1156,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1157,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1157,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1159,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1160,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1160,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1164,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1165,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1166,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1167,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1171,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1175,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1176,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1178
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::used_pages
    - unmapped_pages
    - std::vector::back
    - Length
    - std::vector::insert
    - auto::stats
    - UseHugeRegionMoreOften
    - free_backed
    - ASSERT_FALSE
    - printf
    - MaybeGet
    - std::sort
    - absl::Uniform<int32_t>
    - std::swap
    - Contribute
    - auto::get
    - std::vector::begin
    - std::vector::pop_back
    - used_pages
    - EXPECT_EQ
    - stats
    - Range
    - EXPECT_GT
    - EXPECT_LE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - std::vector::erase
    - std::vector::end
    - std::shuffle
    - std::vector::push_back
    - std::vector::size
    - Print
    - TC_LOG
    - MaybePut
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockBackingInterface>>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:60,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:60,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - size
    - std::make_unique<NiceMock<MockBackingInterface>>
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~HugeRegionTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ~HugeRegionTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::Mock::VerifyAndClearExpectations
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:77,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - testing::Mock::VerifyAndClearExpectations
    - get
    linkageType: ''
    returnType: void
    signature: void CheckMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - HugeRange::len
    - HugeRange::start
    - Return
    linkageType: ''
    returnType: void
    signature: void ExpectUnback(HugeRange r, bool success = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:100,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 3
    functionsReached:
    - raw_num
    - size
    - EXPECT_LE
    - Alloc::n::raw_num
    - first_page
    linkageType: ''
    returnType: void
    signature: void Mark(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:110,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 6
    functionsReached:
    - raw_num
    - EXPECT_EQ
    - size
    - EXPECT_LE
    - Alloc::n::raw_num
    - first_page
    linkageType: ''
    returnType: void
    signature: void Check(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:123,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:123,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    - TC_CHECK
    - MaybeGet
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:132,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    - Range
    linkageType: ''
    returnType: void
    signature: void Delete(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:137,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    - Range
    linkageType: ''
    returnType: void
    signature: void DeleteUnback(Alloc a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:145,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:147,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:147,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:153,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:155,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:162,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:164,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:170,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:172,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:172,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - used_pages
    - std::vector::swap
    - std::vector::push_back
    - absl::BitGen
    - EXPECT_EQ
    - std::vector::size
    - std::vector::begin
    - size
    - Delete
    - Allocate
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:189,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:192,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:195,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - std::vector::push_back
    - EXPECT_TRUE
    - Delete
    - Allocate
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReqsBacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:205,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:206,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:211,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:215,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:219,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ExpectUnback
    - EXPECT_EQ
    - CheckMock
    - Delete
    - Allocate
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:230,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:232,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:233,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:236,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:239,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:242,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:243,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:244,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:251,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:257,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:262,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:266,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:267,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:270,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:273,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 275
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - ExpectUnback
    - EXPECT_EQ
    - CheckMock
    - Delete
    - Allocate
    - DeleteUnback
    - NHugePages
    - EXPECT_FALSE
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:290,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:294,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 298
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - EXPECT_EQ
    - ExpectUnback
    - CheckMock
    - Delete
    - Allocate
    - NHugePages
    - EXPECT_FALSE
    - backed
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:314,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:317,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:318,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:319,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:322,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 325
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - absl::BitGen
    - std::vector::push_back
    - EXPECT_TRUE
    - ExpectUnback
    - std::vector::begin
    - CheckMock
    - NHugePages
    - Allocate
    - DeleteUnback
    - std::vector::end
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Reback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' mu'
    - base
    - bytes
    argTypes:
    - absl::Mutex
    - PageId
    - absl::Span<std::atomic<char>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::MemorySimulation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MemorySimulation(absl::Mutex& mu, PageId base,\n                   absl::Span<std::atomic<char>>
      bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:337,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:338,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - AssertHeld
    - store
    - raw_num
    - n::raw_num
    linkageType: ''
    returnType: bool
    signature: bool ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:354,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:356,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:356,1
    - Dst: ~HugeRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:358,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:359,1
    - Dst: HugeRegion::HugeRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:359,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:372,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:373,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:376,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:376,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:380,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:384,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:389,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:389,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:392,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:393,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:398,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:407,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:411,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:411,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:413,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:413,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:414,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:414,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:417,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:417,1
    - Dst: FuzzAlloc::r::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:418,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:420,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:421,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:425,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:430,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:434,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:434,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:437,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:437,1
    - Dst: FuzzAlloc::r::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:438,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:439,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:440,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:446,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:447,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:450,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:457,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:457,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:459,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 460
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - std::vector::back
    - Length
    - MaybeGet
    - std::swap
    - raw_num
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - size
    - FuzzAlloc::r::n::raw_num
    - first_page
    - load
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::resize
    - Put
    - exchange
    - TC_CHECK_EQ
    - ~HugeRegion
    - std::vector::empty
    - Release
    - HugeRegion::HugeRegion
    - std::vector::push_back
    - absl::SleepFor
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:463,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:464,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:470,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:471,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:472,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:474,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:475,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:476,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:479,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:480,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:484,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:492,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:493,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:493,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:494,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:496,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:500,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:504,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:504,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:505,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:505,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:506,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:506,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:507,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:507,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:508,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:508,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:510,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:512,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:513,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:513,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:514,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:515,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:519,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:522,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:523,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:525,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:527,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:533,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:534,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:536,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:544,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:545,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:546,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:548,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:556,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:559,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:559,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 566
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - EXPECT_EQ
    - stats
    - tcmalloc::tcmalloc_internal::Stat
    - testing::ElementsAre
    - size
    - LargeSpanStats
    - EXPECT_THAT
    - AddSpanStats
    - push_back
    - Delete
    - clear
    - Allocate
    - in_bytes
    - NHugePages
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:470,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:471,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:472,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:474,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:475,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:476,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:479,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:480,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - ' region'
    - small_backed
    - small_unbacked
    - large
    - stats
    argTypes:
    - Region
    - std::vector<Length>*
    - std::vector<Length>*
    - LargeSpanStats*
    - BackingStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 4
    functionsReached:
    - std::vector<Length>*::clear
    - auto::raw_num
    - Length
    - stats
    - LargeSpanStats
    - AddSpanStats
    - std::vector<Length>*::push_back
    linkageType: ''
    returnType: void
    signature: "void Stat(const Region& region, std::vector<Length>* small_backed,\n
      \                    std::vector<Length>* small_unbacked, LargeSpanStats* large,\n
      \                    BackingStats* stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:572,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:573,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:574,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:575,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:575,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:578,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:580,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:581,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:589,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:591,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:591,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:592,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:594,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:594,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:595,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:596,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:597,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 599
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - HugePageContaining
    - Length
    - DeleteUnback
    - ExpectUnback
    - EXPECT_EQ
    - AddSpanStats
    - Delete
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - tcmalloc_internal::Make
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, StatBreakdown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:603,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:604,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:605,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:606,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:606,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:609,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:612,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:613,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:618,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:622,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:625,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:625,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:626,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:627,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:628,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 630
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - HugePageContaining
    - Length
    - DeleteUnback
    - ExpectUnback
    - EXPECT_EQ
    - AddSpanStats
    - Delete
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - tcmalloc_internal::Make
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, StatBreakdownReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 642
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:647,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 648
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:651,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 654
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::HugeRegionSetTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionSetTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:658,1
    - Dst: Region::Region
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:658,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Region::Region
    - tcmalloc_internal::HugeRegion::size
    linkageType: ''
    returnType: std::unique_ptr<Region>
    signature: std::unique_ptr<Region> GetRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:675,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 4
    functionsReached:
    - TC_CHECK
    - MaybeGet
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - Range
    - MaybePut
    linkageType: ''
    returnType: void
    signature: void Delete(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 686
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    linkageType: ''
    returnType: Length
    signature: "Length ReleasePagesByPeakDemand(Length desired,\n                                  SkipSubreleaseIntervals
      intervals = {},\n                                  bool hit_limit = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::HardReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    linkageType: ''
    returnType: Length
    signature: Length HardReleasePages(Length desired)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:707,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:710,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:718,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:719,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:725,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:726,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:732,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:733,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:735,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:736,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:736,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 738
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - MaybeGet
    - MaybePut
    - ReleasePages
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:745,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:748,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:749,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:749,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:753,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:757,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:771,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:774,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 776
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - ReleasePagesByPeakDemand
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - MaybeGet
    - MaybePut
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleasePagesWithoutIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:781,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:782,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:783,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:784,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 786
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ReleasePagesByPeakDemand
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleaseZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:795,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:798,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:799,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:799,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:803,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:804,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:807,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:813,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:814,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:818,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:818,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:819,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:819,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:821,1
    - Dst: HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:822,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:822,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:823,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:824,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:824,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:826,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:826,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:827,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 828
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - MaybeGet
    - NHugePages
    - Contribute
    - auto::get
    - EXPECT_EQ
    - stats
    - Range
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - HugeLength::in_bytes
    - Length::in_bytes
    - ReleasePagesByPeakDemand
    - std::vector::push_back
    - HugeLength
    - auto::free_backed
    - MaybePut
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleaseZeroPages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:835,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:836,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:839,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:840,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:844,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:845,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:845,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:858,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:859,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:860,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:862,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:863,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:865,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:866,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:867,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:872,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:875,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:876,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:877,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:881,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:881,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:882,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:884,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:886,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:887,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:889,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:890,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:892,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:893,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:894,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:895,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:896,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:900,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:900,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:901,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:901,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:902,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:908,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:910,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:915,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:915,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:921,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:922,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:924,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:925,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:926,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:931,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:931,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:936,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:938,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:939,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:944,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:944,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:948,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:955,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:955,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:959,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:961,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:962,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:967,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:967,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:972,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:974,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:975,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:979,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:979,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:983,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:985,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:990,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:990,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:995,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:997,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1002,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1002,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1008,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1010,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1011,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1018,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1020,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1021,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1022,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1027,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1027,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1030,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1030,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1031,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1035,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1035,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1036,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1040,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 1044
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - Length
    - UseHugeRegionMoreOften
    - free_backed
    - NHugePages
    - Contribute
    - auto::get
    - testing::HasSubstr
    - absl::Milliseconds
    - absl::Minutes
    - EXPECT_EQ
    - Advance
    - std::string::c_str
    - GetRegion
    - std::string::size
    - Allocate
    - std::string::resize
    - std::string::begin
    - ReleasePagesByPeakDemand
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - Delete
    - Print
    - HardReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, SkipSubrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1051,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1054,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1055,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1055,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1059,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1060,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1062,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1063,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1070,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1071,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1074,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1074,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1075,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1075,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1076,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1076,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1077,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1078,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1078,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1080,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1080,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1082
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - HardReleasePages
    - GetRegion
    - MaybeGet
    - MaybePut
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, HardRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1087,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1090,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1091,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1092,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1093,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1094,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1094,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1095,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1095,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1096,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1096,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1097,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1097,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1102,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1103,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1110,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1118,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1119,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1120,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1121,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1123,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1124,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1124,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1125,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: auto::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1134,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1134,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1137,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1138,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1138,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1139,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1139,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1142,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1142,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1143,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1144,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1144,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1145,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1148,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1149,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1149,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1150,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1150,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1151,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1152,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1152,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1153,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1155,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1155,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1156,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1157,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1157,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1159,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1160,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1160,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1164,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1165,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1166,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1167,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1171,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1175,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1176,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1178
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::used_pages
    - unmapped_pages
    - std::vector::back
    - Length
    - std::vector::insert
    - auto::stats
    - UseHugeRegionMoreOften
    - free_backed
    - ASSERT_FALSE
    - printf
    - MaybeGet
    - std::sort
    - absl::Uniform<int32_t>
    - std::swap
    - Contribute
    - auto::get
    - std::vector::begin
    - std::vector::pop_back
    - used_pages
    - EXPECT_EQ
    - stats
    - Range
    - EXPECT_GT
    - EXPECT_LE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - std::vector::erase
    - std::vector::end
    - std::shuffle
    - std::vector::push_back
    - std::vector::size
    - Print
    - TC_LOG
    - MaybePut
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockBackingInterface>>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:60,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:60,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - size
    - std::make_unique<NiceMock<MockBackingInterface>>
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::reset
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~HugeRegionTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::reset
    linkageType: ''
    returnType: void
    signature: void ~HugeRegionTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::Mock::VerifyAndClearExpectations
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:77,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - testing::Mock::VerifyAndClearExpectations
    - get
    linkageType: ''
    returnType: void
    signature: void CheckMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - HugeRange::len
    - HugeRange::start
    - Return
    linkageType: ''
    returnType: void
    signature: void ExpectUnback(HugeRange r, bool success = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:100,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 4
    functionsReached:
    - raw_num
    - size
    - EXPECT_LE
    - Alloc::n::raw_num
    - first_page
    linkageType: ''
    returnType: void
    signature: void Mark(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:110,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 8
    functionsReached:
    - raw_num
    - EXPECT_EQ
    - size
    - EXPECT_LE
    - Alloc::n::raw_num
    - first_page
    linkageType: ''
    returnType: void
    signature: void Check(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:123,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:123,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    - TC_CHECK
    - MaybeGet
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:132,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    - Range
    linkageType: ''
    returnType: void
    signature: void Delete(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:137,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    - Range
    linkageType: ''
    returnType: void
    signature: void DeleteUnback(Alloc a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:145,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:147,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:147,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:153,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:155,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:162,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:164,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:170,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:172,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:172,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - used_pages
    - std::vector::swap
    - std::vector::push_back
    - absl::BitGen
    - EXPECT_EQ
    - std::vector::size
    - std::vector::begin
    - size
    - Delete
    - Allocate
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:189,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:192,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:195,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - std::vector::push_back
    - EXPECT_TRUE
    - Delete
    - Allocate
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReqsBacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:205,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:206,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:211,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:215,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:219,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ExpectUnback
    - EXPECT_EQ
    - CheckMock
    - Delete
    - Allocate
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:230,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:232,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:233,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:236,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:239,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:242,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:243,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:244,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:251,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:257,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:262,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:266,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:267,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:270,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:273,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 275
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - ExpectUnback
    - EXPECT_EQ
    - CheckMock
    - Delete
    - Allocate
    - DeleteUnback
    - NHugePages
    - EXPECT_FALSE
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:290,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:294,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 298
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - EXPECT_EQ
    - ExpectUnback
    - CheckMock
    - Delete
    - Allocate
    - NHugePages
    - EXPECT_FALSE
    - backed
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:314,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:317,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:318,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:319,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:322,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 325
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - absl::BitGen
    - std::vector::push_back
    - EXPECT_TRUE
    - ExpectUnback
    - std::vector::begin
    - CheckMock
    - NHugePages
    - Allocate
    - DeleteUnback
    - std::vector::end
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Reback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' mu'
    - base
    - bytes
    argTypes:
    - absl::Mutex
    - PageId
    - absl::Span<std::atomic<char>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::MemorySimulation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MemorySimulation(absl::Mutex& mu, PageId base,\n                   absl::Span<std::atomic<char>>
      bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:337,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:338,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - AssertHeld
    - store
    - raw_num
    - n::raw_num
    linkageType: ''
    returnType: bool
    signature: bool ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:354,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:356,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:356,1
    - Dst: ~HugeRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:358,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:359,1
    - Dst: HugeRegion::HugeRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:359,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:372,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:373,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:376,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:376,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:380,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:384,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:389,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:389,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:392,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:393,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:398,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:407,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:411,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:411,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:413,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:413,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:414,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:414,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:417,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:417,1
    - Dst: FuzzAlloc::r::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:418,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:420,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:421,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:425,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:430,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:434,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:434,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:437,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:437,1
    - Dst: FuzzAlloc::r::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:438,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:439,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:440,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:446,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:447,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:450,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:457,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:457,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:459,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 460
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - std::vector::back
    - Length
    - MaybeGet
    - std::swap
    - raw_num
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - size
    - FuzzAlloc::r::n::raw_num
    - first_page
    - load
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::resize
    - Put
    - exchange
    - TC_CHECK_EQ
    - ~HugeRegion
    - std::vector::empty
    - Release
    - HugeRegion::HugeRegion
    - std::vector::push_back
    - absl::SleepFor
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:463,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:464,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:470,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:471,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:472,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:474,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:475,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:476,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:479,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:480,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:484,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:492,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:493,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:493,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:494,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:496,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:500,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:504,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:504,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:505,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:505,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:506,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:506,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:507,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:507,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:508,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:508,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:510,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:512,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:513,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:513,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:514,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:515,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:519,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:522,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:523,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:525,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:527,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:533,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:534,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:536,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:544,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:545,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:546,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:548,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:556,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:559,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:559,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 566
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - EXPECT_EQ
    - stats
    - tcmalloc::tcmalloc_internal::Stat
    - testing::ElementsAre
    - size
    - LargeSpanStats
    - EXPECT_THAT
    - AddSpanStats
    - push_back
    - Delete
    - clear
    - Allocate
    - in_bytes
    - NHugePages
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:470,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:471,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:472,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:474,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:475,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:476,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:479,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:480,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - ' region'
    - small_backed
    - small_unbacked
    - large
    - stats
    argTypes:
    - Region
    - std::vector<Length>*
    - std::vector<Length>*
    - LargeSpanStats*
    - BackingStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 5
    functionsReached:
    - std::vector<Length>*::clear
    - auto::raw_num
    - Length
    - stats
    - LargeSpanStats
    - AddSpanStats
    - std::vector<Length>*::push_back
    linkageType: ''
    returnType: void
    signature: "void Stat(const Region& region, std::vector<Length>* small_backed,\n
      \                    std::vector<Length>* small_unbacked, LargeSpanStats* large,\n
      \                    BackingStats* stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:572,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:573,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:574,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:575,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:575,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:578,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:580,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:581,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:589,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:591,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:591,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:592,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:594,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:594,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:595,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:596,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:597,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 599
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - HugePageContaining
    - Length
    - DeleteUnback
    - ExpectUnback
    - EXPECT_EQ
    - AddSpanStats
    - Delete
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - tcmalloc_internal::Make
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, StatBreakdown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:603,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:604,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:605,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:606,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:606,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:609,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:612,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:613,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:618,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:622,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:625,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:625,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:626,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:627,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:628,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 630
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - HugePageContaining
    - Length
    - DeleteUnback
    - ExpectUnback
    - EXPECT_EQ
    - AddSpanStats
    - Delete
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - tcmalloc_internal::Make
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, StatBreakdownReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 642
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:647,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 648
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:651,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 654
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::HugeRegionSetTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionSetTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:658,1
    - Dst: Region::Region
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:658,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Region::Region
    - tcmalloc_internal::HugeRegion::size
    linkageType: ''
    returnType: std::unique_ptr<Region>
    signature: std::unique_ptr<Region> GetRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:675,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 5
    functionsReached:
    - TC_CHECK
    - MaybeGet
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - Range
    - MaybePut
    linkageType: ''
    returnType: void
    signature: void Delete(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 686
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 9
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    linkageType: ''
    returnType: Length
    signature: "Length ReleasePagesByPeakDemand(Length desired,\n                                  SkipSubreleaseIntervals
      intervals = {},\n                                  bool hit_limit = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::HardReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    linkageType: ''
    returnType: Length
    signature: Length HardReleasePages(Length desired)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:707,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:710,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:718,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:719,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:725,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:726,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:732,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:733,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:735,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:736,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:736,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 738
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - MaybeGet
    - MaybePut
    - ReleasePages
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:745,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:748,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:749,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:749,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:753,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:757,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:771,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:774,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 776
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - ReleasePagesByPeakDemand
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - MaybeGet
    - MaybePut
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleasePagesWithoutIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:781,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:782,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:783,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:784,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 786
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ReleasePagesByPeakDemand
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleaseZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:795,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:798,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:799,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:799,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:803,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:804,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:807,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:813,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:814,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:818,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:818,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:819,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:819,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:821,1
    - Dst: HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:822,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:822,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:823,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:824,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:824,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:826,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:826,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:827,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 828
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - MaybeGet
    - NHugePages
    - Contribute
    - auto::get
    - EXPECT_EQ
    - stats
    - Range
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - HugeLength::in_bytes
    - Length::in_bytes
    - ReleasePagesByPeakDemand
    - std::vector::push_back
    - HugeLength
    - auto::free_backed
    - MaybePut
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleaseZeroPages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:835,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:836,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:839,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:840,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:844,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:845,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:845,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:858,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:859,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:860,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:862,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:863,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:865,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:866,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:867,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:872,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:875,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:876,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:877,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:881,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:881,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:882,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:884,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:886,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:887,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:889,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:890,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:892,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:893,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:894,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:895,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:896,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:900,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:900,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:901,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:901,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:902,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:908,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:910,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:915,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:915,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:921,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:922,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:924,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:925,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:926,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:931,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:931,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:936,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:938,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:939,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:944,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:944,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:948,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:955,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:955,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:959,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:961,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:962,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:967,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:967,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:972,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:974,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:975,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:979,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:979,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:983,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:985,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:990,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:990,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:995,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:997,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1002,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1002,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1008,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1010,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1011,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1018,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1020,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1021,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1022,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1027,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1027,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1030,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1030,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1031,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1035,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1035,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1036,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1040,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 1044
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - Length
    - UseHugeRegionMoreOften
    - free_backed
    - NHugePages
    - Contribute
    - auto::get
    - testing::HasSubstr
    - absl::Milliseconds
    - absl::Minutes
    - EXPECT_EQ
    - Advance
    - std::string::c_str
    - GetRegion
    - std::string::size
    - Allocate
    - std::string::resize
    - std::string::begin
    - ReleasePagesByPeakDemand
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - Delete
    - Print
    - HardReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, SkipSubrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1051,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1054,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1055,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1055,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1059,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1060,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1062,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1063,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1070,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1071,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1074,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1074,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1075,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1075,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1076,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1076,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1077,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1078,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1078,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1080,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1080,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1082
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - HardReleasePages
    - GetRegion
    - MaybeGet
    - MaybePut
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, HardRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1087,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1090,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1091,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1092,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1093,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1094,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1094,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1095,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1095,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1096,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1096,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1097,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1097,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1102,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1103,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1110,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1118,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1119,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1120,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1121,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1123,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1124,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1124,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1125,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: auto::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1134,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1134,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1137,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1138,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1138,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1139,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1139,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1142,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1142,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1143,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1144,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1144,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1145,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1148,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1149,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1149,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1150,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1150,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1151,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1152,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1152,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1153,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1155,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1155,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1156,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1157,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1157,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1159,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1160,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1160,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1164,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1165,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1166,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1167,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1171,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1175,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1176,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1178
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::used_pages
    - unmapped_pages
    - std::vector::back
    - Length
    - std::vector::insert
    - auto::stats
    - UseHugeRegionMoreOften
    - free_backed
    - ASSERT_FALSE
    - printf
    - MaybeGet
    - std::sort
    - absl::Uniform<int32_t>
    - std::swap
    - Contribute
    - auto::get
    - std::vector::begin
    - std::vector::pop_back
    - used_pages
    - EXPECT_EQ
    - stats
    - Range
    - EXPECT_GT
    - EXPECT_LE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - std::vector::erase
    - std::vector::end
    - std::shuffle
    - std::vector::push_back
    - std::vector::size
    - Print
    - TC_LOG
    - MaybePut
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockBackingInterface>>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:60,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:60,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - size
    - std::make_unique<NiceMock<MockBackingInterface>>
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::reset
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~HugeRegionTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::reset
    linkageType: ''
    returnType: void
    signature: void ~HugeRegionTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::Mock::VerifyAndClearExpectations
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:77,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - testing::Mock::VerifyAndClearExpectations
    - get
    linkageType: ''
    returnType: void
    signature: void CheckMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - HugeRange::len
    - HugeRange::start
    - Return
    linkageType: ''
    returnType: void
    signature: void ExpectUnback(HugeRange r, bool success = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:100,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 5
    functionsReached:
    - raw_num
    - size
    - EXPECT_LE
    - Alloc::n::raw_num
    - first_page
    linkageType: ''
    returnType: void
    signature: void Mark(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:110,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 10
    functionsReached:
    - raw_num
    - EXPECT_EQ
    - size
    - EXPECT_LE
    - Alloc::n::raw_num
    - first_page
    linkageType: ''
    returnType: void
    signature: void Check(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:123,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:123,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    - TC_CHECK
    - MaybeGet
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:132,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    - Range
    linkageType: ''
    returnType: void
    signature: void Delete(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:137,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    - Range
    linkageType: ''
    returnType: void
    signature: void DeleteUnback(Alloc a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:145,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:147,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:147,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:153,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:155,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:162,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:164,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:170,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:172,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:172,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - used_pages
    - std::vector::swap
    - std::vector::push_back
    - absl::BitGen
    - EXPECT_EQ
    - std::vector::size
    - std::vector::begin
    - size
    - Delete
    - Allocate
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:189,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:192,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:195,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - std::vector::push_back
    - EXPECT_TRUE
    - Delete
    - Allocate
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReqsBacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:205,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:206,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:211,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:215,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:219,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ExpectUnback
    - EXPECT_EQ
    - CheckMock
    - Delete
    - Allocate
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:230,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:232,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:233,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:236,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:239,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:242,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:243,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:244,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:251,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:257,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:262,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:266,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:267,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:270,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:273,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 275
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - ExpectUnback
    - EXPECT_EQ
    - CheckMock
    - Delete
    - Allocate
    - DeleteUnback
    - NHugePages
    - EXPECT_FALSE
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:290,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:294,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 298
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - EXPECT_EQ
    - ExpectUnback
    - CheckMock
    - Delete
    - Allocate
    - NHugePages
    - EXPECT_FALSE
    - backed
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:314,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:317,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:318,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:319,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:322,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 325
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - absl::BitGen
    - std::vector::push_back
    - EXPECT_TRUE
    - ExpectUnback
    - std::vector::begin
    - CheckMock
    - NHugePages
    - Allocate
    - DeleteUnback
    - std::vector::end
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Reback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' mu'
    - base
    - bytes
    argTypes:
    - absl::Mutex
    - PageId
    - absl::Span<std::atomic<char>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::MemorySimulation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MemorySimulation(absl::Mutex& mu, PageId base,\n                   absl::Span<std::atomic<char>>
      bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:337,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:338,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - AssertHeld
    - store
    - raw_num
    - n::raw_num
    linkageType: ''
    returnType: bool
    signature: bool ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:354,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:356,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:356,1
    - Dst: ~HugeRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:358,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:359,1
    - Dst: HugeRegion::HugeRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:359,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:372,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:373,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:376,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:376,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:380,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:384,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:389,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:389,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:392,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:393,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:398,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:407,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:411,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:411,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:413,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:413,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:414,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:414,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:417,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:417,1
    - Dst: FuzzAlloc::r::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:418,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:420,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:421,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:425,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:430,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:434,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:434,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:437,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:437,1
    - Dst: FuzzAlloc::r::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:438,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:439,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:440,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:446,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:447,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:450,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:457,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:457,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:459,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 460
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - std::vector::back
    - Length
    - MaybeGet
    - std::swap
    - raw_num
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - size
    - FuzzAlloc::r::n::raw_num
    - first_page
    - load
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::resize
    - Put
    - exchange
    - TC_CHECK_EQ
    - ~HugeRegion
    - std::vector::empty
    - Release
    - HugeRegion::HugeRegion
    - std::vector::push_back
    - absl::SleepFor
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:463,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:464,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:470,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:471,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:472,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:474,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:475,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:476,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:479,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:480,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:484,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:492,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:493,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:493,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:494,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:496,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:500,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:504,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:504,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:505,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:505,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:506,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:506,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:507,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:507,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:508,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:508,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:510,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:512,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:513,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:513,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:514,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:515,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:519,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:522,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:523,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:525,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:527,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:533,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:534,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:536,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:544,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:545,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:546,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:548,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:556,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:559,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:559,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 566
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - EXPECT_EQ
    - stats
    - tcmalloc::tcmalloc_internal::Stat
    - testing::ElementsAre
    - size
    - LargeSpanStats
    - EXPECT_THAT
    - AddSpanStats
    - push_back
    - Delete
    - clear
    - Allocate
    - in_bytes
    - NHugePages
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:470,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:471,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:472,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:474,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:475,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:476,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:479,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:480,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - ' region'
    - small_backed
    - small_unbacked
    - large
    - stats
    argTypes:
    - Region
    - std::vector<Length>*
    - std::vector<Length>*
    - LargeSpanStats*
    - BackingStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 6
    functionsReached:
    - std::vector<Length>*::clear
    - auto::raw_num
    - Length
    - stats
    - LargeSpanStats
    - AddSpanStats
    - std::vector<Length>*::push_back
    linkageType: ''
    returnType: void
    signature: "void Stat(const Region& region, std::vector<Length>* small_backed,\n
      \                    std::vector<Length>* small_unbacked, LargeSpanStats* large,\n
      \                    BackingStats* stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:572,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:573,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:574,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:575,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:575,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:578,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:580,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:581,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:589,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:591,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:591,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:592,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:594,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:594,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:595,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:596,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:597,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 599
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - HugePageContaining
    - Length
    - DeleteUnback
    - ExpectUnback
    - EXPECT_EQ
    - AddSpanStats
    - Delete
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - tcmalloc_internal::Make
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, StatBreakdown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:603,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:604,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:605,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:606,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:606,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:609,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:612,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:613,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:618,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:622,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:625,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:625,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:626,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:627,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:628,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 630
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - HugePageContaining
    - Length
    - DeleteUnback
    - ExpectUnback
    - EXPECT_EQ
    - AddSpanStats
    - Delete
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - tcmalloc_internal::Make
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, StatBreakdownReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 642
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:647,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 648
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:651,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 654
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::HugeRegionSetTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionSetTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:658,1
    - Dst: Region::Region
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:658,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Region::Region
    - tcmalloc_internal::HugeRegion::size
    linkageType: ''
    returnType: std::unique_ptr<Region>
    signature: std::unique_ptr<Region> GetRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:675,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 6
    functionsReached:
    - TC_CHECK
    - MaybeGet
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - Range
    - MaybePut
    linkageType: ''
    returnType: void
    signature: void Delete(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 686
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 11
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    linkageType: ''
    returnType: Length
    signature: "Length ReleasePagesByPeakDemand(Length desired,\n                                  SkipSubreleaseIntervals
      intervals = {},\n                                  bool hit_limit = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::HardReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    linkageType: ''
    returnType: Length
    signature: Length HardReleasePages(Length desired)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:707,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:710,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:718,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:719,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:725,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:726,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:732,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:733,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:735,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:736,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:736,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 738
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - MaybeGet
    - MaybePut
    - ReleasePages
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:745,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:748,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:749,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:749,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:753,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:757,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:771,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:774,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 776
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - ReleasePagesByPeakDemand
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - MaybeGet
    - MaybePut
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleasePagesWithoutIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:781,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:782,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:783,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:784,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 786
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ReleasePagesByPeakDemand
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleaseZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:795,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:798,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:799,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:799,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:803,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:804,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:807,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:813,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:814,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:818,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:818,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:819,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:819,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:821,1
    - Dst: HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:822,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:822,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:823,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:824,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:824,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:826,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:826,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:827,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 828
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - MaybeGet
    - NHugePages
    - Contribute
    - auto::get
    - EXPECT_EQ
    - stats
    - Range
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - HugeLength::in_bytes
    - Length::in_bytes
    - ReleasePagesByPeakDemand
    - std::vector::push_back
    - HugeLength
    - auto::free_backed
    - MaybePut
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleaseZeroPages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:835,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:836,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:839,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:840,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:844,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:845,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:845,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:858,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:859,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:860,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:862,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:863,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:865,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:866,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:867,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:872,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:875,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:876,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:877,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:881,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:881,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:882,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:884,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:886,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:887,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:889,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:890,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:892,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:893,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:894,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:895,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:896,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:900,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:900,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:901,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:901,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:902,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:908,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:910,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:915,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:915,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:921,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:922,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:924,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:925,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:926,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:931,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:931,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:936,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:938,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:939,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:944,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:944,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:948,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:955,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:955,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:959,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:961,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:962,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:967,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:967,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:972,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:974,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:975,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:979,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:979,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:983,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:985,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:990,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:990,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:995,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:997,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1002,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1002,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1008,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1010,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1011,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1018,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1020,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1021,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1022,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1027,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1027,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1030,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1030,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1031,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1035,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1035,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1036,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1040,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 1044
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - Length
    - UseHugeRegionMoreOften
    - free_backed
    - NHugePages
    - Contribute
    - auto::get
    - testing::HasSubstr
    - absl::Milliseconds
    - absl::Minutes
    - EXPECT_EQ
    - Advance
    - std::string::c_str
    - GetRegion
    - std::string::size
    - Allocate
    - std::string::resize
    - std::string::begin
    - ReleasePagesByPeakDemand
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - Delete
    - Print
    - HardReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, SkipSubrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1051,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1054,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1055,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1055,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1059,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1060,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1062,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1063,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1070,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1071,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1074,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1074,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1075,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1075,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1076,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1076,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1077,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1078,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1078,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1080,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1080,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1082
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - HardReleasePages
    - GetRegion
    - MaybeGet
    - MaybePut
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, HardRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1087,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1090,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1091,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1092,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1093,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1094,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1094,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1095,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1095,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1096,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1096,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1097,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1097,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1102,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1103,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1110,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1118,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1119,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1120,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1121,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1123,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1124,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1124,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1125,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: auto::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1134,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1134,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1137,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1138,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1138,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1139,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1139,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1142,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1142,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1143,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1144,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1144,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1145,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1148,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1149,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1149,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1150,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1150,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1151,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1152,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1152,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1153,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1155,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1155,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1156,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1157,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1157,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1159,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1160,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1160,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1164,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1165,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1166,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1167,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1171,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1175,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1176,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1178
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::used_pages
    - unmapped_pages
    - std::vector::back
    - Length
    - std::vector::insert
    - auto::stats
    - UseHugeRegionMoreOften
    - free_backed
    - ASSERT_FALSE
    - printf
    - MaybeGet
    - std::sort
    - absl::Uniform<int32_t>
    - std::swap
    - Contribute
    - auto::get
    - std::vector::begin
    - std::vector::pop_back
    - used_pages
    - EXPECT_EQ
    - stats
    - Range
    - EXPECT_GT
    - EXPECT_LE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - std::vector::erase
    - std::vector::end
    - std::shuffle
    - std::vector::push_back
    - std::vector::size
    - Print
    - TC_LOG
    - MaybePut
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockBackingInterface>>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:60,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:60,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - size
    - std::make_unique<NiceMock<MockBackingInterface>>
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~HugeRegionTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ~HugeRegionTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::Mock::VerifyAndClearExpectations
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:77,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - testing::Mock::VerifyAndClearExpectations
    - get
    linkageType: ''
    returnType: void
    signature: void CheckMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - HugeRange::len
    - HugeRange::start
    - Return
    linkageType: ''
    returnType: void
    signature: void ExpectUnback(HugeRange r, bool success = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:100,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 6
    functionsReached:
    - raw_num
    - size
    - EXPECT_LE
    - Alloc::n::raw_num
    - first_page
    linkageType: ''
    returnType: void
    signature: void Mark(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:110,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 12
    functionsReached:
    - raw_num
    - EXPECT_EQ
    - size
    - EXPECT_LE
    - Alloc::n::raw_num
    - first_page
    linkageType: ''
    returnType: void
    signature: void Check(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:123,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:123,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    - TC_CHECK
    - MaybeGet
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:132,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    - Range
    linkageType: ''
    returnType: void
    signature: void Delete(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:137,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    - Range
    linkageType: ''
    returnType: void
    signature: void DeleteUnback(Alloc a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:145,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:147,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:147,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:153,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:155,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:162,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:164,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:170,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:172,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:172,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - used_pages
    - std::vector::swap
    - std::vector::push_back
    - absl::BitGen
    - EXPECT_EQ
    - std::vector::size
    - std::vector::begin
    - size
    - Delete
    - Allocate
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:189,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:192,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:195,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - std::vector::push_back
    - EXPECT_TRUE
    - Delete
    - Allocate
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReqsBacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:205,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:206,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:211,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:215,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:219,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ExpectUnback
    - EXPECT_EQ
    - CheckMock
    - Delete
    - Allocate
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:230,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:232,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:233,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:236,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:239,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:242,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:243,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:244,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:251,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:257,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:262,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:266,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:267,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:270,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:273,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 275
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - ExpectUnback
    - EXPECT_EQ
    - CheckMock
    - Delete
    - Allocate
    - DeleteUnback
    - NHugePages
    - EXPECT_FALSE
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:290,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:294,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 298
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - EXPECT_EQ
    - ExpectUnback
    - CheckMock
    - Delete
    - Allocate
    - NHugePages
    - EXPECT_FALSE
    - backed
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:314,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:317,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:318,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:319,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:322,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 325
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - absl::BitGen
    - std::vector::push_back
    - EXPECT_TRUE
    - ExpectUnback
    - std::vector::begin
    - CheckMock
    - NHugePages
    - Allocate
    - DeleteUnback
    - std::vector::end
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Reback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' mu'
    - base
    - bytes
    argTypes:
    - absl::Mutex
    - PageId
    - absl::Span<std::atomic<char>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::MemorySimulation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MemorySimulation(absl::Mutex& mu, PageId base,\n                   absl::Span<std::atomic<char>>
      bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:337,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:338,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - AssertHeld
    - store
    - raw_num
    - n::raw_num
    linkageType: ''
    returnType: bool
    signature: bool ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:354,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:356,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:356,1
    - Dst: ~HugeRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:358,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:359,1
    - Dst: HugeRegion::HugeRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:359,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:372,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:373,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:376,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:376,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:380,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:384,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:389,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:389,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:392,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:393,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:398,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:407,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:411,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:411,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:413,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:413,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:414,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:414,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:417,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:417,1
    - Dst: FuzzAlloc::r::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:418,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:420,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:421,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:425,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:430,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:434,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:434,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:437,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:437,1
    - Dst: FuzzAlloc::r::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:438,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:439,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:440,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:446,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:447,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:450,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:457,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:457,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:459,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 460
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - std::vector::back
    - Length
    - MaybeGet
    - std::swap
    - raw_num
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - size
    - FuzzAlloc::r::n::raw_num
    - first_page
    - load
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::resize
    - Put
    - exchange
    - TC_CHECK_EQ
    - ~HugeRegion
    - std::vector::empty
    - Release
    - HugeRegion::HugeRegion
    - std::vector::push_back
    - absl::SleepFor
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:463,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:464,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:470,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:471,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:472,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:474,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:475,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:476,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:479,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:480,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:484,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:492,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:493,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:493,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:494,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:496,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:500,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:504,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:504,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:505,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:505,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:506,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:506,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:507,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:507,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:508,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:508,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:510,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:512,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:513,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:513,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:514,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:515,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:519,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:522,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:523,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:525,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:527,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:533,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:534,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:536,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:544,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:545,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:546,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:548,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:556,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:559,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:559,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 566
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - EXPECT_EQ
    - stats
    - tcmalloc::tcmalloc_internal::Stat
    - testing::ElementsAre
    - size
    - LargeSpanStats
    - EXPECT_THAT
    - AddSpanStats
    - push_back
    - Delete
    - clear
    - Allocate
    - in_bytes
    - NHugePages
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:470,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:471,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:472,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:474,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:475,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:476,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:479,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:480,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - ' region'
    - small_backed
    - small_unbacked
    - large
    - stats
    argTypes:
    - Region
    - std::vector<Length>*
    - std::vector<Length>*
    - LargeSpanStats*
    - BackingStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 7
    functionsReached:
    - std::vector<Length>*::clear
    - auto::raw_num
    - Length
    - stats
    - LargeSpanStats
    - AddSpanStats
    - std::vector<Length>*::push_back
    linkageType: ''
    returnType: void
    signature: "void Stat(const Region& region, std::vector<Length>* small_backed,\n
      \                    std::vector<Length>* small_unbacked, LargeSpanStats* large,\n
      \                    BackingStats* stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:572,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:573,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:574,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:575,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:575,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:578,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:580,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:581,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:589,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:591,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:591,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:592,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:594,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:594,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:595,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:596,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:597,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 599
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - HugePageContaining
    - Length
    - DeleteUnback
    - ExpectUnback
    - EXPECT_EQ
    - AddSpanStats
    - Delete
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - tcmalloc_internal::Make
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, StatBreakdown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:603,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:604,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:605,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:606,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:606,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:609,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:612,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:613,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:618,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:622,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:625,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:625,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:626,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:627,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:628,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 630
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - HugePageContaining
    - Length
    - DeleteUnback
    - ExpectUnback
    - EXPECT_EQ
    - AddSpanStats
    - Delete
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - tcmalloc_internal::Make
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, StatBreakdownReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 642
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:647,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 648
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:651,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 654
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::HugeRegionSetTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionSetTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:658,1
    - Dst: Region::Region
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:658,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Region::Region
    - tcmalloc_internal::HugeRegion::size
    linkageType: ''
    returnType: std::unique_ptr<Region>
    signature: std::unique_ptr<Region> GetRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:675,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 7
    functionsReached:
    - TC_CHECK
    - MaybeGet
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - Range
    - MaybePut
    linkageType: ''
    returnType: void
    signature: void Delete(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 686
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 13
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    linkageType: ''
    returnType: Length
    signature: "Length ReleasePagesByPeakDemand(Length desired,\n                                  SkipSubreleaseIntervals
      intervals = {},\n                                  bool hit_limit = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::HardReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    linkageType: ''
    returnType: Length
    signature: Length HardReleasePages(Length desired)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:707,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:710,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:718,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:719,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:725,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:726,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:732,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:733,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:735,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:736,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:736,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 738
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - MaybeGet
    - MaybePut
    - ReleasePages
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:745,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:748,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:749,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:749,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:753,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:757,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:771,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:774,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 776
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - ReleasePagesByPeakDemand
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - MaybeGet
    - MaybePut
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleasePagesWithoutIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:781,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:782,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:783,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:784,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 786
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ReleasePagesByPeakDemand
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleaseZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:795,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:798,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:799,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:799,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:803,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:804,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:807,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:813,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:814,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:818,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:818,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:819,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:819,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:821,1
    - Dst: HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:822,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:822,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:823,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:824,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:824,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:826,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:826,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:827,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 828
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - MaybeGet
    - NHugePages
    - Contribute
    - auto::get
    - EXPECT_EQ
    - stats
    - Range
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - HugeLength::in_bytes
    - Length::in_bytes
    - ReleasePagesByPeakDemand
    - std::vector::push_back
    - HugeLength
    - auto::free_backed
    - MaybePut
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleaseZeroPages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:835,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:836,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:839,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:840,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:844,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:845,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:845,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:858,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:859,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:860,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:862,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:863,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:865,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:866,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:867,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:872,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:875,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:876,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:877,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:881,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:881,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:882,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:884,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:886,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:887,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:889,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:890,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:892,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:893,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:894,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:895,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:896,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:900,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:900,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:901,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:901,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:902,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:908,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:910,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:915,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:915,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:921,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:922,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:924,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:925,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:926,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:931,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:931,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:936,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:938,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:939,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:944,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:944,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:948,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:955,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:955,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:959,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:961,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:962,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:967,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:967,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:972,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:974,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:975,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:979,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:979,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:983,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:985,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:990,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:990,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:995,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:997,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1002,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1002,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1008,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1010,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1011,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1018,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1020,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1021,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1022,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1027,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1027,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1030,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1030,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1031,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1035,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1035,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1036,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1040,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 1044
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - Length
    - UseHugeRegionMoreOften
    - free_backed
    - NHugePages
    - Contribute
    - auto::get
    - testing::HasSubstr
    - absl::Milliseconds
    - absl::Minutes
    - EXPECT_EQ
    - Advance
    - std::string::c_str
    - GetRegion
    - std::string::size
    - Allocate
    - std::string::resize
    - std::string::begin
    - ReleasePagesByPeakDemand
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - Delete
    - Print
    - HardReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, SkipSubrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1051,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1054,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1055,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1055,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1059,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1060,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1062,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1063,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1070,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1071,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1074,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1074,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1075,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1075,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1076,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1076,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1077,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1078,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1078,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1080,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1080,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1082
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - HardReleasePages
    - GetRegion
    - MaybeGet
    - MaybePut
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, HardRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1087,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1090,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1091,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1092,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1093,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1094,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1094,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1095,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1095,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1096,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1096,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1097,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1097,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1102,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1103,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1110,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1118,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1119,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1120,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1121,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1123,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1124,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1124,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1125,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: auto::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1134,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1134,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1137,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1138,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1138,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1139,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1139,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1142,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1142,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1143,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1144,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1144,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1145,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1148,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1149,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1149,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1150,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1150,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1151,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1152,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1152,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1153,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1155,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1155,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1156,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1157,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1157,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1159,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1160,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1160,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1164,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1165,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1166,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1167,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1171,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1175,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1176,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1178
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::used_pages
    - unmapped_pages
    - std::vector::back
    - Length
    - std::vector::insert
    - auto::stats
    - UseHugeRegionMoreOften
    - free_backed
    - ASSERT_FALSE
    - printf
    - MaybeGet
    - std::sort
    - absl::Uniform<int32_t>
    - std::swap
    - Contribute
    - auto::get
    - std::vector::begin
    - std::vector::pop_back
    - used_pages
    - EXPECT_EQ
    - stats
    - Range
    - EXPECT_GT
    - EXPECT_LE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - std::vector::erase
    - std::vector::end
    - std::shuffle
    - std::vector::push_back
    - std::vector::size
    - Print
    - TC_LOG
    - MaybePut
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockBackingInterface>>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:60,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:60,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - size
    - std::make_unique<NiceMock<MockBackingInterface>>
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~HugeRegionTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ~HugeRegionTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::Mock::VerifyAndClearExpectations
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:77,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - testing::Mock::VerifyAndClearExpectations
    - get
    linkageType: ''
    returnType: void
    signature: void CheckMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - HugeRange::len
    - HugeRange::start
    - Return
    linkageType: ''
    returnType: void
    signature: void ExpectUnback(HugeRange r, bool success = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:100,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 7
    functionsReached:
    - raw_num
    - size
    - EXPECT_LE
    - Alloc::n::raw_num
    - first_page
    linkageType: ''
    returnType: void
    signature: void Mark(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:110,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 14
    functionsReached:
    - raw_num
    - EXPECT_EQ
    - size
    - EXPECT_LE
    - Alloc::n::raw_num
    - first_page
    linkageType: ''
    returnType: void
    signature: void Check(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:123,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:123,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    - TC_CHECK
    - MaybeGet
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:132,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    - Range
    linkageType: ''
    returnType: void
    signature: void Delete(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:137,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    - Range
    linkageType: ''
    returnType: void
    signature: void DeleteUnback(Alloc a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:145,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:147,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:147,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:153,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:155,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:162,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:164,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:166,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:170,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:172,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:172,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - used_pages
    - std::vector::swap
    - std::vector::push_back
    - absl::BitGen
    - EXPECT_EQ
    - std::vector::size
    - std::vector::begin
    - size
    - Delete
    - Allocate
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:189,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:192,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:195,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - std::vector::push_back
    - EXPECT_TRUE
    - Delete
    - Allocate
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReqsBacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:205,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:206,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:211,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:215,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:219,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ExpectUnback
    - EXPECT_EQ
    - CheckMock
    - Delete
    - Allocate
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:230,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:232,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:233,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:236,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:239,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:242,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:243,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:244,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:251,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:257,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:262,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:266,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:267,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:270,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:273,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 275
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - ExpectUnback
    - EXPECT_EQ
    - CheckMock
    - Delete
    - Allocate
    - DeleteUnback
    - NHugePages
    - EXPECT_FALSE
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:282,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:290,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:294,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 298
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - EXPECT_EQ
    - ExpectUnback
    - CheckMock
    - Delete
    - Allocate
    - NHugePages
    - EXPECT_FALSE
    - backed
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:314,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:316,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:317,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:318,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:319,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:322,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 325
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - std::shuffle
    - absl::BitGen
    - std::vector::push_back
    - EXPECT_TRUE
    - ExpectUnback
    - std::vector::begin
    - CheckMock
    - NHugePages
    - Allocate
    - DeleteUnback
    - std::vector::end
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Reback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' mu'
    - base
    - bytes
    argTypes:
    - absl::Mutex
    - PageId
    - absl::Span<std::atomic<char>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::MemorySimulation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MemorySimulation(absl::Mutex& mu, PageId base,\n                   absl::Span<std::atomic<char>>
      bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:337,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:338,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - AssertHeld
    - store
    - raw_num
    - n::raw_num
    linkageType: ''
    returnType: bool
    signature: bool ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:354,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:356,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:356,1
    - Dst: ~HugeRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:358,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:359,1
    - Dst: HugeRegion::HugeRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:359,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:372,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:373,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:376,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:376,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:380,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:384,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:389,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:389,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:392,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:393,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:398,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:407,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:411,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:411,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:413,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:413,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:414,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:414,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:417,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:417,1
    - Dst: FuzzAlloc::r::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:418,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:420,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:421,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:425,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:430,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:434,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:434,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:437,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:437,1
    - Dst: FuzzAlloc::r::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:438,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:439,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:440,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:446,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:447,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:450,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:457,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:457,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:459,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 460
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - std::vector::back
    - Length
    - MaybeGet
    - std::swap
    - raw_num
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - size
    - FuzzAlloc::r::n::raw_num
    - first_page
    - load
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::resize
    - Put
    - exchange
    - TC_CHECK_EQ
    - ~HugeRegion
    - std::vector::empty
    - Release
    - HugeRegion::HugeRegion
    - std::vector::push_back
    - absl::SleepFor
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:463,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:464,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:470,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:471,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:472,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:474,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:475,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:476,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:479,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:480,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:484,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:492,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:493,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:493,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:494,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:496,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:500,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:504,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:504,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:505,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:505,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:506,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:506,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:507,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:507,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:508,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:508,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:510,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:512,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:513,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:513,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:514,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:515,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:519,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:520,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:522,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:523,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:524,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:525,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:527,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:530,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:531,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:533,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:534,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:535,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:536,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:542,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:544,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:545,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:546,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:547,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:548,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:554,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:556,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:558,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:559,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:559,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 566
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - EXPECT_EQ
    - stats
    - tcmalloc::tcmalloc_internal::Stat
    - testing::ElementsAre
    - size
    - LargeSpanStats
    - EXPECT_THAT
    - AddSpanStats
    - push_back
    - Delete
    - clear
    - Allocate
    - in_bytes
    - NHugePages
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:470,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:471,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:472,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:474,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:475,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:476,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:479,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:480,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - ' region'
    - small_backed
    - small_unbacked
    - large
    - stats
    argTypes:
    - Region
    - std::vector<Length>*
    - std::vector<Length>*
    - LargeSpanStats*
    - BackingStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 8
    functionsReached:
    - std::vector<Length>*::clear
    - auto::raw_num
    - Length
    - stats
    - LargeSpanStats
    - AddSpanStats
    - std::vector<Length>*::push_back
    linkageType: ''
    returnType: void
    signature: "void Stat(const Region& region, std::vector<Length>* small_backed,\n
      \                    std::vector<Length>* small_unbacked, LargeSpanStats* large,\n
      \                    BackingStats* stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:572,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:573,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:574,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:575,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:575,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:578,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:579,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:580,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:581,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:589,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:591,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:591,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:592,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:594,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:594,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:595,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:596,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:597,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 599
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - HugePageContaining
    - Length
    - DeleteUnback
    - ExpectUnback
    - EXPECT_EQ
    - AddSpanStats
    - Delete
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - tcmalloc_internal::Make
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, StatBreakdown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:603,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:604,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:605,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:606,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:606,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:609,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:610,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:612,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:613,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:618,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:622,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:625,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:625,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:626,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:627,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:628,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 630
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - used_pages
    - HugePageContaining
    - Length
    - DeleteUnback
    - ExpectUnback
    - EXPECT_EQ
    - AddSpanStats
    - Delete
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - tcmalloc_internal::Make
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, StatBreakdownReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 642
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:647,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 648
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:651,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 654
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::HugeRegionSetTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionSetTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:658,1
    - Dst: Region::Region
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:658,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Region::Region
    - tcmalloc_internal::HugeRegion::size
    linkageType: ''
    returnType: std::unique_ptr<Region>
    signature: std::unique_ptr<Region> GetRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:675,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 8
    functionsReached:
    - TC_CHECK
    - MaybeGet
    linkageType: ''
    returnType: Alloc
    signature: Alloc Allocate(Length n, bool* from_released)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - Range
    - MaybePut
    linkageType: ''
    returnType: void
    signature: void Delete(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 686
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 15
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    linkageType: ''
    returnType: Length
    signature: "Length ReleasePagesByPeakDemand(Length desired,\n                                  SkipSubreleaseIntervals
      intervals = {},\n                                  bool hit_limit = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::HardReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
    linkageType: ''
    returnType: Length
    signature: Length HardReleasePages(Length desired)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:707,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:709,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:710,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:718,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:719,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:725,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:726,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:732,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:733,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:735,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:736,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:736,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 738
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - MaybeGet
    - MaybePut
    - ReleasePages
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:745,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:747,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:748,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:749,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:749,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:753,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:757,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:760,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:771,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:774,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 776
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - ReleasePagesByPeakDemand
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - MaybeGet
    - MaybePut
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleasePagesWithoutIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:781,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:782,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:783,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:784,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 786
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ReleasePagesByPeakDemand
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleaseZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:795,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:798,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:799,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:799,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:803,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:804,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:807,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:810,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:813,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:814,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:818,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:818,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:819,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:819,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:821,1
    - Dst: HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:822,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:822,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:823,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:824,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:824,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:826,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:826,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:827,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 828
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - MaybeGet
    - NHugePages
    - Contribute
    - auto::get
    - EXPECT_EQ
    - stats
    - Range
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - HugeLength::in_bytes
    - Length::in_bytes
    - ReleasePagesByPeakDemand
    - std::vector::push_back
    - HugeLength
    - auto::free_backed
    - MaybePut
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, ReleaseZeroPages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:835,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:836,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:839,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:840,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:844,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:845,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:845,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:858,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:859,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:860,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:862,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:863,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:865,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:866,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:867,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:872,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:875,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:876,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:877,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:879,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:881,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:881,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:882,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:884,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:886,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:887,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:889,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:890,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:892,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:893,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:894,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:895,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:896,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:900,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:900,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:901,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:901,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:902,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:908,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:909,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:910,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:915,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:915,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:921,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:922,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:924,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:925,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:926,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:931,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:931,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:936,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:937,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:938,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:939,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:944,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:944,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:948,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:949,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:955,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:955,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:959,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:960,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:961,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:962,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:967,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:967,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:972,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:973,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:974,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:975,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:979,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:979,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:983,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:984,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:985,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:990,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:990,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:995,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:996,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:997,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1002,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1002,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1008,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1009,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1010,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1011,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1018,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1019,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1020,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1021,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1022,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1027,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1027,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1030,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1030,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1031,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1035,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1035,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1036,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1038,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1040,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 1044
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - Length
    - UseHugeRegionMoreOften
    - free_backed
    - NHugePages
    - Contribute
    - auto::get
    - testing::HasSubstr
    - absl::Milliseconds
    - absl::Minutes
    - EXPECT_EQ
    - Advance
    - std::string::c_str
    - GetRegion
    - std::string::size
    - Allocate
    - std::string::resize
    - std::string::begin
    - ReleasePagesByPeakDemand
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - Delete
    - Print
    - HardReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, SkipSubrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1051,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1053,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1054,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1055,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1055,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1059,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1060,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1062,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1063,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1066,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1070,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1071,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1074,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1074,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1075,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1075,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1076,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1076,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1077,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1078,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1078,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1080,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1080,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1082
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Contribute
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - stats
    - auto::free_backed
    - auto::get
    - Range
    - UseHugeRegionMoreOften
    - ASSERT_FALSE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - HardReleasePages
    - GetRegion
    - MaybeGet
    - MaybePut
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, HardRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1087,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1089,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1090,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1091,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1092,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1093,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1094,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1094,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1095,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1095,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1096,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1096,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1097,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1097,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1102,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1103,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1108,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1109,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1110,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1111,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1114,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1118,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1119,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1120,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1121,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1122,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1123,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1124,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1124,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1125,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1131,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1132,1
    - Dst: auto::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1134,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1134,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1137,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1138,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1138,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1139,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1139,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1142,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1142,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1143,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1144,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1144,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1145,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1148,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1149,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1149,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1150,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1150,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1151,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1152,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1152,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1153,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1155,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1155,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1156,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1157,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1157,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1159,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1160,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1160,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1164,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1165,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1166,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1167,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1171,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1175,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1176,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:1177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1178
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::used_pages
    - unmapped_pages
    - std::vector::back
    - Length
    - std::vector::insert
    - auto::stats
    - UseHugeRegionMoreOften
    - free_backed
    - ASSERT_FALSE
    - printf
    - MaybeGet
    - std::sort
    - absl::Uniform<int32_t>
    - std::swap
    - Contribute
    - auto::get
    - std::vector::begin
    - std::vector::pop_back
    - used_pages
    - EXPECT_EQ
    - stats
    - Range
    - EXPECT_GT
    - EXPECT_LE
    - tcmalloc_internal::HugeRegion::size
    - ASSERT_TRUE
    - GetRegion
    - std::vector::erase
    - std::vector::end
    - std::shuffle
    - std::vector::push_back
    - std::vector::size
    - Print
    - TC_LOG
    - MaybePut
    - free_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 65
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: deallocationz::DeallocationProfilerList::DeallocationProfilerList
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeallocationProfilerList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: deallocationz::DeallocationProfilerList::DeallocationProfilerList
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeallocationProfilerList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:43,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:44,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:47,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:48,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:50,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:57,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:60,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:63,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - auto::Iterate
    - ::operator delete
    - std::move
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, TokenAbuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:74,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:83,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:84,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:84,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:85,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:90,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:96,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:96,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:99,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:101,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:106,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:108,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:108,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:110,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:112,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 114
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - std::vector::push_back
    - std::thread::join
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::atomic::store
    - std::move
    - absl::Microseconds
    - absl::BlockingCounter::Wait
    - absl::BlockingCounter::DecrementCount
    - ::operator new
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, RaceToClaim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:121,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:127,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:130,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:131,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:131,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:132,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:137,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:143,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:143,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:146,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:148,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:153,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:155,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:155,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:157,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:159,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 161
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - std::vector::push_back
    - std::thread::join
    - ::operator new
    - std::move
    - absl::Microseconds
    - std::atomic::store
    - absl::BlockingCounter::Wait
    - absl::BlockingCounter::DecrementCount
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST(DeallocationSampleTest, RaceToClaim)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:165,1
    - Dst: absl::btree_set::insert
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:195,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:197,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:205,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:205,1
    - Dst: hot_cold::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:206,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:207,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:209,1
    - Dst: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:212,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:216,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:220,1
    - Dst: hot_cold::value_or
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:236,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:241,1
    - Dst: absl::btree_set::find
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:244,1
    - Dst: absl::btree_set::end
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:244,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:255,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:262,1
    - Dst: absl::flat_hash_map::size
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:262,1
    - Dst: absl::btree_set::size
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:262,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:265,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:266,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:270,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:271,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:272,1
    - Dst: tcmalloc_internal::SLL_Pop
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:278,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 286
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - operator new
    - absl::flat_hash_map::size
    - absl::btree_set::find
    - std::min
    - auto::Iterate
    - hot_cold::value_or
    - tcmalloc_internal::SLL_Pop
    - tcmalloc::sized_delete
    - hot_cold::has_value
    - std::max
    - EXPECT_EQ
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc_internal::max
    - EXPECT_LE
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - std::move
    - absl::btree_set::insert
    - absl::btree_set::end
    - static_cast<std::align_val_t>
    - SCOPED_TRACE
    - EXPECT_GE
    - absl::btree_set::size
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, SampleAccuracy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:303,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:304,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:311,1
    - Dst: std::unique_ptr<char[]>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:312,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:313,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:313,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:315,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:321,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:342,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:350,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 355
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_NEAR
    - EXPECT_EQ
    - std::vector::resize
    - std::unique_ptr<char[]>
    - static_cast<char*>
    - push_back
    - ::operator new[]
    - static_cast<double>
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(FragmentationzTest, Accuracy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:43,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:44,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:47,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:48,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:50,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:57,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:60,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:63,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - auto::Iterate
    - ::operator delete
    - std::move
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, TokenAbuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:74,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:83,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:84,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:84,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:85,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:90,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:96,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:96,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:99,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:101,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:106,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:108,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:108,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:110,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:112,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 114
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - std::vector::push_back
    - std::thread::join
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::atomic::store
    - std::move
    - absl::Microseconds
    - absl::BlockingCounter::Wait
    - absl::BlockingCounter::DecrementCount
    - ::operator new
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, RaceToClaim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:121,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:127,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:130,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:131,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:131,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:132,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:137,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:143,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:143,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:146,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:148,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:153,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:155,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:155,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:157,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:159,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 161
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - std::vector::push_back
    - std::thread::join
    - ::operator new
    - std::move
    - absl::Microseconds
    - std::atomic::store
    - absl::BlockingCounter::Wait
    - absl::BlockingCounter::DecrementCount
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST(DeallocationSampleTest, RaceToClaim)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:165,1
    - Dst: absl::btree_set::insert
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:195,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:197,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:205,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:205,1
    - Dst: hot_cold::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:206,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:207,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:209,1
    - Dst: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:212,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:216,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:220,1
    - Dst: hot_cold::value_or
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:236,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:241,1
    - Dst: absl::btree_set::find
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:244,1
    - Dst: absl::btree_set::end
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:244,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:255,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:262,1
    - Dst: absl::flat_hash_map::size
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:262,1
    - Dst: absl::btree_set::size
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:262,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:265,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:266,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:270,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:271,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:272,1
    - Dst: tcmalloc_internal::SLL_Pop
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:278,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 286
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - operator new
    - absl::flat_hash_map::size
    - absl::btree_set::find
    - std::min
    - auto::Iterate
    - hot_cold::value_or
    - tcmalloc_internal::SLL_Pop
    - tcmalloc::sized_delete
    - hot_cold::has_value
    - std::max
    - EXPECT_EQ
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc_internal::max
    - EXPECT_LE
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - std::move
    - absl::btree_set::insert
    - absl::btree_set::end
    - static_cast<std::align_val_t>
    - SCOPED_TRACE
    - EXPECT_GE
    - absl::btree_set::size
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, SampleAccuracy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:303,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:304,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:311,1
    - Dst: std::unique_ptr<char[]>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:312,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:313,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:313,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:315,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:321,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:342,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:350,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 355
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_NEAR
    - EXPECT_EQ
    - std::vector::resize
    - std::unique_ptr<char[]>
    - static_cast<char*>
    - push_back
    - ::operator new[]
    - static_cast<double>
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(FragmentationzTest, Accuracy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:43,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:44,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:47,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:48,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:50,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:57,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:60,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:63,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - auto::Iterate
    - ::operator delete
    - std::move
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, TokenAbuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:74,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:83,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:84,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:84,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:85,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:90,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:96,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:96,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:99,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:101,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:106,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:108,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:108,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:110,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:112,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 114
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - std::vector::push_back
    - std::thread::join
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::atomic::store
    - std::move
    - absl::Microseconds
    - absl::BlockingCounter::Wait
    - absl::BlockingCounter::DecrementCount
    - ::operator new
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, RaceToClaim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:121,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:127,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:130,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:131,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:131,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:132,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:137,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:143,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:143,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:146,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:148,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:153,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:155,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:155,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:157,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:159,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 161
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - std::vector::push_back
    - std::thread::join
    - ::operator new
    - std::move
    - absl::Microseconds
    - std::atomic::store
    - absl::BlockingCounter::Wait
    - absl::BlockingCounter::DecrementCount
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST(DeallocationSampleTest, RaceToClaim)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:165,1
    - Dst: absl::btree_set::insert
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:195,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:197,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:205,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:205,1
    - Dst: hot_cold::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:206,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:207,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:209,1
    - Dst: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:212,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:216,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:220,1
    - Dst: hot_cold::value_or
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:236,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:241,1
    - Dst: absl::btree_set::find
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:244,1
    - Dst: absl::btree_set::end
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:244,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:255,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:262,1
    - Dst: absl::flat_hash_map::size
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:262,1
    - Dst: absl::btree_set::size
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:262,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:265,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:266,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:270,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:271,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:272,1
    - Dst: tcmalloc_internal::SLL_Pop
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:278,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 286
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - operator new
    - absl::flat_hash_map::size
    - absl::btree_set::find
    - std::min
    - auto::Iterate
    - hot_cold::value_or
    - tcmalloc_internal::SLL_Pop
    - tcmalloc::sized_delete
    - hot_cold::has_value
    - std::max
    - EXPECT_EQ
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc_internal::max
    - EXPECT_LE
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - std::move
    - absl::btree_set::insert
    - absl::btree_set::end
    - static_cast<std::align_val_t>
    - SCOPED_TRACE
    - EXPECT_GE
    - absl::btree_set::size
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, SampleAccuracy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:303,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:304,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:311,1
    - Dst: std::unique_ptr<char[]>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:312,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:313,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:313,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:315,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:321,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:342,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:350,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 355
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_NEAR
    - EXPECT_EQ
    - std::vector::resize
    - std::unique_ptr<char[]>
    - static_cast<char*>
    - push_back
    - ::operator new[]
    - static_cast<double>
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(FragmentationzTest, Accuracy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:43,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:44,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:47,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:48,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:50,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:57,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:60,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:63,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - auto::Iterate
    - ::operator delete
    - std::move
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, TokenAbuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:74,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:83,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:84,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:84,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:85,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:90,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:96,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:96,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:99,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:101,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:106,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:108,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:108,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:110,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:112,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 114
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - std::vector::push_back
    - std::thread::join
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::atomic::store
    - std::move
    - absl::Microseconds
    - absl::BlockingCounter::Wait
    - absl::BlockingCounter::DecrementCount
    - ::operator new
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, RaceToClaim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:121,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:127,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:130,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:131,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:131,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:132,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:137,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:143,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:143,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:146,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:148,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:153,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:155,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:155,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:157,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:159,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 161
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - std::vector::push_back
    - std::thread::join
    - ::operator new
    - std::move
    - absl::Microseconds
    - std::atomic::store
    - absl::BlockingCounter::Wait
    - absl::BlockingCounter::DecrementCount
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST(DeallocationSampleTest, RaceToClaim)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:165,1
    - Dst: absl::btree_set::insert
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:195,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:197,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:205,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:205,1
    - Dst: hot_cold::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:206,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:207,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:209,1
    - Dst: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:212,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:216,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:220,1
    - Dst: hot_cold::value_or
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:236,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:241,1
    - Dst: absl::btree_set::find
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:244,1
    - Dst: absl::btree_set::end
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:244,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:255,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:262,1
    - Dst: absl::flat_hash_map::size
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:262,1
    - Dst: absl::btree_set::size
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:262,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:265,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:266,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:270,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:271,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:272,1
    - Dst: tcmalloc_internal::SLL_Pop
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:278,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 286
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - operator new
    - absl::flat_hash_map::size
    - absl::btree_set::find
    - std::min
    - auto::Iterate
    - hot_cold::value_or
    - tcmalloc_internal::SLL_Pop
    - tcmalloc::sized_delete
    - hot_cold::has_value
    - std::max
    - EXPECT_EQ
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc_internal::max
    - EXPECT_LE
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - std::move
    - absl::btree_set::insert
    - absl::btree_set::end
    - static_cast<std::align_val_t>
    - SCOPED_TRACE
    - EXPECT_GE
    - absl::btree_set::size
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, SampleAccuracy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:303,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:304,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:311,1
    - Dst: std::unique_ptr<char[]>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:312,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:313,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:313,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:315,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:321,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:342,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:350,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 355
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_NEAR
    - EXPECT_EQ
    - std::vector::resize
    - std::unique_ptr<char[]>
    - static_cast<char*>
    - push_back
    - ::operator new[]
    - static_cast<double>
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(FragmentationzTest, Accuracy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 764
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/legacy_size_classes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/sampler.cc:46,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/sampler.cc:51,1
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/sampler.cc:55,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/sampler.cc:61,1
    - Dst: PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/sampler.cc:64,1
    - Dst: GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/sampler.cc:68,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sampler.cc:78,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:83,1
    - Dst: GetGeometricVariable
      Src: /src/tcmalloc/tcmalloc/sampler.cc:84,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/sampler.cc:99,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:106,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/sampler.cc:108,1
    - Dst: std::log
      Src: /src/tcmalloc/tcmalloc/sampler.cc:108,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:117,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sampler.cc:117,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sampler.cc:118,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:120,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sampler.cc:124,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/sampler.cc:126,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:126,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/sampler.cc:126,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:127,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/sampler.cc:130,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sampler.cc:147,1
    - Dst: __builtin_ssubl_overflow
      Src: /src/tcmalloc/tcmalloc/sampler.cc:147,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sampler.cc:149,1
    - Dst: PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/sampler.cc:151,1
    - Dst: GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/sampler.cc:152,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 161
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - std::log2
    - ABSL_PREDICT_FALSE
    - static_cast<uint64_t>
    - std::max<ssize_t>
    - static_cast<uint32_t>
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - __builtin_ssubl_overflow
    - reinterpret_cast<uintptr_t>
    - ABSL_PREDICT_TRUE
    - static_cast<ssize_t>
    - TC_ASSERT_NE
    - tcmalloc_internal::max
    - Init
    - GetGeometricVariable
    - PickNextSamplingPoint
    - GetSampleInterval
    - std::log
    - absl::base_internal::CycleClock::Now
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - static_cast<double>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/sampler.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: tcmalloc_internal::Sampler::GetSampleInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Sampler::GetSampleInterval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/sampler.cc:51,1
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/sampler.cc:55,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/sampler.cc:61,1
    - Dst: tcmalloc_internal::Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/sampler.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: tcmalloc_internal::Sampler::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Sampler::PickNextSamplingPoint
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - InitIfNecessary
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE Sampler::Init(uint64_t seed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/sampler.cc:68,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sampler.cc:78,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:83,1
    - Dst: tcmalloc_internal::Sampler::GetGeometricVariable
      Src: /src/tcmalloc/tcmalloc/sampler.cc:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::Sampler::PickNextSamplingPoint
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::Sampler::GetSampleInterval
    - std::max<ssize_t>
    - tcmalloc_internal::Sampler::GetGeometricVariable
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Sampler::PickNextSamplingPoint()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/sampler.cc:99,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:106,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/sampler.cc:108,1
    - Dst: std::log
      Src: /src/tcmalloc/tcmalloc/sampler.cc:108,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:117,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sampler.cc:117,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sampler.cc:118,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mean
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 121
    functionName: tcmalloc_internal::Sampler::GetGeometricVariable
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.cc
    functionUses: 1
    functionsReached:
    - static_cast<ssize_t>
    - std::log2
    - tcmalloc_internal::max
    - std::log
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - static_cast<double>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Sampler::GetGeometricVariable(ssize_t mean)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sampler.cc:124,1
    - Dst: tcmalloc_internal::Sampler::Init
      Src: /src/tcmalloc/tcmalloc/sampler.cc:126,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:126,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/sampler.cc:126,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:127,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/sampler.cc:130,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sampler.cc:147,1
    - Dst: __builtin_ssubl_overflow
      Src: /src/tcmalloc/tcmalloc/sampler.cc:147,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sampler.cc:149,1
    - Dst: tcmalloc_internal::Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/sampler.cc:151,1
    - Dst: tcmalloc_internal::Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/sampler.cc:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - k
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 153
    functionName: tcmalloc_internal::Sampler::RecordAllocationSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Sampler::PickNextSamplingPoint
    - __builtin_ssubl_overflow
    - ABSL_PREDICT_FALSE
    - static_cast<uint64_t>
    - tcmalloc_internal::max
    - tcmalloc_internal::Sampler::GetSampleInterval
    - absl::base_internal::CycleClock::Now
    - tcmalloc_internal::Sampler::Init
    - reinterpret_cast<uintptr_t>
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: size_t
    signature: size_t Sampler::RecordAllocationSlow(size_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stack'
    argTypes:
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: tcmalloc_internal::AllocatedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double AllocatedBytes(const StackTrace& stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/sampler.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: tcmalloc_internal::Sampler::GetSampleInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Sampler::GetSampleInterval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/sampler.cc:51,1
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/sampler.cc:55,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/sampler.cc:61,1
    - Dst: tcmalloc_internal::Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/sampler.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: tcmalloc_internal::Sampler::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::Sampler::PickNextSamplingPoint
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - InitIfNecessary
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE Sampler::Init(uint64_t seed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/sampler.cc:68,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sampler.cc:78,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:83,1
    - Dst: tcmalloc_internal::Sampler::GetGeometricVariable
      Src: /src/tcmalloc/tcmalloc/sampler.cc:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::Sampler::PickNextSamplingPoint
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.cc
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::Sampler::GetSampleInterval
    - std::max<ssize_t>
    - tcmalloc_internal::Sampler::GetGeometricVariable
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Sampler::PickNextSamplingPoint()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/sampler.cc:99,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:106,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/sampler.cc:108,1
    - Dst: std::log
      Src: /src/tcmalloc/tcmalloc/sampler.cc:108,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:117,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sampler.cc:117,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sampler.cc:118,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mean
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 121
    functionName: tcmalloc_internal::Sampler::GetGeometricVariable
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.cc
    functionUses: 2
    functionsReached:
    - static_cast<ssize_t>
    - std::log2
    - tcmalloc_internal::max
    - std::log
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - static_cast<double>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Sampler::GetGeometricVariable(ssize_t mean)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sampler.cc:124,1
    - Dst: tcmalloc_internal::Sampler::Init
      Src: /src/tcmalloc/tcmalloc/sampler.cc:126,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:126,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/sampler.cc:126,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:127,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/sampler.cc:130,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sampler.cc:147,1
    - Dst: __builtin_ssubl_overflow
      Src: /src/tcmalloc/tcmalloc/sampler.cc:147,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sampler.cc:149,1
    - Dst: tcmalloc_internal::Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/sampler.cc:151,1
    - Dst: tcmalloc_internal::Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/sampler.cc:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - k
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 153
    functionName: tcmalloc_internal::Sampler::RecordAllocationSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Sampler::PickNextSamplingPoint
    - __builtin_ssubl_overflow
    - ABSL_PREDICT_FALSE
    - static_cast<uint64_t>
    - tcmalloc_internal::max
    - tcmalloc_internal::Sampler::GetSampleInterval
    - absl::base_internal::CycleClock::Now
    - tcmalloc_internal::Sampler::Init
    - reinterpret_cast<uintptr_t>
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: size_t
    signature: size_t Sampler::RecordAllocationSlow(size_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/sampler.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stack'
    argTypes:
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: tcmalloc_internal::AllocatedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double AllocatedBytes(const StackTrace& stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 83
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: tcmalloc_internal::TCMallocStats
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TCMallocStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: tcmalloc_internal::TCMallocStats
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TCMallocStats()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:35,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:36,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:41,1
    - Dst: TransferCacheEnv::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:46,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:50,1
    - Dst: TransferCacheEnv::Grow
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:50,1
    - Dst: TransferCacheEnv::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:55,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:59,1
    - Dst: TransferCacheEnv::Shrink
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:59,1
    - Dst: TransferCacheEnv::TryPlunder
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:63,1
    - Dst: TransferCacheEnv::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:66,1
    - Dst: TransferCacheEnv::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:72,1
    - Dst: TransferCacheEnv::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:74,1
    - Dst: FUZZ_TEST
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 86
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc
    functionUses: 0
    functionsReached:
    - TransferCacheEnv::Insert
    - data
    - TransferCacheEnv::Grow
    - TransferCacheEnv::Shrink
    - TransferCacheEnv::transfer_cache
    - TransferCacheEnv::TryPlunder
    - size
    - TransferCacheEnv::Remove
    - FUZZ_TEST
    - CHECK_EQ
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:35,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:36,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:41,1
    - Dst: TransferCacheEnv::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:46,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:50,1
    - Dst: TransferCacheEnv::Grow
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:50,1
    - Dst: TransferCacheEnv::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:55,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:59,1
    - Dst: TransferCacheEnv::Shrink
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:59,1
    - Dst: TransferCacheEnv::TryPlunder
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:63,1
    - Dst: TransferCacheEnv::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:66,1
    - Dst: TransferCacheEnv::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:72,1
    - Dst: TransferCacheEnv::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 80
    functionName: FuzzTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc
    functionUses: 0
    functionsReached:
    - TransferCacheEnv::Insert
    - data
    - TransferCacheEnv::Grow
    - TransferCacheEnv::Shrink
    - TransferCacheEnv::transfer_cache
    - TransferCacheEnv::TryPlunder
    - size
    - TransferCacheEnv::Remove
    - CHECK_EQ
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    linkageType: ''
    returnType: void
    signature: void FuzzTransferCache(const std::string& s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:35,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:36,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:41,1
    - Dst: TransferCacheEnv::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:46,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:50,1
    - Dst: TransferCacheEnv::Grow
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:50,1
    - Dst: TransferCacheEnv::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:55,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:59,1
    - Dst: TransferCacheEnv::Shrink
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:59,1
    - Dst: TransferCacheEnv::TryPlunder
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:63,1
    - Dst: TransferCacheEnv::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:66,1
    - Dst: TransferCacheEnv::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:72,1
    - Dst: TransferCacheEnv::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 80
    functionName: FuzzTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc
    functionUses: 0
    functionsReached:
    - TransferCacheEnv::Insert
    - data
    - TransferCacheEnv::Grow
    - TransferCacheEnv::Shrink
    - TransferCacheEnv::transfer_cache
    - TransferCacheEnv::TryPlunder
    - size
    - TransferCacheEnv::Remove
    - CHECK_EQ
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    linkageType: ''
    returnType: void
    signature: void FuzzTransferCache(const std::string& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:115,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:116,1
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:135,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:136,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:137,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:138,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:137,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:140,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:141,1
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:149,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:150,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:150,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:156,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:156,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:159,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:162,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:166,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:167,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:174,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:174,1
    - Dst: n::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:175,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:176,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:182,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:192,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:193,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:198,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:199,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:200,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:201,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:228,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:229,1
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:229,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:230,1
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 245
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - absl::base_internal::LowLevelAlloc::NewArena
    - end
    - reinterpret_cast<void*>
    - TC_CHECK_LE
    - absl::base_internal::LowLevelCallOnce
    - p::start_addr
    - absl::has_single_bit
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - tcmalloc_internal::PageTracker::ReleaseFree
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - compare_exchange_weak
    - static_cast<T*>
    - reinterpret_cast<uintptr_t>
    - ll_arena
    - TC_ASSERT_EQ
    - load
    - n::in_bytes
    - Span::Span
    - static_cast<uintptr_t>
    - find
    - TC_BUG
    - reinterpret_cast<uintptr_t*>
    - TC_CHECK
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::filler_skip_subrelease_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration filler_skip_subrelease_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration filler_skip_subrelease_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::cache_demand_release_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration cache_demand_release_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::cache_demand_release_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration cache_demand_release_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::release_partial_alloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool release_partial_alloc_pages()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hpaa_subrelease() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_filler_skip_subrelease_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_filler_skip_subrelease_short_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_filler_skip_subrelease_long_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_cache_demand_release_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_cache_demand_release_short_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_cache_demand_release_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_cache_demand_release_long_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_release_partial_alloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_release_partial_alloc_pages(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_hpaa_subrelease(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::release_succeeds
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool release_succeeds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_release_succeeds
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_release_succeeds(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_collapse_succeeds
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_collapse_succeeds(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::huge_region_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool huge_region_demand_based_release() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_huge_region_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_huge_region_demand_based_release(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::huge_cache_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool huge_cache_demand_based_release() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_huge_cache_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_huge_cache_demand_based_release(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '& arena()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena & arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:115,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: void
    signature: void * GetHugepage(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - page
    - span
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::Set
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Set(PageId page, Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetHugepage(HugePage p, void* pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:135,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:136,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:137,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:138,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:137,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:140,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: ''
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 3743
    functionsReached:
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - reinterpret_cast<uintptr_t*>
    - Span::Span
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ll_arena
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_RETURNS_NONNULL
    signature: 'ABSL_ATTRIBUTE_RETURNS_NONNULL '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:149,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:150,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_ATTRIBUTE_NONNULL
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t*>
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void ABSL_ATTRIBUTE_NONNULL()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:156,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:156,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:159,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:162,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:166,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - load
    - compare_exchange_weak
    - reinterpret_cast<void*>
    - TC_CHECK
    - absl::has_single_bit
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange AllocatePages(size_t bytes, size_t align,\n                                           MemoryTag
      tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::Back
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Back(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:174,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:174,1
    - Dst: Range::n::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:175,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 4
    functionsReached:
    - Range::n::in_bytes
    - TC_CHECK_LE
    - Range::p::start_addr
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReportDoubleFree
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: void
    signature: void ReportDoubleFree(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::CollapsePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CollapsePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetAnonVmaName(\n      Range, std::optional<absl::string_view>
      name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:192,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ll_arena
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - absl::base_internal::LowLevelCallOnce
    - absl::base_internal::LowLevelAlloc::NewArena
    linkageType: ''
    returnType: absl::base_internal::LowLevelAlloc::Arena
    signature: absl::base_internal::LowLevelAlloc::Arena * ll_arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor(const AllocAdaptor&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor(const AllocAdaptor<T1>&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:228,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:229,1
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:229,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - static_cast<T*>
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - ll_arena
    linkageType: ''
    returnType: T
    signature: T * allocate(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void deallocate(T* p, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::filler_skip_subrelease_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration filler_skip_subrelease_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration filler_skip_subrelease_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::cache_demand_release_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration cache_demand_release_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::cache_demand_release_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration cache_demand_release_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::release_partial_alloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool release_partial_alloc_pages()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hpaa_subrelease() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_filler_skip_subrelease_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_filler_skip_subrelease_short_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_filler_skip_subrelease_long_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_cache_demand_release_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_cache_demand_release_short_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_cache_demand_release_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_cache_demand_release_long_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_release_partial_alloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_release_partial_alloc_pages(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_hpaa_subrelease(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::release_succeeds
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool release_succeeds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_release_succeeds
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_release_succeeds(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_collapse_succeeds
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_collapse_succeeds(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::huge_region_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool huge_region_demand_based_release() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_huge_region_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_huge_region_demand_based_release(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::huge_cache_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool huge_cache_demand_based_release() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_huge_cache_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_huge_cache_demand_based_release(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '& arena()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena & arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:115,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: void
    signature: void * GetHugepage(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - page
    - span
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::Set
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Set(PageId page, Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetHugepage(HugePage p, void* pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:135,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:136,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:137,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:138,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:137,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:140,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: ''
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 3752
    functionsReached:
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - reinterpret_cast<uintptr_t*>
    - Span::Span
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ll_arena
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_RETURNS_NONNULL
    signature: 'ABSL_ATTRIBUTE_RETURNS_NONNULL '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:149,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:150,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_ATTRIBUTE_NONNULL
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t*>
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void ABSL_ATTRIBUTE_NONNULL()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:156,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:156,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:159,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:162,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:166,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - load
    - compare_exchange_weak
    - reinterpret_cast<void*>
    - TC_CHECK
    - absl::has_single_bit
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange AllocatePages(size_t bytes, size_t align,\n                                           MemoryTag
      tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::Back
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Back(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:174,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:174,1
    - Dst: Range::n::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:175,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 4
    functionsReached:
    - Range::n::in_bytes
    - TC_CHECK_LE
    - Range::p::start_addr
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReportDoubleFree
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: void
    signature: void ReportDoubleFree(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::CollapsePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CollapsePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetAnonVmaName(\n      Range, std::optional<absl::string_view>
      name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:192,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ll_arena
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - absl::base_internal::LowLevelCallOnce
    - absl::base_internal::LowLevelAlloc::NewArena
    linkageType: ''
    returnType: absl::base_internal::LowLevelAlloc::Arena
    signature: absl::base_internal::LowLevelAlloc::Arena * ll_arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor(const AllocAdaptor&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor(const AllocAdaptor<T1>&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:228,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:229,1
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:229,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - static_cast<T*>
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - ll_arena
    linkageType: ''
    returnType: T
    signature: T * allocate(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void deallocate(T* p, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::filler_skip_subrelease_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration filler_skip_subrelease_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration filler_skip_subrelease_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::cache_demand_release_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration cache_demand_release_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::cache_demand_release_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration cache_demand_release_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::release_partial_alloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool release_partial_alloc_pages()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hpaa_subrelease() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_filler_skip_subrelease_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_filler_skip_subrelease_short_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_filler_skip_subrelease_long_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_cache_demand_release_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_cache_demand_release_short_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_cache_demand_release_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_cache_demand_release_long_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_release_partial_alloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_release_partial_alloc_pages(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_hpaa_subrelease(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::release_succeeds
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool release_succeeds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_release_succeeds
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_release_succeeds(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_collapse_succeeds
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_collapse_succeeds(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::huge_region_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool huge_region_demand_based_release() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_huge_region_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_huge_region_demand_based_release(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::huge_cache_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool huge_cache_demand_based_release() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_huge_cache_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_huge_cache_demand_based_release(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '& arena()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena & arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:115,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: void
    signature: void * GetHugepage(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - page
    - span
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::Set
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Set(PageId page, Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetHugepage(HugePage p, void* pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:135,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:136,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:137,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:138,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:137,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:140,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: ''
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 3761
    functionsReached:
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - reinterpret_cast<uintptr_t*>
    - Span::Span
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ll_arena
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_RETURNS_NONNULL
    signature: 'ABSL_ATTRIBUTE_RETURNS_NONNULL '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:149,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:150,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_ATTRIBUTE_NONNULL
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t*>
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void ABSL_ATTRIBUTE_NONNULL()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:156,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:156,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:159,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:162,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:166,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - load
    - compare_exchange_weak
    - reinterpret_cast<void*>
    - TC_CHECK
    - absl::has_single_bit
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange AllocatePages(size_t bytes, size_t align,\n                                           MemoryTag
      tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::Back
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Back(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:174,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:174,1
    - Dst: Range::n::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:175,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 4
    functionsReached:
    - Range::n::in_bytes
    - TC_CHECK_LE
    - Range::p::start_addr
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReportDoubleFree
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: void
    signature: void ReportDoubleFree(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::CollapsePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CollapsePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetAnonVmaName(\n      Range, std::optional<absl::string_view>
      name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:192,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ll_arena
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - absl::base_internal::LowLevelCallOnce
    - absl::base_internal::LowLevelAlloc::NewArena
    linkageType: ''
    returnType: absl::base_internal::LowLevelAlloc::Arena
    signature: absl::base_internal::LowLevelAlloc::Arena * ll_arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor(const AllocAdaptor&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor(const AllocAdaptor<T1>&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:228,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:229,1
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:229,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - static_cast<T*>
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - ll_arena
    linkageType: ''
    returnType: T
    signature: T * allocate(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void deallocate(T* p, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::filler_skip_subrelease_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration filler_skip_subrelease_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration filler_skip_subrelease_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::cache_demand_release_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration cache_demand_release_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::cache_demand_release_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration cache_demand_release_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::release_partial_alloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool release_partial_alloc_pages()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hpaa_subrelease() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_filler_skip_subrelease_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_filler_skip_subrelease_short_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_filler_skip_subrelease_long_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_cache_demand_release_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_cache_demand_release_short_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_cache_demand_release_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_cache_demand_release_long_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_release_partial_alloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_release_partial_alloc_pages(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_hpaa_subrelease(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::release_succeeds
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool release_succeeds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_release_succeeds
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_release_succeeds(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_collapse_succeeds
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_collapse_succeeds(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::huge_region_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool huge_region_demand_based_release() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_huge_region_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_huge_region_demand_based_release(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::huge_cache_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool huge_cache_demand_based_release() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_huge_cache_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_huge_cache_demand_based_release(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '& arena()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena & arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:115,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: void
    signature: void * GetHugepage(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - page
    - span
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::Set
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Set(PageId page, Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetHugepage(HugePage p, void* pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:135,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:136,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:137,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:138,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:137,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:140,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: ''
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 3770
    functionsReached:
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - reinterpret_cast<uintptr_t*>
    - Span::Span
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ll_arena
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_RETURNS_NONNULL
    signature: 'ABSL_ATTRIBUTE_RETURNS_NONNULL '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:149,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:150,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_ATTRIBUTE_NONNULL
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t*>
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void ABSL_ATTRIBUTE_NONNULL()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:156,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:156,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:159,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:162,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:166,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - load
    - compare_exchange_weak
    - reinterpret_cast<void*>
    - TC_CHECK
    - absl::has_single_bit
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange AllocatePages(size_t bytes, size_t align,\n                                           MemoryTag
      tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::Back
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Back(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:174,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:174,1
    - Dst: Range::n::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:175,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 4
    functionsReached:
    - Range::n::in_bytes
    - TC_CHECK_LE
    - Range::p::start_addr
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReportDoubleFree
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: void
    signature: void ReportDoubleFree(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::CollapsePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CollapsePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetAnonVmaName(\n      Range, std::optional<absl::string_view>
      name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:192,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ll_arena
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - absl::base_internal::LowLevelCallOnce
    - absl::base_internal::LowLevelAlloc::NewArena
    linkageType: ''
    returnType: absl::base_internal::LowLevelAlloc::Arena
    signature: absl::base_internal::LowLevelAlloc::Arena * ll_arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor(const AllocAdaptor&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocAdaptor(const AllocAdaptor<T1>&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:228,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:229,1
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:229,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - static_cast<T*>
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - ll_arena
    linkageType: ''
    returnType: T
    signature: T * allocate(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void deallocate(T* p, size_t n)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span.cc:43,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/span.cc:44,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:45,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.cc:45,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.cc:47,1
    - Dst: static_cast<tcmalloc_internal::StatsCounter::Value>
      Src: /src/tcmalloc/tcmalloc/span.cc:52,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/span.cc:53,1
    - Dst: sampled_objects_size_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:54,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:55,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/span.cc:62,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:63,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.cc:63,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span.cc:64,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.cc:66,1
    - Dst: static_cast<tcmalloc_internal::StatsCounter::Value>
      Src: /src/tcmalloc/tcmalloc/span.cc:74,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/span.cc:75,1
    - Dst: sampled_objects_size_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:76,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:83,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span.cc:86,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.cc:87,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:90,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span.cc:101,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.cc:141,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.cc:142,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.cc:146,1
    - Dst: bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/span.cc:150,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.cc:150,1
    - Dst: bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/span.cc:151,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.cc:152,1
    - Dst: bitmap::size
      Src: /src/tcmalloc/tcmalloc/span.cc:152,1
    - Dst: BitmapIdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:153,1
    - Dst: bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/span.cc:154,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.cc:158,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.cc:158,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:159,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.cc:159,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.cc:165,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.cc:165,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.cc:168,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.cc:168,1
    - Dst: BitmapPopBatch
      Src: /src/tcmalloc/tcmalloc/span.cc:169,1
    - Dst: ListPopBatch
      Src: /src/tcmalloc/tcmalloc/span.cc:171,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/span.cc:171,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.cc:171,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/span.cc:179,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.cc:181,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:184,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:195,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:204,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.cc:215,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:223,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.cc:223,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/span.cc:239,1
    - Dst: bitmap::size
      Src: /src/tcmalloc/tcmalloc/span.cc:239,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:240,1
    - Dst: bitmap::Clear
      Src: /src/tcmalloc/tcmalloc/span.cc:241,1
    - Dst: bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/span.cc:243,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.cc:244,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.cc:244,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.cc:249,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.cc:249,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:250,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.cc:254,1
    - Dst: BuildBitmap
      Src: /src/tcmalloc/tcmalloc/span.cc:255,1
    - Dst: BitmapPopBatch
      Src: /src/tcmalloc/tcmalloc/span.cc:256,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.cc:260,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span.cc:261,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.cc:262,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.cc:262,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:267,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/span.cc:269,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.cc:279,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:301,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:309,1
    - Dst: Static::span_allocator
      Src: /src/tcmalloc/tcmalloc/span.cc:320,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/span.cc:325,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/span.cc:325,1
    - Dst: Static::span_allocator
      Src: /src/tcmalloc/tcmalloc/span.cc:327,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 127
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 331
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - Length
    - bitmap::CountBits
    - ABSL_PREDICT_FALSE
    - bitmap::SetRange
    - Length::raw_num
    - reinterpret_cast<char*>
    - store
    - BuildBitmap
    - bytes_in_span
    - memset
    - TC_CHECK_GT
    - BitmapPopBatch
    - ASSUME
    - is_large_or_sampled
    - size
    - static_cast<tcmalloc_internal::StatsCounter::Value>
    - bitmap::IsZero
    - Static::span_allocator
    - ListPopBatch
    - TC_ASSERT
    - TC_ASSERT_EQ
    - first_page
    - load
    - data
    - TC_ASSERT_NE
    - TC_ASSERT_GT
    - bitmap::FindSet
    - sampled_objects_size_::Add
    - TC_CHECK
    - UseBitmapForSize
    - BitmapIdxToPtr
    - IdxToPtr
    - bitmap::ClearLowestBit
    - AllocatedBytes
    - static_cast<size_t>
    - bitmap::size
    - reinterpret_cast<ObjIdx*>
    - TC_ASSERT_LE
    - bitmap::Clear
    - static_cast<void*>
    - total_sampled_count_::Add
    - TC_ASSERT_LT
    - static_cast<double>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span.cc:43,1
    - Dst: tcmalloc_internal::Span::num_pages
      Src: /src/tcmalloc/tcmalloc/span.cc:44,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:45,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.cc:45,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.cc:47,1
    - Dst: static_cast<tcmalloc_internal::StatsCounter::Value>
      Src: /src/tcmalloc/tcmalloc/span.cc:52,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/span.cc:53,1
    - Dst: sampled_objects_size_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:54,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sampled_allocation
    argTypes:
    - SampledAllocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::Span::Sample
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - total_sampled_count_::Add
    - Length
    - AllocatedBytes
    - Length::raw_num
    - static_cast<tcmalloc_internal::StatsCounter::Value>
    - tcmalloc_internal::Span::num_pages
    - sampled_objects_size_::Add
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void Span::Sample(SampledAllocation* sampled_allocation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::num_pages
      Src: /src/tcmalloc/tcmalloc/span.cc:62,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:63,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.cc:63,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span.cc:64,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.cc:66,1
    - Dst: static_cast<tcmalloc_internal::StatsCounter::Value>
      Src: /src/tcmalloc/tcmalloc/span.cc:74,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/span.cc:75,1
    - Dst: sampled_objects_size_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::Span::Unsample
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - Length
    - AllocatedBytes
    - Length::raw_num
    - static_cast<tcmalloc_internal::StatsCounter::Value>
    - tcmalloc_internal::Span::num_pages
    - sampled_objects_size_::Add
    - TC_CHECK
    linkageType: ''
    returnType: SampledAllocation
    signature: SampledAllocation * Span::Unsample()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:83,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span.cc:86,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.cc:87,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:90,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - object_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::Span::Fragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - bytes_in_span
    - load
    - static_cast<double>
    - TC_ASSERT_NE
    linkageType: ''
    returnType: double
    signature: double Span::Fragmentation(size_t object_size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.cc:141,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - size
    argTypes:
    - ObjIdx
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::Span::BitmapIdxToPtr
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Span::first_page
    - reinterpret_cast<ObjIdx*>
    linkageType: ''
    returnType: void
    signature: void * Span::BitmapIdxToPtr(ObjIdx idx, size_t size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.cc:146,1
    - Dst: bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/span.cc:150,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.cc:150,1
    - Dst: bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/span.cc:151,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.cc:152,1
    - Dst: bitmap::size
      Src: /src/tcmalloc/tcmalloc/span.cc:152,1
    - Dst: tcmalloc_internal::Span::BitmapIdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:153,1
    - Dst: bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/span.cc:154,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.cc:158,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.cc:158,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:159,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.cc:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - batch
    - size
    argTypes:
    - absl::Span<void*>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: tcmalloc_internal::Span::BitmapPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - load
    - absl::Span<void*>::size
    - bitmap::CountBits
    - bitmap::ClearLowestBit
    - bitmap::size
    - bitmap::IsZero
    - bitmap::FindSet
    - store
    - TC_ASSERT_EQ
    - TC_ASSERT_LT
    - tcmalloc_internal::Span::BitmapIdxToPtr
    linkageType: ''
    returnType: size_t
    signature: size_t Span::BitmapPopBatch(absl::Span<void*> batch, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.cc:165,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.cc:165,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.cc:168,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.cc:168,1
    - Dst: tcmalloc_internal::Span::BitmapPopBatch
      Src: /src/tcmalloc/tcmalloc/span.cc:169,1
    - Dst: tcmalloc_internal::Span::ListPopBatch
      Src: /src/tcmalloc/tcmalloc/span.cc:171,1
    - Dst: absl::Span<void*>::data
      Src: /src/tcmalloc/tcmalloc/span.cc:171,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.cc:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - batch
    - size
    argTypes:
    - absl::Span<void*>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: tcmalloc_internal::Span::FreelistPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::Span::UseBitmapForSize
    - tcmalloc_internal::Span::BitmapPopBatch
    - is_large_or_sampled
    - TC_ASSERT
    - tcmalloc_internal::Span::ListPopBatch
    - absl::Span<void*>::data
    linkageType: ''
    returnType: size_t
    signature: size_t Span::FreelistPopBatch(const absl::Span<void*> batch, size_t
      size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/span.cc:179,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.cc:181,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:184,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:195,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:204,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.cc:215,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:223,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.cc:223,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - batch
    - N
    - size
    argTypes:
    - void**
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 226
    functionName: tcmalloc_internal::Span::ListPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 1
    functionsReached:
    - load
    - ASSUME
    - store
    - tcmalloc_internal::Span::first_page
    - TC_ASSERT_EQ
    - tcmalloc_internal::Span::IdxToPtr
    linkageType: ''
    returnType: size_t
    signature: size_t Span::ListPopBatch(void** __restrict batch, size_t N, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: tcmalloc_internal::Span::CalcReciprocal
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Span::CalcReciprocal(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/span.cc:239,1
    - Dst: bitmap::size
      Src: /src/tcmalloc/tcmalloc/span.cc:239,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:240,1
    - Dst: bitmap::Clear
      Src: /src/tcmalloc/tcmalloc/span.cc:241,1
    - Dst: bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/span.cc:243,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.cc:244,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - size
    - count
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: tcmalloc_internal::Span::BuildBitmap
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - bitmap::CountBits
    - bitmap::SetRange
    - bitmap::size
    - TC_ASSERT_LE
    - bitmap::Clear
    - store
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void Span::BuildBitmap(size_t size, size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.cc:249,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.cc:249,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:250,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.cc:254,1
    - Dst: tcmalloc_internal::Span::BuildBitmap
      Src: /src/tcmalloc/tcmalloc/span.cc:255,1
    - Dst: tcmalloc_internal::Span::BitmapPopBatch
      Src: /src/tcmalloc/tcmalloc/span.cc:256,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.cc:260,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span.cc:261,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.cc:262,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.cc:262,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:267,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/span.cc:269,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.cc:279,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:301,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:309,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 4
    argNames:
    - size
    - count
    - batch
    - alloc_time
    argTypes:
    - size_t
    - size_t
    - absl::Span<void*>
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 318
    functionName: tcmalloc_internal::Span::BuildFreelist
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - absl::Span<void*>::size
    - TC_ASSERT_NE
    - tcmalloc_internal::Span::UseBitmapForSize
    - tcmalloc_internal::Span::BitmapPopBatch
    - is_large_or_sampled
    - static_cast<size_t>
    - TC_ASSERT_GT
    - reinterpret_cast<char*>
    - tcmalloc_internal::Span::BuildBitmap
    - store
    - TC_ASSERT
    - TC_ASSERT_LT
    - tcmalloc_internal::Span::IdxToPtr
    - tcmalloc_internal::Span::first_page
    linkageType: ''
    returnType: int
    signature: "int Span::BuildFreelist(size_t size, size_t count, absl::Span<void*>
      batch,\n                        uint64_t alloc_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Static::span_allocator
      Src: /src/tcmalloc/tcmalloc/span.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: tcmalloc_internal::Span::New
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 15
    functionsReached:
    - Static::span_allocator
    linkageType: ''
    returnType: Span
    signature: Span * Span::New(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/span.cc:325,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/span.cc:325,1
    - Dst: Static::span_allocator
      Src: /src/tcmalloc/tcmalloc/span.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: tcmalloc_internal::Span::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 21
    functionsReached:
    - static_cast<void*>
    - Static::span_allocator
    - memset
    linkageType: ''
    returnType: void
    signature: void Span::Delete(Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span.cc:43,1
    - Dst: tcmalloc_internal::Span::num_pages
      Src: /src/tcmalloc/tcmalloc/span.cc:44,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:45,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.cc:45,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.cc:47,1
    - Dst: static_cast<tcmalloc_internal::StatsCounter::Value>
      Src: /src/tcmalloc/tcmalloc/span.cc:52,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/span.cc:53,1
    - Dst: sampled_objects_size_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:54,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sampled_allocation
    argTypes:
    - SampledAllocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::Span::Sample
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - total_sampled_count_::Add
    - Length
    - AllocatedBytes
    - Length::raw_num
    - static_cast<tcmalloc_internal::StatsCounter::Value>
    - tcmalloc_internal::Span::num_pages
    - sampled_objects_size_::Add
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void Span::Sample(SampledAllocation* sampled_allocation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::num_pages
      Src: /src/tcmalloc/tcmalloc/span.cc:62,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:63,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.cc:63,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span.cc:64,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.cc:66,1
    - Dst: static_cast<tcmalloc_internal::StatsCounter::Value>
      Src: /src/tcmalloc/tcmalloc/span.cc:74,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/span.cc:75,1
    - Dst: sampled_objects_size_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::Span::Unsample
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - Length
    - AllocatedBytes
    - Length::raw_num
    - static_cast<tcmalloc_internal::StatsCounter::Value>
    - tcmalloc_internal::Span::num_pages
    - sampled_objects_size_::Add
    - TC_CHECK
    linkageType: ''
    returnType: SampledAllocation
    signature: SampledAllocation * Span::Unsample()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:83,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span.cc:86,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.cc:87,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:90,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - object_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::Span::Fragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - bytes_in_span
    - load
    - static_cast<double>
    - TC_ASSERT_NE
    linkageType: ''
    returnType: double
    signature: double Span::Fragmentation(size_t object_size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.cc:141,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - size
    argTypes:
    - ObjIdx
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::Span::BitmapIdxToPtr
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::Span::first_page
    - reinterpret_cast<ObjIdx*>
    linkageType: ''
    returnType: void
    signature: void * Span::BitmapIdxToPtr(ObjIdx idx, size_t size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.cc:146,1
    - Dst: bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/span.cc:150,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.cc:150,1
    - Dst: bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/span.cc:151,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.cc:152,1
    - Dst: bitmap::size
      Src: /src/tcmalloc/tcmalloc/span.cc:152,1
    - Dst: tcmalloc_internal::Span::BitmapIdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:153,1
    - Dst: bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/span.cc:154,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.cc:158,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.cc:158,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:159,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.cc:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - batch
    - size
    argTypes:
    - absl::Span<void*>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: tcmalloc_internal::Span::BitmapPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 2
    functionsReached:
    - load
    - absl::Span<void*>::size
    - bitmap::CountBits
    - bitmap::ClearLowestBit
    - bitmap::size
    - bitmap::IsZero
    - bitmap::FindSet
    - store
    - TC_ASSERT_EQ
    - TC_ASSERT_LT
    - tcmalloc_internal::Span::BitmapIdxToPtr
    linkageType: ''
    returnType: size_t
    signature: size_t Span::BitmapPopBatch(absl::Span<void*> batch, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.cc:165,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.cc:165,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.cc:168,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.cc:168,1
    - Dst: tcmalloc_internal::Span::BitmapPopBatch
      Src: /src/tcmalloc/tcmalloc/span.cc:169,1
    - Dst: tcmalloc_internal::Span::ListPopBatch
      Src: /src/tcmalloc/tcmalloc/span.cc:171,1
    - Dst: absl::Span<void*>::data
      Src: /src/tcmalloc/tcmalloc/span.cc:171,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.cc:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - batch
    - size
    argTypes:
    - absl::Span<void*>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: tcmalloc_internal::Span::FreelistPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::Span::UseBitmapForSize
    - tcmalloc_internal::Span::BitmapPopBatch
    - is_large_or_sampled
    - TC_ASSERT
    - tcmalloc_internal::Span::ListPopBatch
    - absl::Span<void*>::data
    linkageType: ''
    returnType: size_t
    signature: size_t Span::FreelistPopBatch(const absl::Span<void*> batch, size_t
      size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/span.cc:179,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.cc:181,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:184,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:195,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:204,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.cc:215,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:223,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.cc:223,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - batch
    - N
    - size
    argTypes:
    - void**
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 226
    functionName: tcmalloc_internal::Span::ListPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 2
    functionsReached:
    - load
    - ASSUME
    - store
    - tcmalloc_internal::Span::first_page
    - TC_ASSERT_EQ
    - tcmalloc_internal::Span::IdxToPtr
    linkageType: ''
    returnType: size_t
    signature: size_t Span::ListPopBatch(void** __restrict batch, size_t N, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: tcmalloc_internal::Span::CalcReciprocal
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Span::CalcReciprocal(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/span.cc:239,1
    - Dst: bitmap::size
      Src: /src/tcmalloc/tcmalloc/span.cc:239,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:240,1
    - Dst: bitmap::Clear
      Src: /src/tcmalloc/tcmalloc/span.cc:241,1
    - Dst: bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/span.cc:243,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.cc:244,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - size
    - count
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: tcmalloc_internal::Span::BuildBitmap
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 1
    functionsReached:
    - bitmap::CountBits
    - bitmap::SetRange
    - bitmap::size
    - TC_ASSERT_LE
    - bitmap::Clear
    - store
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void Span::BuildBitmap(size_t size, size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.cc:249,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.cc:249,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:250,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.cc:254,1
    - Dst: tcmalloc_internal::Span::BuildBitmap
      Src: /src/tcmalloc/tcmalloc/span.cc:255,1
    - Dst: tcmalloc_internal::Span::BitmapPopBatch
      Src: /src/tcmalloc/tcmalloc/span.cc:256,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.cc:260,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span.cc:261,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.cc:262,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.cc:262,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:267,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/span.cc:269,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.cc:279,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:301,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:309,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 4
    argNames:
    - size
    - count
    - batch
    - alloc_time
    argTypes:
    - size_t
    - size_t
    - absl::Span<void*>
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 318
    functionName: tcmalloc_internal::Span::BuildFreelist
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - absl::Span<void*>::size
    - TC_ASSERT_NE
    - tcmalloc_internal::Span::UseBitmapForSize
    - tcmalloc_internal::Span::BitmapPopBatch
    - is_large_or_sampled
    - static_cast<size_t>
    - TC_ASSERT_GT
    - reinterpret_cast<char*>
    - tcmalloc_internal::Span::BuildBitmap
    - store
    - TC_ASSERT
    - TC_ASSERT_LT
    - tcmalloc_internal::Span::IdxToPtr
    - tcmalloc_internal::Span::first_page
    linkageType: ''
    returnType: int
    signature: "int Span::BuildFreelist(size_t size, size_t count, absl::Span<void*>
      batch,\n                        uint64_t alloc_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Static::span_allocator
      Src: /src/tcmalloc/tcmalloc/span.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: tcmalloc_internal::Span::New
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 15
    functionsReached:
    - Static::span_allocator
    linkageType: ''
    returnType: Span
    signature: Span * Span::New(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/span.cc:325,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/span.cc:325,1
    - Dst: Static::span_allocator
      Src: /src/tcmalloc/tcmalloc/span.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: tcmalloc_internal::Span::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 21
    functionsReached:
    - static_cast<void*>
    - Static::span_allocator
    - memset
    linkageType: ''
    returnType: void
    signature: void Span::Delete(Span* span)
  - BBCount: 127
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:96,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:96,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:100,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:105,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:105,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:111,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:112,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:116,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:122,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:122,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:127,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:127,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:129,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:133,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:137,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:141,1
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:145,1
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:150,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:155,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:159,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:163,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:167,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:171,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:175,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:179,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:183,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:189,1
    - Dst: HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:192,1
    - Dst: numa_aware
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:197,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:198,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:198,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:205,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:217,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:220,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:221,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:230,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:294,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:296,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:514,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:517,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:573,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:576,1
    - Dst: AllocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:753,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:754,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:763,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:764,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:769,1
    - Dst: DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:769,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:777,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:778,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:783,1
    - Dst: HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:783,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:784,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:790,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:791,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:795,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:804,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:805,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:807,1
    - Dst: UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:820,1
    - Dst: BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:853,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:857,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:861,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:869,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:876,1
    - Dst: reuse_size_classes_v2
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:877,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:880,1
    - Dst: cold_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:883,1
    - Dst: absl::c_binary_search
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:884,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:886,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:893,1
    - Dst: get_shift_capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:909,1
    - Dst: GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:921,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:927,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:939,1
    - Dst: UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:944,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:954,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:960,1
    - Dst: per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:964,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:968,1
    - Dst: NumaShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:969,1
    - Dst: UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:970,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:976,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:977,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:978,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:979,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:986,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:988,1
    - Dst: MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:988,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:995,1
    - Dst: MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:995,1
    - Dst: EstimateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1003,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1006,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1007,1
    - Dst: reinterpret_cast<ResizeInfo*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1012,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1012,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1015,1
    - Dst: ResizeInfo::ResizeInfo
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1018,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1021,1
    - Dst: available::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1023,1
    - Dst: capacity::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1024,1
    - Dst: AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1028,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1029,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1030,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1033,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1036,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1041,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1043,1
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1046,1
    - Dst: Dealloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1049,1
    - Dst: UseBackingShardedTransferCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1056,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1057,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1059,1
    - Dst: UseBackingShardedTransferCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1065,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1066,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1070,1
    - Dst: AllocateSlowNoHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1075,1
    - Dst: MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1076,1
    - Dst: BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1082,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1083,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1085,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1086,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1087,1
    - Dst: FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1090,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1090,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1092,1
    - Dst: AllocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1098,1
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1102,1
    - Dst: Refill
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1103,1
    - Dst: UpdateCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1118,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1128,1
    - Dst: FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1129,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1129,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1140,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1142,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1154,1
    - Dst: UseShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1155,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1162,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1162,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1165,1
    - Dst: UseGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1166,1
    - Dst: std::min<uint32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1178,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1183,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1199,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1200,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1229,1
    - Dst: GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1230,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1230,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1231,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1235,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1237,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1240,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1244,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1250,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1251,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1257,1
    - Dst: TargetOverflowRefillCount
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1260,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1265,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1266,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1266,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1267,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1268,1
    - Dst: Populate
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1269,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1271,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1274,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1275,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1276,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1285,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1288,1
    - Dst: GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1288,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1288,1
    - Dst: populated::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1289,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1294,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1299,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1300,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1309,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1312,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1314,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1321,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1322,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1324,1
    - Dst: GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1326,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1329,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1335,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1339,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1343,1
    - Dst: reclaim_used_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1345,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1350,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1357,1
    - Dst: reclaim_used_bytes::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1365,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1374,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1377,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1382,1
    - Dst: GetAndUpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1386,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1405,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1405,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1405,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1443,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1458,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1460,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1467,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1469,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1485,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1492,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1512,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1513,1
    - Dst: munlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1520,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1524,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1525,1
    - Dst: madvise_failed_bytes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1530,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1538,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1539,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1547,1
    - Dst: GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1548,1
    - Dst: GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1555,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1562,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1563,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1565,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1568,1
    - Dst: lock::Lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1572,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1574,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1578,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1582,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1584,1
    - Dst: AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1584,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1586,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1589,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1592,1
    - Dst: UpdateMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1596,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1598,1
    - Dst: lock::Unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1601,1
    - Dst: MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1603,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1605,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1611,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1614,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1623,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1624,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1627,1
    - Dst: ResizeCpuSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1631,1
    - Dst: UpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1636,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1644,1
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1649,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1660,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: available::exchange
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1677,1
    - Dst: GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1682,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1682,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1684,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1692,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1693,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1696,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1709,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1713,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1714,1
    - Dst: StealCapacityForSizeClassWithinCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1718,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1719,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1721,1
    - Dst: GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1723,1
    - Dst: GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1725,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1731,1
    - Dst: num_size_class_resizes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1732,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1742,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1750,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1754,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1776,1
    - Dst: std::partial_sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1777,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1777,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1777,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1778,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1788,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1793,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1793,1
    - Dst: StealFromOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1794,1
    - Dst: UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1800,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1811,1
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1813,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1840,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1841,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1855,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1859,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1859,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1862,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1874,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1876,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1890,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1891,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1907,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1908,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1914,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1914,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1915,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1916,1
    - Dst: lock::IsHeld
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1916,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1917,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1922,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1923,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1924,1
    - Dst: Tick
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1957,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1962,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1965,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1966,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1996,1
    - Dst: DeallocateSlowNoHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2009,1
    - Dst: MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2010,1
    - Dst: BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2015,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2016,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2018,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2019,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2020,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2022,1
    - Dst: DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2024,1
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2028,1
    - Dst: UpdateCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2029,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2035,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2037,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2042,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2042,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2050,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2051,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2057,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2058,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2065,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2066,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2072,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2073,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2080,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2081,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2086,1
    - Dst: populated_physical_cpu::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2087,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2093,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2099,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2100,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2108,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2111,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2115,1
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2123,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2128,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2133,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2139,1
    - Dst: forwarder_::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2146,1
    - Dst: forwarder_::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2148,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2152,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2155,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2156,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2156,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2171,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2176,1
    - Dst: num_reclaims::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2179,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2180,1
    - Dst: last_reclaim::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2182,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2182,1
    - Dst: num_size_class_resizes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2189,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2195,1
    - Dst: num_size_class_resizes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2198,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2204,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2210,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2212,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2221,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2222,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2224,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2226,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2233,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2235,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2237,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2245,1
    - Dst: UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2248,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2251,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2259,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2278,1
    - Dst: per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2282,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2291,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2293,1
    - Dst: ShouldResizeSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2294,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2300,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2299,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2306,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2305,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2312,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2314,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2317,1
    - Dst: lock::Lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2319,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2322,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2326,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2329,1
    - Dst: AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2329,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2331,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2334,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2335,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2338,1
    - Dst: lock::Unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2341,1
    - Dst: MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2343,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2345,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2355,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2355,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2362,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2365,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2373,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2374,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2382,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2383,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2386,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2388,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2392,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2393,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2399,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2405,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2407,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2417,1
    - Dst: UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2418,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2426,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2439,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2440,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2444,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2446,1
    - Dst: last_reclaim::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2453,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2456,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2459,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2462,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2463,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2464,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2481,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2483,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2502,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2515,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2516,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2517,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2518,1
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2520,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2521,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2526,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2527,1
    - Dst: HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2528,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2529,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2530,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2535,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2539,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2540,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2541,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2544,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2545,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2552,1
    - Dst: GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2554,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2554,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2556,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2558,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2560,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2562,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2566,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2567,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2568,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2571,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2577,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2580,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2583,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2585,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2589,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2590,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2592,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2595,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2596,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2599,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2601,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2603,1
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2608,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2611,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2612,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2613,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2614,1
    - Dst: HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2615,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2619,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2620,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2621,1
    - Dst: GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2622,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2623,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2624,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2625,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2626,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2626,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2627,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2628,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2629,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2630,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2631,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2634,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2638,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2639,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2640,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2640,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2641,1
    - Dst: PbtxtRegion::PrintDouble
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2642,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2643,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2644,1
    - Dst: GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2645,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2645,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2647,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2648,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2649,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2650,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2651,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2652,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2653,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2654,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2655,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2659,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2659,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2661,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2662,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2663,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2663,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2665,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2665,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2668,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2670,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2675,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2681,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2683,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2691,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2692,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2699,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2701,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2703,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2704,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2712,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2712,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2718,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2725,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2726,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2729,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2731,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2732,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2740,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2741,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2744,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2746,1
    - Dst: GetTotalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2754,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2760,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2775,1
    - Dst: State::CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2775,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2779,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2779,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2794,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2794,1
    - Dst: tcmalloc_internal::ThreadCache::BecomeIdle
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2795,1
    CyclomaticComplexity: 239
    EdgeCount: 239
    ICount: 920
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2803
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 2803
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - Capacity
    - StealCapacityForSizeClassWithinCpu
    - available::fetch_add
    - Push
    - subtract_at_least
    - CpuSet::Zero
    - NumCPUs
    - TC_CHECK_GE
    - TC_CHECK_LE
    - ANNOTATE_MEMORY_IS_INITIALIZED
    - forwarder_::num_objects_to_move
    - MetadataMemoryUsage
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - CacheCpuSlab
    - PbtxtRegion::PrintI64
    - GrowOtherCache
    - std::partial_sort
    - CreateSubRegion
    - transfer_cache
    - reuse_size_classes
    - load
    - DeallocateFast
    - Drain
    - populated::store
    - RecordMiss
    - ShouldResizeSlab
    - PrintI64
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
    - TargetOverflowRefillCount
    - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    - Tick
    - UncacheCpuSlab
    - populated::load
    - std::min<size_t>
    - Alloc
    - lock::Unlock
    - lock::IsHeld
    - sharded_transfer_cache
    - cold_size_classes
    - AllocationGuard::AllocationGuard
    - MadviseAwaySlabs
    - RecordCacheMissStat
    - AllocateFast
    - IsInited
    - absl::base_internal::CycleClock::Now
    - last_reclaim::load
    - alloc
    - HasPhysicalPopulated
    - munlock
    - UpdateMaxCapacities
    - PopBatch
    - tcmalloc_internal::subtle::percpu::IsFast
    - ABSL_PREDICT_FALSE
    - num_size_class_resizes::load
    - lock::Lock
    - numa_aware
    - CpuSet::GetAffinity
    - GetNumReclaims
    - printf
    - ResizeInfo::ResizeInfo
    - store
    - AllocOrReuseSlabs
    - Unallocated
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - GetNumResizes
    - BypassCpuCache
    - GetIntervalCacheMissStats
    - reinterpret_cast<ResizeInfo*>
    - std::max
    - GetShift
    - absl::c_binary_search
    - sizemap
    - TC_ASSERT_NE
    - GetUpdatedMaxCapacities
    - UpdateIntervalMisses
    - GetAndUpdateIntervalCacheMissStats
    - Reclaim
    - TC_ASSERT_GT
    - last_reclaim::store
    - std::tie
    - ResizeCpuSizeClasses
    - forwarder_::class_to_size
    - Init
    - Pop
    - Refill
    - get_safe_miss_diff
    - GetTotalCacheMissStats
    - available::load
    - static_cast<size_t>
    - Grow
    - GetMaxCapacity
    - capacity::store
    - Update
    - absl::FixedArray::end
    - class_to_size
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - CpuSet::Set
    - reuse_size_classes_v2
    - reclaim_used_bytes::store
    - GetSlabsAllocSize
    - ShiftOffset
    - page_allocator
    - numa_topology
    - madvise
    - GetAndUpdateIntervalMisses
    - ArenaUpdateAllocatedAndNonresident
    - UseBackingShardedTransferCache
    - Dealloc
    - AllocReportedImpending
    - MaxCapacity
    - num_reclaims::load
    - Populate
    - ResizeSlabs
    - ColdFeatureActive
    - get_shift_capacity
    - static_cast<int64_t>
    - TC_ASSERT
    - print_miss_stats
    - active_partitions
    - FetchFromBackingCache
    - max_capacity
    - std::min<uint32_t>
    - TC_CHECK_EQ
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - reclaim_used_bytes::load
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
    - madvise_failed_bytes::fetch_add
    - capacity::load
    - PbtxtRegion::PrintBool
    - per_cpu_caches_dynamic_slab_enabled
    - UsedBytes
    - TC_ASSERT_GE
    - absl::ToInt64Nanoseconds
    - UpdateMaxCapacity
    - EstimateSlabBytes
    - GetMaxCapacityFunctor
    - safe_div
    - CacheLimit
    - HasPopulated
    - State::CpuCacheActive
    - UseWiderSlabs
    - absl::FixedArray::begin
    - size_class_configuration
    - MaybeForceSlowPath
    - GetSizeClassCapacityStats
    - populated_physical_cpu::load
    - Length
    - absl::InfiniteDuration
    - NumaShift
    - num_reclaims::store
    - HaveHooks
    - fetch_add
    - tcmalloc_internal::ThreadCache::BecomeIdle
    - UpdateCapacity
    - madvise_failed_bytes::load
    - Destroy
    - std::min
    - std::sort
    - absl::Span<void*>
    - absl::ToInt64Microseconds
    - AllocateSlowNoHooks
    - per_cpu_caches_dynamic_slab_grow_threshold
    - ShrinkOtherCache
    - DeallocateSlowNoHooks
    - compare_exchange_weak
    - UseGenericShardedCache
    - absl::bit_ceil
    - CpuSet::IsSet
    - TC_ASSERT_EQ
    - ABSL_PREDICT_TRUE
    - PbtxtRegion::PrintDouble
    - GetTotalMisses
    - capacity::fetch_sub
    - absl::MakeSpan
    - UseShardedCacheForLargeClassesOnly
    - memcpy
    - StealFromOtherCache
    - per_cpu_caches_dynamic_slab_shrink_threshold
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
    - CpuSet::Count
    - capacity::fetch_add
    - InitCpu
    - num_objects_to_move
    - available::exchange
    - GetIntervalMisses
    - UpdateIntervalCacheMissStats
    - FillActiveCpuMask
    - PushBatch
    - arena
    - IsExpandedSizeClass
    - TC_BUG
    - num_size_class_resizes::fetch_add
    - ReleaseToBackingCache
    - TC_ASSERT_LE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - available::store
    - TC_ASSERT_LT
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:96,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:96,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - arena
    - TC_ASSERT
    - IsInited
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:105,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:105,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:111,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - arena
    - static_cast<int64_t>
    - TC_ASSERT
    - IsInited
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - size
    - alignment
    argTypes:
    - void*
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::Dealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: void Dealloc(void* ptr, size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:122,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:122,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:127,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:127,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - Length
    - arena
    - page_allocator
    - IsInited
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
    linkageType: ''
    returnType: bool
    signature: bool per_cpu_caches_dynamic_slab_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_grow_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_shrink_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::reuse_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - size_class_configuration
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::reuse_size_classes_v2
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - size_class_configuration
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes_v2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: absl::Span<const size_t>
    signature: absl::Span<const size_t> cold_size_classes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: '& numa_topology()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: '& sharded_transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: ShardedTransferCacheManager
    signature: ShardedTransferCacheManager & sharded_transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: '& transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - transfer_cache
    linkageType: ''
    returnType: TransferCacheManager
    signature: TransferCacheManager & transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: bool
    signature: bool UseGenericShardedCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: bool
    signature: bool UseShardedCacheForLargeClassesOnly()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: bool
    signature: bool UseWiderSlabs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
    linkageType: ''
    returnType: bool
    signature: bool HaveHooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_aware
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:197,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:198,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' topology'
    argTypes:
    - NumaTopology
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::cpu_cache_internal::NumaShift
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - absl::bit_ceil
    - active_partitions
    - numa_aware
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t NumaShift(const NumaTopology& topology)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - shift
    - initial_shift
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: tcmalloc_internal::cpu_cache_internal::ShiftOffset
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ShiftOffset(uint8_t shift, uint8_t initial_shift)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:217,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:220,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:221,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 232
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::max
    - load
    - TC_ASSERT_GE
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - CpuCacheMissStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: '& operator+=(const CpuCacheMissStats rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CpuCacheMissStats
    signature: CpuCacheMissStats & operator+=(const CpuCacheMissStats rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache::CpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CpuCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 502
    functionName: '& forwarder() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 504
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: '& operator[](PerClassMissType type)'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: std::atomic<size_t>
    signature: std::atomic<size_t> & operator[](PerClassMissType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - miss_count
    argTypes:
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: '& operator[](MissCount miss_count)'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: std::atomic<size_t>
    signature: std::atomic<size_t> & operator[](MissCount miss_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 610
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache::ResizeInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ResizeInfo
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:753,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 758
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: void * CpuCache<Forwarder>::Allocate(size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:763,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - Pop
    - TC_ASSERT_GT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * CpuCache<Forwarder>::AllocateFast(\n
      \   size_t size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:769,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Deallocate(void* ptr, size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:777,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 779
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - Push
    - TC_ASSERT_GT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE CpuCache<Forwarder>::DeallocateFast(\n
      \   void* ptr, size_t size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:783,1
    - Dst: HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:783,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 786
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - UncacheCpuSlab
    - HaveHooks
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::MaybeForceSlowPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:790,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:791,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:795,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:804,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:805,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 810
    functionName: tcmalloc_internal::cpu_cache_internal::FillActiveCpuMask
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - CpuSet::GetAffinity
    - CpuSet::Zero
    - CpuSet::Count
    - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    linkageType: ''
    returnType: CpuSet
    signature: CpuSet FillActiveCpuMask()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:820,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:853,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:857,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:861,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:869,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:876,1
    - Dst: reuse_size_classes_v2
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:877,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:880,1
    - Dst: cold_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:883,1
    - Dst: absl::c_binary_search
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:884,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:886,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:893,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 898
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - reuse_size_classes
    - reuse_size_classes_v2
    - absl::c_binary_search
    - IsExpandedSizeClass
    - cold_size_classes
    - ColdFeatureActive
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - class_to_size
    linkageType: ''
    returnType: size_t
    signature: size_t CpuCache<Forwarder>::MaxCapacity(size_t size_class) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_shift_capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - get_shift_capacity
    argTypes:
    - GetShiftMaxCapacity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 916
    functionName: tcmalloc_internal::cpu_cache_internal::EstimateSlabBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - get_shift_capacity
    linkageType: ''
    returnType: std::pair<size_t, size_t>
    signature: "std::pair<size_t, size_t> EstimateSlabBytes(\n    GetShiftMaxCapacity
      get_shift_capacity)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - shift
    argTypes:
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t CpuCache<Forwarder>::GetMaxCapacity(int size_class,\n                                                    uint8_t
      shift) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 928
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetCapacityOfSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::GetCapacityOfSizeClass(\n    int cpu,
      int size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shift
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 934
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: GetShiftMaxCapacity
    signature: "GetShiftMaxCapacity CpuCache<Forwarder>::GetMaxCapacityFunctor(\n
      \   uint8_t shift) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - cap
    argTypes:
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 940
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::UpdateMaxCapacity(int size_class,\n                                                   uint16_t
      cap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 945
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    linkageType: ''
    returnType: bool
    signature: bool CpuCache<Forwarder>::UseWiderSlabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 950
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetPerCpuSlabShiftBounds
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlabShiftBounds
    signature: SlabShiftBounds CpuCache<Forwarder>::GetPerCpuSlabShiftBounds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetDynamicSlabFailedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - madvise_failed_bytes::load
    linkageType: ''
    returnType: size_t
    signature: size_t CpuCache<Forwarder>::GetDynamicSlabFailedBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:960,1
    - Dst: per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:964,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:968,1
    - Dst: NumaShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:969,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:970,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:976,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:977,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:978,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:979,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:986,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:988,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:988,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:995,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:995,1
    - Dst: EstimateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1003,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1006,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1007,1
    - Dst: reinterpret_cast<ResizeInfo*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1012,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1012,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1015,1
    - Dst: ResizeInfo::ResizeInfo
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1018,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1021,1
    - Dst: available::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1023,1
    - Dst: capacity::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1024,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1028,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1029,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1030,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1033,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1036,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 1037
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Activate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - NumaShift
    - ShiftOffset
    - numa_topology
    - NumCPUs
    - TC_CHECK_GE
    - store
    - ResizeInfo::ResizeInfo
    - TC_CHECK_LE
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - reinterpret_cast<ResizeInfo*>
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - active_partitions
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
    - TC_CHECK_EQ
    - Init
    - per_cpu_caches_dynamic_slab_enabled
    - Alloc
    - EstimateSlabBytes
    - TC_BUG
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - capacity::store
    - available::store
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Activate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1041,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1043,1
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1046,1
    - Dst: Dealloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1051
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deactivate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - Destroy
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    - Dealloc
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Deactivate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1056,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1057,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - size_t
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1054
    functionDepth: 1
    functionLinenumber: 1054
    functionLinenumberEnd: 1060
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    - sharded_transfer_cache
    linkageType: ''
    returnType: int
    signature: "int CpuCache<Forwarder>::FetchFromBackingCache(size_t size_class,\n
      \                                                     absl::Span<void*> batch)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1065,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1066,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - size_t
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1071
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    - sharded_transfer_cache
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::ReleaseToBackingCache(\n    size_t size_class,
      absl::Span<void*> batch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1075,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1074
    functionDepth: 2
    functionLinenumber: 1074
    functionLinenumberEnd: 1078
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
    linkageType: ''
    returnType: void
    signature: void * CpuCache<Forwarder>::AllocateSlow(size_t size_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1082,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1083,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1085,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1086,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1087,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1090,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1090,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1092,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1098,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1102,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1104
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - ABSL_PREDICT_FALSE
    - absl::MakeSpan
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - sharded_transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: void * CpuCache<Forwarder>::AllocateSlowNoHooks(size_t size_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1118,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1128,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1129,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1129,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1140,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1117
    functionDepth: 2
    functionLinenumber: 1117
    functionLinenumberEnd: 1147
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
    - PushBatch
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - absl::MakeSpan
    - std::min
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    linkageType: ''
    returnType: void
    signature: void * CpuCache<Forwarder>::Refill(int cpu, size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1154,1
    - Dst: UseShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1156
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - UseShardedCacheForLargeClassesOnly
    - sharded_transfer_cache
    linkageType: ''
    returnType: bool
    signature: bool CpuCache<Forwarder>::BypassCpuCache(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1162,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1162,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1165,1
    - Dst: UseGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1167
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - sharded_transfer_cache
    - UseGenericShardedCache
    linkageType: ''
    returnType: bool
    signature: "bool CpuCache<Forwarder>::UseBackingShardedTransferCache(\n    size_t
      size_class) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min<uint32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1178,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1183,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1199,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - capacity
    - batch_length
    - successive
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1202
    functionName: tcmalloc_internal::cpu_cache_internal::TargetOverflowRefillCount
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    - TC_ASSERT_NE
    - std::min<uint32_t>
    - std::min
    linkageType: ''
    returnType: size_t
    signature: "size_t TargetOverflowRefillCount(size_t capacity, size_t batch_length,\n
      \                                       size_t successive)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1229,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1230,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1230,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1231,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1235,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1237,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1240,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1244,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1250,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1251,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1257,1
    - Dst: TargetOverflowRefillCount
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - cpu
    - size_class
    - overflow
    argTypes:
    - int
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1205
    functionDepth: 2
    functionLinenumber: 1205
    functionLinenumberEnd: 1261
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - std::min
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - RecordMiss
    - absl::base_internal::CycleClock::Now
    - Update
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - store
    - TargetOverflowRefillCount
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    - num_objects_to_move
    - GetShift
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::UpdateCapacity(int cpu, size_t size_class,\n
      \                                                 bool overflow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1265,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1266,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1266,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1267,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1268,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1269,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1271,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1274,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1275,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1280
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - populated::load
    - load
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> CpuCache<Forwarder>::CacheCpuSlab()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1285,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1288,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1288,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1288,1
    - Dst: populated::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1290
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - populated::load
    - populated::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    - InitCpu
    - GetShift
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE CpuCache<Forwarder>::Populate(int cpu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic<size_t>*::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1294,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1299,1
    - Dst: std::atomic<size_t>*::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - a
    - min
    - max
    argTypes:
    - std::atomic<size_t>*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1304
    functionName: tcmalloc_internal::cpu_cache_internal::subtract_at_least
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::atomic<size_t>*::load
    - std::atomic<size_t>*::compare_exchange_weak
    - std::min
    linkageType: ''
    returnType: size_t
    signature: "size_t subtract_at_least(std::atomic<size_t>* a, size_t min,\n                                size_t
      max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1309,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1312,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1314,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1321,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1322,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1324,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1326,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cpu
    - size_class
    - desired_increase
    argTypes:
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1307
    functionDepth: 2
    functionLinenumber: 1307
    functionLinenumberEnd: 1331
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - RecordMiss
    - available::fetch_add
    - TC_ASSERT_GT
    - subtract_at_least
    - TC_ASSERT_LE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    - class_to_size
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::Grow(int cpu, size_t size_class,\n                                      size_t
      desired_increase)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1335,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1339,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1343,1
    - Dst: reclaim_used_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1345,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1350,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1357,1
    - Dst: reclaim_used_bytes::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1368
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TryReclaimingCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    - reclaim_used_bytes::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - reclaim_used_bytes::load
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::TryReclaimingCaches()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1374,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1377,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1382,1
    - Dst: GetAndUpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1386,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1405,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1405,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1405,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1443,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1458,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1460,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1467,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1469,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1485,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1492,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 3
    argNames:
    - start_size_class
    - max_capacity
    - valid_entries
    argTypes:
    - int
    - PerSizeClassMaxCapacity*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1498
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - load
    - std::min<size_t>
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - absl::FixedArray::end
    - NumCPUs
    - std::min
    - std::max
    - std::sort
    - TC_ASSERT_LT
    - absl::FixedArray::begin
    - GetAndUpdateIntervalMisses
    linkageType: ''
    returnType: int
    signature: "int CpuCache<Forwarder>::GetUpdatedMaxCapacities(\n    int start_size_class,
      PerSizeClassMaxCapacity* max_capacity,\n    int valid_entries)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1512,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1513,1
    - Dst: munlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1520,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1524,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1525,1
    - Dst: madvise_failed_bytes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1530,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - slab_addr
    - slab_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1533
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - munlock
    - madvise_failed_bytes::fetch_add
    - madvise
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::MadviseAwaySlabs(void* slab_addr, size_t
      slab_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1538,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1539,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1547,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1548,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1555,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1562,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1563,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1565,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1568,1
    - Dst: lock::Lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1572,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1574,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1578,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1582,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1584,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1584,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1586,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1589,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1592,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1596,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1598,1
    - Dst: lock::Unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1601,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1603,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1536
    functionDepth: 2
    functionLinenumber: 1536
    functionLinenumberEnd: 1607
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClassMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ShiftOffset
    - lock::Lock
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    - numa_topology
    - NumCPUs
    - store
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ArenaUpdateAllocatedAndNonresident
    - AllocReportedImpending
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - GetShift
    - active_partitions
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
    - load
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - std::tie
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
    - lock::Unlock
    - AllocationGuard::AllocationGuard
    - UpdateMaxCapacities
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSizeClassMaxCapacities()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1611,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1614,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1623,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1624,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1627,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1631,1
    - Dst: UpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1636,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1610
    functionDepth: 1
    functionLinenumber: 1610
    functionLinenumberEnd: 1645
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - UpdateIntervalMisses
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - NumCPUs
    - store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSizeClasses()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1649,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1660,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: available::exchange
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1677,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1682,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1682,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1684,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1692,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1693,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1696,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1709,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1713,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1714,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1718,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1719,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1721,1
    - Dst: GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1723,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1725,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1731,1
    - Dst: num_size_class_resizes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1732,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1648
    functionDepth: 2
    functionLinenumber: 1648
    functionLinenumberEnd: 1734
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
    - available::fetch_add
    - std::sort
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - GrowOtherCache
    - GetShift
    - max_capacity
    - absl::FixedArray::end
    - num_objects_to_move
    - TC_ASSERT_GE
    - available::exchange
    - GetIntervalMisses
    - std::min<size_t>
    - available::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    - num_size_class_resizes::fetch_add
    - TC_ASSERT_LT
    - absl::FixedArray::begin
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeCpuSizeClasses(int cpu)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1742,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1750,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1754,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1776,1
    - Dst: std::partial_sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1777,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1777,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1777,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1778,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1788,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1793,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1793,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1794,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1800,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1737
    functionDepth: 1
    functionLinenumber: 1737
    functionLinenumberEnd: 1802
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShuffleCpuCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - static_cast<size_t>
    - NumCPUs
    - std::min
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    - std::partial_sort
    - absl::FixedArray::begin
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ShuffleCpuCaches()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1811,1
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1813,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1840,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1841,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1855,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1859,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1859,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1862,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1874,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1876,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1890,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1891,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1907,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1908,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 4
    argNames:
    - cpu
    - max_populated_cpu
    - skip_cpus
    - bytes
    argTypes:
    - int
    - int
    - absl::Span<CpuMissStat>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1910
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - capacity::fetch_sub
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - available::fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - available::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    - subtract_at_least
    - TC_ASSERT_LE
    - capacity::fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::StealFromOtherCache(\n    int cpu, int max_populated_cpu,
      absl::Span<CpuMissStat> skip_cpus,\n    size_t bytes)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1914,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1914,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1915,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1916,1
    - Dst: lock::IsHeld
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1916,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1917,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1922,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1923,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1924,1
    - Dst: Tick
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1957,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1962,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1965,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1966,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1913
    functionDepth: 2
    functionLinenumber: 1913
    functionLinenumberEnd: 1971
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - num_objects_to_move
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - Length
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - lock::IsHeld
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    - NumCPUs
    - TC_ASSERT
    - TC_ASSERT_EQ
    - Tick
    - class_to_size
    linkageType: ''
    returnType: size_t
    signature: size_t CpuCache<Forwarder>::ShrinkOtherCache(int cpu, size_t size_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1996,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - cpu
    - dest_size_classes
    - bytes
    argTypes:
    - int
    - absl::Span<SizeClassMissStat>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1974
    functionDepth: 3
    functionLinenumber: 1974
    functionLinenumberEnd: 2005
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu(\n
      \   int cpu, absl::Span<SizeClassMissStat> dest_size_classes, size_t bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlowNoHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2009,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 2008
    functionDepth: 2
    functionLinenumber: 2008
    functionLinenumberEnd: 2011
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlowNoHooks
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::DeallocateSlow(void* ptr, size_t size_class)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2015,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2016,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2018,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2019,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2020,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2022,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2024,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2028,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2029,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2035,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2037,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2042,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2042,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2014
    functionDepth: 3
    functionLinenumber: 2014
    functionLinenumberEnd: 2046
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlowNoHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - sharded_transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    - std::min
    - PopBatch
    - absl::Span<void*>
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::DeallocateSlowNoHooks(void* ptr, size_t size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2050,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2051,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2057,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2049
    functionDepth: 1
    functionLinenumber: 2049
    functionLinenumberEnd: 2061
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocated
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - class_to_size
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - TC_ASSERT_GE
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::Allocated(int target_cpu) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2065,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2066,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2072,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2064
    functionDepth: 1
    functionLinenumber: 2064
    functionLinenumberEnd: 2076
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - class_to_size
    - TC_ASSERT_GE
    - Length
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::UsedBytes(int target_cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2080,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2079
    functionDepth: 1
    functionLinenumber: 2079
    functionLinenumberEnd: 2082
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - populated::load
    - TC_ASSERT_GE
    linkageType: ''
    returnType: bool
    signature: bool CpuCache<Forwarder>::HasPopulated(int target_cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2086,1
    - Dst: populated_physical_cpu::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2085
    functionDepth: 1
    functionLinenumber: 2085
    functionLinenumberEnd: 2089
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - populated_physical_cpu::load
    - TC_ASSERT_GE
    linkageType: ''
    returnType: bool
    signature: bool CpuCache<Forwarder>::HasPhysicalPopulated(int target_cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2092
    functionDepth: 1
    functionLinenumber: 2092
    functionLinenumberEnd: 2094
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MetadataMemoryUsage
    linkageType: ''
    returnType: PerCPUMetadataState
    signature: PerCPUMetadataState CpuCache<Forwarder>::MetadataMemoryUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2099,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2097
    functionDepth: 2
    functionLinenumber: 2097
    functionLinenumberEnd: 2103
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalUsedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::TotalUsedBytes() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2108,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2111,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2106
    functionDepth: 2
    functionLinenumber: 2106
    functionLinenumberEnd: 2119
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalObjectsOfClass
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - Length
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t CpuCache<Forwarder>::TotalObjectsOfClass(\n    size_t size_class)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2124
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - available::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::Unallocated(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2129
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - capacity::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::Capacity(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2132
    functionDepth: 0
    functionLinenumber: 2132
    functionLinenumberEnd: 2134
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::CacheLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2140
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::SetCacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::SetCacheLimit(uint64_t v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2146,1
    - Dst: forwarder_::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2148,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2152,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2155,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2156,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - cpu
    - size_class
    - batch
    - count
    - cap
    argTypes:
    - int
    - size_t
    - void**
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2158
    functionName: "operator()(int cpu, size_t size_class, void** batch, size_t count,\n
      \                 size_t cap) const"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - available::fetch_add
    - ReleaseToBackingCache
    - forwarder_::class_to_size
    - std::min
    - absl::Span<void*>
    - forwarder_::num_objects_to_move
    linkageType: ''
    returnType: void
    signature: "void operator()(int cpu, size_t size_class, void** batch, size_t count,\n
      \                 size_t cap) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2171,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2176,1
    - Dst: num_reclaims::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2179,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2180,1
    - Dst: last_reclaim::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2182,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2165
    functionDepth: 2
    functionLinenumber: 2165
    functionLinenumberEnd: 2186
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - num_reclaims::load
    - num_reclaims::store
    - Drain
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - last_reclaim::store
    - absl::base_internal::CycleClock::Now
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::Reclaim(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_size_class_resizes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2188
    functionDepth: 0
    functionLinenumber: 2188
    functionLinenumberEnd: 2190
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - num_size_class_resizes::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::GetNumResizes(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2195,1
    - Dst: num_size_class_resizes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2200
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - NumCPUs
    - num_size_class_resizes::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::GetNumResizes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2205
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - num_reclaims::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::GetNumReclaims(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2210,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2208
    functionDepth: 0
    functionLinenumber: 2208
    functionLinenumberEnd: 2214
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - num_reclaims::load
    - NumCPUs
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::GetNumReclaims() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2221,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2222,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2224,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2226,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2233,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2235,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - alloc
    - shift
    - num_cpus
    - shift_offset
    - resize_offset
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - subtle::percpu::Shift
    - int
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2217
    functionDepth: 1
    functionLinenumber: 2217
    functionLinenumberEnd: 2240
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - GetSlabsAllocSize
    - alloc
    - ANNOTATE_MEMORY_IS_INITIALIZED
    - TC_ASSERT_LT
    - madvise
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> CpuCache<Forwarder>::AllocOrReuseSlabs(\n
      \   absl::FunctionRef<void*(size_t, std::align_val_t)> alloc,\n    subtle::percpu::Shift
      shift, int num_cpus, uint8_t shift_offset,\n    uint8_t resize_offset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2245,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2248,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2251,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2259,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2278,1
    - Dst: per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2243
    functionDepth: 2
    functionLinenumber: 2243
    functionLinenumberEnd: 2287
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - per_cpu_caches_dynamic_slab_grow_threshold
    - per_cpu_caches_dynamic_slab_shrink_threshold
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::DynamicSlabResize
    signature: typename CpuCache<Forwarder>::DynamicSlabResize CpuCache<Forwarder>::ShouldResizeSlab()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2291,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2293,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2294,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2300,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2299,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2306,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2305,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2312,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2314,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2317,1
    - Dst: lock::Lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2319,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2322,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2326,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2329,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2329,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2331,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2334,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2335,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2338,1
    - Dst: lock::Unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2341,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2343,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2290
    functionDepth: 3
    functionLinenumber: 2290
    functionLinenumberEnd: 2347
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSlabIfNeeded
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ArenaUpdateAllocatedAndNonresident
    - load
    - AllocReportedImpending
    - ResizeSlabs
    - ShiftOffset
    - lock::Unlock
    - lock::Lock
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    - fetch_add
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
    - std::tie
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - GetShift
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSlabIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2355,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - is_alloc
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2356
      start: 2350
    functionDepth: 0
    functionLinenumber: 2350
    functionLinenumberEnd: 2356
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - load
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::RecordCacheMissStat(const int cpu,\n                                                     const
      bool is_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2362,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2367
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::CpuCacheMissStats
    signature: typename CpuCache<Forwarder>::CpuCacheMissStats CpuCache<Forwarder>::GetTotalCacheMissStats(int
      cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2373,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2370
    functionDepth: 1
    functionLinenumber: 2370
    functionLinenumberEnd: 2376
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - NumCPUs
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::CpuCacheMissStats
    signature: typename CpuCache<Forwarder>::CpuCacheMissStats CpuCache<Forwarder>::GetTotalCacheMissStats()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2382,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2383,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2386,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2388,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2392,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2379
    functionDepth: 1
    functionLinenumber: 2379
    functionLinenumberEnd: 2394
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - load
    - TC_ASSERT_LT
    - get_safe_miss_diff
    - TC_ASSERT_NE
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::CpuCacheMissStats
    signature: "typename CpuCache<Forwarder>::CpuCacheMissStats CpuCache<Forwarder>::GetIntervalCacheMissStats(int
      cpu,\n                                               MissCount miss_count) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2399,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2405,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2397
    functionDepth: 1
    functionLinenumber: 2397
    functionLinenumberEnd: 2409
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::UpdateIntervalCacheMissStats(int cpu,\n
      \                                                      MissCount miss_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2417,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2412
    functionDepth: 2
    functionLinenumber: 2412
    functionLinenumberEnd: 2420
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::CpuCacheMissStats
    signature: "typename CpuCache<Forwarder>::CpuCacheMissStats CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats(int
      cpu,\n                                                        MissCount miss_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cpu
    - size_class
    - total_type
    - interval_type
    argTypes:
    - int
    - size_t
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2423
    functionDepth: 0
    functionLinenumber: 2423
    functionLinenumberEnd: 2428
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalSizeClassMisses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - GetIntervalMisses
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::GetIntervalSizeClassMisses(\n    int cpu,
      size_t size_class, PerClassMissType total_type,\n    PerClassMissType interval_type)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2439,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2440,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2444,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2446,1
    - Dst: last_reclaim::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2453,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2456,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2459,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2462,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2463,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2464,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2481,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2483,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2502,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2431
    functionDepth: 2
    functionLinenumber: 2431
    functionLinenumberEnd: 2511
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - GetIntervalMisses
    - load
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - absl::base_internal::CycleClock::Now
    - NumCPUs
    - last_reclaim::load
    - std::min
    - std::max
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::SizeClassCapacityStats
    signature: typename CpuCache<Forwarder>::SizeClassCapacityStats CpuCache<Forwarder>::GetSizeClassCapacityStats(size_t
      size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2515,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2516,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2517,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2518,1
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2520,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2521,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2526,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2527,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2528,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2529,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2530,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2535,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2539,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2540,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2541,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2544,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2545,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2552,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2554,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2554,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2556,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2558,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2560,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2562,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2566,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2567,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2568,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2571,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2577,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2580,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2583,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2585,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2589,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2590,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2592,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2595,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2596,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2599,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2601,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2604
      start: 2514
    functionDepth: 3
    functionLinenumber: 2514
    functionLinenumberEnd: 2604
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    - printf
    - NumCPUs
    - madvise_failed_bytes::load
    - absl::ToInt64Microseconds
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - CpuSet::IsSet
    - GetShift
    - print_miss_stats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    - load
    - FillActiveCpuMask
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - safe_div
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Print(Printer& out) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2608,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2611,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2612,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2613,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2614,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2615,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2619,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2620,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2621,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2622,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2623,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2624,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2625,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2626,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2626,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2627,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2628,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2629,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2630,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2631,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2634,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2638,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2639,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2640,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2640,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2641,1
    - Dst: PbtxtRegion::PrintDouble
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2642,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2643,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2644,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2645,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2645,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2647,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2648,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2649,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2650,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2651,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2652,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2653,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2654,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2655,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2659,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2659,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2661,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2662,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2663,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2663,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2665,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2665,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2668,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2607
    functionDepth: 3
    functionLinenumber: 2607
    functionLinenumberEnd: 2671
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    - NumCPUs
    - madvise_failed_bytes::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - CpuSet::IsSet
    - GetShift
    - PbtxtRegion::PrintDouble
    - CreateSubRegion
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    - load
    - PrintI64
    - PbtxtRegion::PrintBool
    - absl::ToInt64Nanoseconds
    - FillActiveCpuMask
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::PrintInPbtxt(PbtxtRegion& region) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2676
    functionName: CpuCache<Forwarder>::PerClassResizeInfo::Init()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::PerClassResizeInfo::Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2681,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2683,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2691,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - overflow
    - grow
    - successive
    argTypes:
    - bool
    - bool
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2695
      start: 2679
    functionDepth: 0
    functionLinenumber: 2679
    functionLinenumberEnd: 2695
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::Update(\n    bool overflow,
      bool grow, uint32_t* successive)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - memcpy
    - load
    - store
    linkageType: ''
    returnType: bool
    signature: "bool CpuCache<Forwarder>::PerClassResizeInfo::Update(\n    bool overflow,
      bool grow, uint32_t* successive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2699,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2701,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2703,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2706
    functionName: CpuCache<Forwarder>::PerClassResizeInfo::Tick()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - memcpy
    - load
    - store
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CpuCache<Forwarder>::PerClassResizeInfo::Tick()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2712,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2709
    functionDepth: 0
    functionLinenumber: 2709
    functionLinenumberEnd: 2713
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::RecordMiss(\n    PerClassMissType
      type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::PerClassResizeInfo::RecordMiss(\n    PerClassMissType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2719
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::GetTotalMisses(\n    PerClassMissType
      type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::PerClassResizeInfo::GetTotalMisses(\n
      \   PerClassMissType type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2725,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2726,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2729,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2731,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2722
    functionDepth: 1
    functionLinenumber: 2722
    functionLinenumberEnd: 2735
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::GetAndUpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - TC_ASSERT_LT
    - store
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::PerClassResizeInfo::GetAndUpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2740,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2741,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2744,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2749
      start: 2738
    functionDepth: 1
    functionLinenumber: 2738
    functionLinenumberEnd: 2749
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::GetIntervalMisses(\n    PerClassMissType
      total_type, PerClassMissType interval_type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - TC_ASSERT_LT
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::PerClassResizeInfo::GetIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTotalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2754,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2761
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - GetTotalMisses
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:96,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:96,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - arena
    - TC_ASSERT
    - IsInited
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:105,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:105,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:111,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - arena
    - static_cast<int64_t>
    - TC_ASSERT
    - IsInited
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - size
    - alignment
    argTypes:
    - void*
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::Dealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: void Dealloc(void* ptr, size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:122,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:122,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:127,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:127,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - Length
    - arena
    - page_allocator
    - IsInited
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
    linkageType: ''
    returnType: bool
    signature: bool per_cpu_caches_dynamic_slab_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_grow_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_shrink_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::reuse_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - size_class_configuration
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::reuse_size_classes_v2
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - size_class_configuration
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes_v2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: absl::Span<const size_t>
    signature: absl::Span<const size_t> cold_size_classes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: '& numa_topology()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: '& sharded_transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: ShardedTransferCacheManager
    signature: ShardedTransferCacheManager & sharded_transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: '& transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - transfer_cache
    linkageType: ''
    returnType: TransferCacheManager
    signature: TransferCacheManager & transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: bool
    signature: bool UseGenericShardedCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: bool
    signature: bool UseShardedCacheForLargeClassesOnly()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: bool
    signature: bool UseWiderSlabs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
    linkageType: ''
    returnType: bool
    signature: bool HaveHooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_aware
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:197,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:198,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' topology'
    argTypes:
    - NumaTopology
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::cpu_cache_internal::NumaShift
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - absl::bit_ceil
    - active_partitions
    - numa_aware
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t NumaShift(const NumaTopology& topology)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - shift
    - initial_shift
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: tcmalloc_internal::cpu_cache_internal::ShiftOffset
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ShiftOffset(uint8_t shift, uint8_t initial_shift)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:217,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:220,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:221,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 232
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - TC_ASSERT_GE
    - tcmalloc_internal::max
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - CpuCacheMissStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: '& operator+=(const CpuCacheMissStats rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CpuCacheMissStats
    signature: CpuCacheMissStats & operator+=(const CpuCacheMissStats rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache::CpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CpuCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 502
    functionName: '& forwarder() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 504
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: '& operator[](PerClassMissType type)'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: std::atomic<size_t>
    signature: std::atomic<size_t> & operator[](PerClassMissType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - miss_count
    argTypes:
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: '& operator[](MissCount miss_count)'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: std::atomic<size_t>
    signature: std::atomic<size_t> & operator[](MissCount miss_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 610
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache::ResizeInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ResizeInfo
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:753,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 758
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: void * CpuCache<Forwarder>::Allocate(size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:763,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - Pop
    - TC_ASSERT_GT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * CpuCache<Forwarder>::AllocateFast(\n
      \   size_t size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:769,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Deallocate(void* ptr, size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:777,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 779
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - Push
    - TC_ASSERT_GT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE CpuCache<Forwarder>::DeallocateFast(\n
      \   void* ptr, size_t size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:783,1
    - Dst: HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:783,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 786
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - UncacheCpuSlab
    - HaveHooks
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::MaybeForceSlowPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:790,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:791,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:795,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:804,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:805,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 810
    functionName: tcmalloc_internal::cpu_cache_internal::FillActiveCpuMask
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - CpuSet::GetAffinity
    - CpuSet::Zero
    - CpuSet::Count
    - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    linkageType: ''
    returnType: CpuSet
    signature: CpuSet FillActiveCpuMask()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:820,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:853,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:857,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:861,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:869,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:876,1
    - Dst: reuse_size_classes_v2
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:877,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:880,1
    - Dst: cold_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:883,1
    - Dst: absl::c_binary_search
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:884,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:886,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:893,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 898
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - reuse_size_classes
    - reuse_size_classes_v2
    - absl::c_binary_search
    - IsExpandedSizeClass
    - cold_size_classes
    - ColdFeatureActive
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - class_to_size
    linkageType: ''
    returnType: size_t
    signature: size_t CpuCache<Forwarder>::MaxCapacity(size_t size_class) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_shift_capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - get_shift_capacity
    argTypes:
    - GetShiftMaxCapacity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 916
    functionName: tcmalloc_internal::cpu_cache_internal::EstimateSlabBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - get_shift_capacity
    linkageType: ''
    returnType: std::pair<size_t, size_t>
    signature: "std::pair<size_t, size_t> EstimateSlabBytes(\n    GetShiftMaxCapacity
      get_shift_capacity)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - shift
    argTypes:
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t CpuCache<Forwarder>::GetMaxCapacity(int size_class,\n                                                    uint8_t
      shift) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 928
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetCapacityOfSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::GetCapacityOfSizeClass(\n    int cpu,
      int size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shift
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 934
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: GetShiftMaxCapacity
    signature: "GetShiftMaxCapacity CpuCache<Forwarder>::GetMaxCapacityFunctor(\n
      \   uint8_t shift) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - cap
    argTypes:
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 940
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::UpdateMaxCapacity(int size_class,\n                                                   uint16_t
      cap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 945
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    linkageType: ''
    returnType: bool
    signature: bool CpuCache<Forwarder>::UseWiderSlabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 950
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetPerCpuSlabShiftBounds
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlabShiftBounds
    signature: SlabShiftBounds CpuCache<Forwarder>::GetPerCpuSlabShiftBounds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetDynamicSlabFailedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - madvise_failed_bytes::load
    linkageType: ''
    returnType: size_t
    signature: size_t CpuCache<Forwarder>::GetDynamicSlabFailedBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:960,1
    - Dst: per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:964,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:968,1
    - Dst: NumaShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:969,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:970,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:976,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:977,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:978,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:979,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:986,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:988,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:988,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:995,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:995,1
    - Dst: EstimateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1003,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1006,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1007,1
    - Dst: reinterpret_cast<ResizeInfo*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1012,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1012,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1015,1
    - Dst: ResizeInfo::ResizeInfo
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1018,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1021,1
    - Dst: available::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1023,1
    - Dst: capacity::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1024,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1028,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1029,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1030,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1033,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1036,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 1037
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Activate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - NumaShift
    - ShiftOffset
    - numa_topology
    - NumCPUs
    - TC_CHECK_GE
    - store
    - ResizeInfo::ResizeInfo
    - TC_CHECK_LE
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - reinterpret_cast<ResizeInfo*>
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - active_partitions
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
    - TC_CHECK_EQ
    - Init
    - per_cpu_caches_dynamic_slab_enabled
    - Alloc
    - EstimateSlabBytes
    - TC_BUG
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - capacity::store
    - available::store
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Activate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1041,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1043,1
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1046,1
    - Dst: Dealloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1040
    functionDepth: 3
    functionLinenumber: 1040
    functionLinenumberEnd: 1051
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deactivate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - Destroy
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    - Dealloc
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Deactivate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1056,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1057,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - size_t
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1054
    functionDepth: 2
    functionLinenumber: 1054
    functionLinenumberEnd: 1060
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    - sharded_transfer_cache
    linkageType: ''
    returnType: int
    signature: "int CpuCache<Forwarder>::FetchFromBackingCache(size_t size_class,\n
      \                                                     absl::Span<void*> batch)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1065,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1066,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - size_t
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1063
    functionDepth: 2
    functionLinenumber: 1063
    functionLinenumberEnd: 1071
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    - sharded_transfer_cache
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::ReleaseToBackingCache(\n    size_t size_class,
      absl::Span<void*> batch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1075,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1074
    functionDepth: 3
    functionLinenumber: 1074
    functionLinenumberEnd: 1078
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
    linkageType: ''
    returnType: void
    signature: void * CpuCache<Forwarder>::AllocateSlow(size_t size_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1082,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1083,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1085,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1086,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1087,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1090,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1090,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1092,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1098,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1102,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1081
    functionDepth: 3
    functionLinenumber: 1081
    functionLinenumberEnd: 1104
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - ABSL_PREDICT_FALSE
    - absl::MakeSpan
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - sharded_transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: void * CpuCache<Forwarder>::AllocateSlowNoHooks(size_t size_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1118,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1128,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1129,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1129,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1140,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1117
    functionDepth: 3
    functionLinenumber: 1117
    functionLinenumberEnd: 1147
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
    - PushBatch
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - absl::MakeSpan
    - std::min
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    linkageType: ''
    returnType: void
    signature: void * CpuCache<Forwarder>::Refill(int cpu, size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1154,1
    - Dst: UseShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1156
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - UseShardedCacheForLargeClassesOnly
    - sharded_transfer_cache
    linkageType: ''
    returnType: bool
    signature: bool CpuCache<Forwarder>::BypassCpuCache(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1162,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1162,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1165,1
    - Dst: UseGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1167
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - TC_ASSERT
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - sharded_transfer_cache
    - UseGenericShardedCache
    linkageType: ''
    returnType: bool
    signature: "bool CpuCache<Forwarder>::UseBackingShardedTransferCache(\n    size_t
      size_class) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min<uint32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1178,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1183,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1199,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - capacity
    - batch_length
    - successive
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1202
    functionName: tcmalloc_internal::cpu_cache_internal::TargetOverflowRefillCount
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    - TC_ASSERT_NE
    - std::min<uint32_t>
    - std::min
    linkageType: ''
    returnType: size_t
    signature: "size_t TargetOverflowRefillCount(size_t capacity, size_t batch_length,\n
      \                                       size_t successive)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1229,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1230,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1230,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1231,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1235,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1237,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1240,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1244,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1250,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1251,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1257,1
    - Dst: TargetOverflowRefillCount
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - cpu
    - size_class
    - overflow
    argTypes:
    - int
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1205
    functionDepth: 3
    functionLinenumber: 1205
    functionLinenumberEnd: 1261
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - std::min
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - RecordMiss
    - absl::base_internal::CycleClock::Now
    - Update
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - store
    - TargetOverflowRefillCount
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    - num_objects_to_move
    - GetShift
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::UpdateCapacity(int cpu, size_t size_class,\n
      \                                                 bool overflow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1265,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1266,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1266,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1267,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1268,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1269,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1271,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1274,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1275,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1264
    functionDepth: 2
    functionLinenumber: 1264
    functionLinenumberEnd: 1280
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - populated::load
    - load
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> CpuCache<Forwarder>::CacheCpuSlab()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1285,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1288,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1288,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1288,1
    - Dst: populated::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1290
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - populated::load
    - populated::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    - InitCpu
    - GetShift
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE CpuCache<Forwarder>::Populate(int cpu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic<size_t>*::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1294,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1299,1
    - Dst: std::atomic<size_t>*::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - a
    - min
    - max
    argTypes:
    - std::atomic<size_t>*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1304
    functionName: tcmalloc_internal::cpu_cache_internal::subtract_at_least
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::atomic<size_t>*::load
    - std::atomic<size_t>*::compare_exchange_weak
    - std::min
    linkageType: ''
    returnType: size_t
    signature: "size_t subtract_at_least(std::atomic<size_t>* a, size_t min,\n                                size_t
      max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1309,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1312,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1314,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1321,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1322,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1324,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1326,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cpu
    - size_class
    - desired_increase
    argTypes:
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1307
    functionDepth: 2
    functionLinenumber: 1307
    functionLinenumberEnd: 1331
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - RecordMiss
    - available::fetch_add
    - TC_ASSERT_GT
    - subtract_at_least
    - TC_ASSERT_LE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    - class_to_size
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::Grow(int cpu, size_t size_class,\n                                      size_t
      desired_increase)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1335,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1339,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1343,1
    - Dst: reclaim_used_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1345,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1350,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1357,1
    - Dst: reclaim_used_bytes::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1334
    functionDepth: 3
    functionLinenumber: 1334
    functionLinenumberEnd: 1368
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TryReclaimingCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    - reclaim_used_bytes::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - reclaim_used_bytes::load
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::TryReclaimingCaches()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1374,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1377,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1382,1
    - Dst: GetAndUpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1386,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1405,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1405,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1405,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1443,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1458,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1460,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1467,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1469,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1485,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1492,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 3
    argNames:
    - start_size_class
    - max_capacity
    - valid_entries
    argTypes:
    - int
    - PerSizeClassMaxCapacity*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1371
    functionDepth: 2
    functionLinenumber: 1371
    functionLinenumberEnd: 1498
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - num_objects_to_move
    - load
    - std::min<size_t>
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - absl::FixedArray::end
    - NumCPUs
    - std::min
    - std::max
    - std::sort
    - TC_ASSERT_LT
    - absl::FixedArray::begin
    - GetAndUpdateIntervalMisses
    linkageType: ''
    returnType: int
    signature: "int CpuCache<Forwarder>::GetUpdatedMaxCapacities(\n    int start_size_class,
      PerSizeClassMaxCapacity* max_capacity,\n    int valid_entries)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1512,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1513,1
    - Dst: munlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1520,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1524,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1525,1
    - Dst: madvise_failed_bytes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1530,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - slab_addr
    - slab_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1533
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - munlock
    - madvise_failed_bytes::fetch_add
    - madvise
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::MadviseAwaySlabs(void* slab_addr, size_t
      slab_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1538,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1539,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1547,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1548,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1555,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1562,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1563,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1565,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1568,1
    - Dst: lock::Lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1572,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1574,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1578,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1582,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1584,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1584,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1586,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1589,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1592,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1596,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1598,1
    - Dst: lock::Unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1601,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1603,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1536
    functionDepth: 2
    functionLinenumber: 1536
    functionLinenumberEnd: 1607
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClassMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ShiftOffset
    - lock::Lock
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    - numa_topology
    - NumCPUs
    - store
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ArenaUpdateAllocatedAndNonresident
    - AllocReportedImpending
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - GetShift
    - active_partitions
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
    - load
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - std::tie
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
    - lock::Unlock
    - AllocationGuard::AllocationGuard
    - UpdateMaxCapacities
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSizeClassMaxCapacities()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1611,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1614,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1623,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1624,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1627,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1631,1
    - Dst: UpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1636,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1610
    functionDepth: 3
    functionLinenumber: 1610
    functionLinenumberEnd: 1645
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - UpdateIntervalMisses
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - NumCPUs
    - store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSizeClasses()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1649,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1660,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: available::exchange
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1677,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1682,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1682,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1684,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1692,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1693,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1696,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1709,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1713,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1714,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1718,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1719,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1721,1
    - Dst: GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1723,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1725,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1731,1
    - Dst: num_size_class_resizes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1732,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1648
    functionDepth: 4
    functionLinenumber: 1648
    functionLinenumberEnd: 1734
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
    - available::fetch_add
    - std::sort
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - GrowOtherCache
    - GetShift
    - max_capacity
    - absl::FixedArray::end
    - num_objects_to_move
    - TC_ASSERT_GE
    - available::exchange
    - GetIntervalMisses
    - std::min<size_t>
    - available::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    - num_size_class_resizes::fetch_add
    - TC_ASSERT_LT
    - absl::FixedArray::begin
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeCpuSizeClasses(int cpu)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1742,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1750,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1754,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1776,1
    - Dst: std::partial_sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1777,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1777,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1777,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1778,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1788,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1793,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1793,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1794,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1800,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1737
    functionDepth: 2
    functionLinenumber: 1737
    functionLinenumberEnd: 1802
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShuffleCpuCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - static_cast<size_t>
    - NumCPUs
    - std::min
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    - std::partial_sort
    - absl::FixedArray::begin
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ShuffleCpuCaches()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1811,1
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1813,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1840,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1841,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1855,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1859,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1859,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1862,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1874,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1876,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1890,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1891,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1907,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1908,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 4
    argNames:
    - cpu
    - max_populated_cpu
    - skip_cpus
    - bytes
    argTypes:
    - int
    - int
    - absl::Span<CpuMissStat>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1805
    functionDepth: 3
    functionLinenumber: 1805
    functionLinenumberEnd: 1910
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - capacity::fetch_sub
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - available::fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - available::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    - subtract_at_least
    - TC_ASSERT_LE
    - capacity::fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::StealFromOtherCache(\n    int cpu, int max_populated_cpu,
      absl::Span<CpuMissStat> skip_cpus,\n    size_t bytes)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1914,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1914,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1915,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1916,1
    - Dst: lock::IsHeld
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1916,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1917,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1922,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1923,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1924,1
    - Dst: Tick
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1957,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1962,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1965,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1966,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1913
    functionDepth: 2
    functionLinenumber: 1913
    functionLinenumberEnd: 1971
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - num_objects_to_move
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - Length
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - lock::IsHeld
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    - NumCPUs
    - TC_ASSERT
    - TC_ASSERT_EQ
    - Tick
    - class_to_size
    linkageType: ''
    returnType: size_t
    signature: size_t CpuCache<Forwarder>::ShrinkOtherCache(int cpu, size_t size_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1996,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - cpu
    - dest_size_classes
    - bytes
    argTypes:
    - int
    - absl::Span<SizeClassMissStat>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1974
    functionDepth: 3
    functionLinenumber: 1974
    functionLinenumberEnd: 2005
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu(\n
      \   int cpu, absl::Span<SizeClassMissStat> dest_size_classes, size_t bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlowNoHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2009,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 2008
    functionDepth: 4
    functionLinenumber: 2008
    functionLinenumberEnd: 2011
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlowNoHooks
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::DeallocateSlow(void* ptr, size_t size_class)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2015,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2016,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2018,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2019,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2020,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2022,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2024,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2028,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2029,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2035,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2037,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2042,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2042,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2014
    functionDepth: 3
    functionLinenumber: 2014
    functionLinenumberEnd: 2046
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlowNoHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - sharded_transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    - std::min
    - PopBatch
    - absl::Span<void*>
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::DeallocateSlowNoHooks(void* ptr, size_t size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2050,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2051,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2057,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2049
    functionDepth: 2
    functionLinenumber: 2049
    functionLinenumberEnd: 2061
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocated
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - class_to_size
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - TC_ASSERT_GE
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::Allocated(int target_cpu) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2065,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2066,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2072,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2064
    functionDepth: 2
    functionLinenumber: 2064
    functionLinenumberEnd: 2076
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - class_to_size
    - TC_ASSERT_GE
    - Length
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::UsedBytes(int target_cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2080,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2079
    functionDepth: 1
    functionLinenumber: 2079
    functionLinenumberEnd: 2082
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 22
    functionsReached:
    - populated::load
    - TC_ASSERT_GE
    linkageType: ''
    returnType: bool
    signature: bool CpuCache<Forwarder>::HasPopulated(int target_cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2086,1
    - Dst: populated_physical_cpu::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2085
    functionDepth: 1
    functionLinenumber: 2085
    functionLinenumberEnd: 2089
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - populated_physical_cpu::load
    - TC_ASSERT_GE
    linkageType: ''
    returnType: bool
    signature: bool CpuCache<Forwarder>::HasPhysicalPopulated(int target_cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2092
    functionDepth: 1
    functionLinenumber: 2092
    functionLinenumberEnd: 2094
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MetadataMemoryUsage
    linkageType: ''
    returnType: PerCPUMetadataState
    signature: PerCPUMetadataState CpuCache<Forwarder>::MetadataMemoryUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2099,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2097
    functionDepth: 2
    functionLinenumber: 2097
    functionLinenumberEnd: 2103
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalUsedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::TotalUsedBytes() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2108,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2111,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2106
    functionDepth: 2
    functionLinenumber: 2106
    functionLinenumberEnd: 2119
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalObjectsOfClass
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - Length
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t CpuCache<Forwarder>::TotalObjectsOfClass(\n    size_t size_class)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2124
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - available::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::Unallocated(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2129
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 13
    functionsReached:
    - capacity::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::Capacity(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2132
    functionDepth: 0
    functionLinenumber: 2132
    functionLinenumberEnd: 2134
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 7
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::CacheLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2140
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::SetCacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::SetCacheLimit(uint64_t v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2146,1
    - Dst: forwarder_::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2148,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2152,1
    - Dst: tcmalloc_internal::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2155,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2156,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - cpu
    - size_class
    - batch
    - count
    - cap
    argTypes:
    - int
    - size_t
    - void**
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2144
    functionDepth: 1
    functionLinenumber: 2144
    functionLinenumberEnd: 2158
    functionName: "operator()(int cpu, size_t size_class, void** batch, size_t count,\n
      \                 size_t cap) const"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - available::fetch_add
    - tcmalloc_internal::min
    - ReleaseToBackingCache
    - forwarder_::class_to_size
    - absl::Span<void*>
    - forwarder_::num_objects_to_move
    linkageType: ''
    returnType: void
    signature: "void operator()(int cpu, size_t size_class, void** batch, size_t count,\n
      \                 size_t cap) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2171,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2176,1
    - Dst: num_reclaims::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2179,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2180,1
    - Dst: last_reclaim::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2182,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2165
    functionDepth: 2
    functionLinenumber: 2165
    functionLinenumberEnd: 2186
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - num_reclaims::load
    - num_reclaims::store
    - Drain
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - last_reclaim::store
    - absl::base_internal::CycleClock::Now
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::Reclaim(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_size_class_resizes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2188
    functionDepth: 0
    functionLinenumber: 2188
    functionLinenumberEnd: 2190
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - num_size_class_resizes::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::GetNumResizes(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2195,1
    - Dst: num_size_class_resizes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2200
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - NumCPUs
    - num_size_class_resizes::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::GetNumResizes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2205
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - num_reclaims::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::GetNumReclaims(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2210,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2208
    functionDepth: 0
    functionLinenumber: 2208
    functionLinenumberEnd: 2214
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - num_reclaims::load
    - NumCPUs
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::GetNumReclaims() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2221,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2222,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2224,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2226,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2233,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2235,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - alloc
    - shift
    - num_cpus
    - shift_offset
    - resize_offset
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - subtle::percpu::Shift
    - int
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2217
    functionDepth: 1
    functionLinenumber: 2217
    functionLinenumberEnd: 2240
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - GetSlabsAllocSize
    - alloc
    - ANNOTATE_MEMORY_IS_INITIALIZED
    - TC_ASSERT_LT
    - madvise
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> CpuCache<Forwarder>::AllocOrReuseSlabs(\n
      \   absl::FunctionRef<void*(size_t, std::align_val_t)> alloc,\n    subtle::percpu::Shift
      shift, int num_cpus, uint8_t shift_offset,\n    uint8_t resize_offset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2245,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2248,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2251,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2259,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2278,1
    - Dst: per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2243
    functionDepth: 3
    functionLinenumber: 2243
    functionLinenumberEnd: 2287
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - per_cpu_caches_dynamic_slab_grow_threshold
    - per_cpu_caches_dynamic_slab_shrink_threshold
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::DynamicSlabResize
    signature: typename CpuCache<Forwarder>::DynamicSlabResize CpuCache<Forwarder>::ShouldResizeSlab()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2291,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2293,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2294,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2300,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2299,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2306,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2305,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2312,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2314,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2317,1
    - Dst: lock::Lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2319,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2322,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2326,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2329,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2329,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2331,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2334,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2335,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2338,1
    - Dst: lock::Unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2341,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2343,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2290
    functionDepth: 3
    functionLinenumber: 2290
    functionLinenumberEnd: 2347
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSlabIfNeeded
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ArenaUpdateAllocatedAndNonresident
    - load
    - AllocReportedImpending
    - ResizeSlabs
    - ShiftOffset
    - lock::Unlock
    - lock::Lock
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    - fetch_add
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
    - std::tie
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - GetShift
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSlabIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2355,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - is_alloc
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2356
      start: 2350
    functionDepth: 0
    functionLinenumber: 2350
    functionLinenumberEnd: 2356
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - load
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::RecordCacheMissStat(const int cpu,\n                                                     const
      bool is_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2362,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2367
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - load
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::CpuCacheMissStats
    signature: typename CpuCache<Forwarder>::CpuCacheMissStats CpuCache<Forwarder>::GetTotalCacheMissStats(int
      cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2373,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2370
    functionDepth: 1
    functionLinenumber: 2370
    functionLinenumberEnd: 2376
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - NumCPUs
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::CpuCacheMissStats
    signature: typename CpuCache<Forwarder>::CpuCacheMissStats CpuCache<Forwarder>::GetTotalCacheMissStats()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2382,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2383,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2386,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2388,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2392,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2379
    functionDepth: 1
    functionLinenumber: 2379
    functionLinenumberEnd: 2394
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - load
    - TC_ASSERT_LT
    - get_safe_miss_diff
    - TC_ASSERT_NE
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::CpuCacheMissStats
    signature: "typename CpuCache<Forwarder>::CpuCacheMissStats CpuCache<Forwarder>::GetIntervalCacheMissStats(int
      cpu,\n                                               MissCount miss_count) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2399,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2405,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2397
    functionDepth: 1
    functionLinenumber: 2397
    functionLinenumberEnd: 2409
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::UpdateIntervalCacheMissStats(int cpu,\n
      \                                                      MissCount miss_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2417,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2412
    functionDepth: 2
    functionLinenumber: 2412
    functionLinenumberEnd: 2420
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::CpuCacheMissStats
    signature: "typename CpuCache<Forwarder>::CpuCacheMissStats CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats(int
      cpu,\n                                                        MissCount miss_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cpu
    - size_class
    - total_type
    - interval_type
    argTypes:
    - int
    - size_t
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2423
    functionDepth: 0
    functionLinenumber: 2423
    functionLinenumberEnd: 2428
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalSizeClassMisses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - GetIntervalMisses
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::GetIntervalSizeClassMisses(\n    int cpu,
      size_t size_class, PerClassMissType total_type,\n    PerClassMissType interval_type)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2439,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2440,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2444,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2446,1
    - Dst: last_reclaim::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2453,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2456,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2459,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2462,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2463,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2464,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2481,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2483,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2502,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2431
    functionDepth: 2
    functionLinenumber: 2431
    functionLinenumberEnd: 2511
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - GetIntervalMisses
    - load
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - absl::base_internal::CycleClock::Now
    - NumCPUs
    - last_reclaim::load
    - std::min
    - std::max
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::SizeClassCapacityStats
    signature: typename CpuCache<Forwarder>::SizeClassCapacityStats CpuCache<Forwarder>::GetSizeClassCapacityStats(size_t
      size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2515,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2516,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2517,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2518,1
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2520,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2521,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2526,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2527,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2528,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2529,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2530,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2535,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2539,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2540,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2541,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2544,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2545,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2552,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2554,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2554,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2556,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2558,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2560,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2562,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2566,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2567,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2568,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2571,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2577,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2580,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2583,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2585,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2589,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2590,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2592,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2595,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2596,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2599,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2601,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2604
      start: 2514
    functionDepth: 3
    functionLinenumber: 2514
    functionLinenumberEnd: 2604
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    - printf
    - NumCPUs
    - madvise_failed_bytes::load
    - absl::ToInt64Microseconds
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - CpuSet::IsSet
    - GetShift
    - print_miss_stats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    - load
    - FillActiveCpuMask
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - safe_div
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Print(Printer& out) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2608,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2611,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2612,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2613,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2614,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2615,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2619,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2620,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2621,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2622,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2623,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2624,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2625,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2626,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2626,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2627,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2628,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2629,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2630,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2631,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2634,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2638,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2639,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2640,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2640,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2641,1
    - Dst: PbtxtRegion::PrintDouble
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2642,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2643,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2644,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2645,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2645,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2647,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2648,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2649,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2650,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2651,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2652,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2653,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2654,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2655,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2659,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2659,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2661,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2662,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2663,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2663,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2665,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2665,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2668,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2607
    functionDepth: 3
    functionLinenumber: 2607
    functionLinenumberEnd: 2671
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    - NumCPUs
    - madvise_failed_bytes::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - CpuSet::IsSet
    - GetShift
    - PbtxtRegion::PrintDouble
    - CreateSubRegion
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    - load
    - PrintI64
    - PbtxtRegion::PrintBool
    - absl::ToInt64Nanoseconds
    - FillActiveCpuMask
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::PrintInPbtxt(PbtxtRegion& region) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2676
    functionName: CpuCache<Forwarder>::PerClassResizeInfo::Init()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::PerClassResizeInfo::Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2681,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2683,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2691,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - overflow
    - grow
    - successive
    argTypes:
    - bool
    - bool
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2695
      start: 2679
    functionDepth: 0
    functionLinenumber: 2679
    functionLinenumberEnd: 2695
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::Update(\n    bool overflow,
      bool grow, uint32_t* successive)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - memcpy
    - load
    - store
    linkageType: ''
    returnType: bool
    signature: "bool CpuCache<Forwarder>::PerClassResizeInfo::Update(\n    bool overflow,
      bool grow, uint32_t* successive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2699,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2701,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2703,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2706
    functionName: CpuCache<Forwarder>::PerClassResizeInfo::Tick()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - memcpy
    - load
    - store
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CpuCache<Forwarder>::PerClassResizeInfo::Tick()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2712,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2709
    functionDepth: 0
    functionLinenumber: 2709
    functionLinenumberEnd: 2713
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::RecordMiss(\n    PerClassMissType
      type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::PerClassResizeInfo::RecordMiss(\n    PerClassMissType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2719
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::GetTotalMisses(\n    PerClassMissType
      type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::PerClassResizeInfo::GetTotalMisses(\n
      \   PerClassMissType type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2725,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2726,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2729,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2731,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2722
    functionDepth: 1
    functionLinenumber: 2722
    functionLinenumberEnd: 2735
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::GetAndUpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - TC_ASSERT_LT
    - store
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::PerClassResizeInfo::GetAndUpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2740,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2741,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2744,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2749
      start: 2738
    functionDepth: 1
    functionLinenumber: 2738
    functionLinenumberEnd: 2749
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::GetIntervalMisses(\n    PerClassMissType
      total_type, PerClassMissType interval_type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - TC_ASSERT_LT
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::PerClassResizeInfo::GetIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTotalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2754,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2761
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - GetTotalMisses
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2775,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2775,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2779,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2779,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2794,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2794,1
    - Dst: tcmalloc_internal::ThreadCache::BecomeIdle
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2772
    functionDepth: 2
    functionLinenumber: 2772
    functionLinenumberEnd: 2800
    functionName: tcmalloc_internal::UsePerCpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::ThreadCache::BecomeIdle
    - CpuCacheActive
    - tcmalloc_internal::subtle::percpu::IsFast
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool UsePerCpuCache(State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:96,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:96,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - arena
    - TC_ASSERT
    - IsInited
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:105,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:105,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:111,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - arena
    - static_cast<int64_t>
    - TC_ASSERT
    - IsInited
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - size
    - alignment
    argTypes:
    - void*
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::Dealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: void Dealloc(void* ptr, size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:122,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:122,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:127,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:127,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - Length
    - arena
    - page_allocator
    - IsInited
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
    linkageType: ''
    returnType: bool
    signature: bool per_cpu_caches_dynamic_slab_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_grow_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_shrink_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::reuse_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - size_class_configuration
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::reuse_size_classes_v2
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - size_class_configuration
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes_v2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: absl::Span<const size_t>
    signature: absl::Span<const size_t> cold_size_classes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: '& numa_topology()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: '& sharded_transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: ShardedTransferCacheManager
    signature: ShardedTransferCacheManager & sharded_transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: '& transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - transfer_cache
    linkageType: ''
    returnType: TransferCacheManager
    signature: TransferCacheManager & transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: bool
    signature: bool UseGenericShardedCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: bool
    signature: bool UseShardedCacheForLargeClassesOnly()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: bool
    signature: bool UseWiderSlabs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
    linkageType: ''
    returnType: bool
    signature: bool HaveHooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_aware
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:197,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:198,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' topology'
    argTypes:
    - NumaTopology
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::cpu_cache_internal::NumaShift
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - absl::bit_ceil
    - active_partitions
    - numa_aware
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t NumaShift(const NumaTopology& topology)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - shift
    - initial_shift
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: tcmalloc_internal::cpu_cache_internal::ShiftOffset
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ShiftOffset(uint8_t shift, uint8_t initial_shift)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:217,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:220,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:221,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 232
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::max
    - load
    - TC_ASSERT_GE
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - CpuCacheMissStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: '& operator+=(const CpuCacheMissStats rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CpuCacheMissStats
    signature: CpuCacheMissStats & operator+=(const CpuCacheMissStats rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache::CpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CpuCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 502
    functionName: '& forwarder() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 504
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: '& operator[](PerClassMissType type)'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: std::atomic<size_t>
    signature: std::atomic<size_t> & operator[](PerClassMissType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - miss_count
    argTypes:
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: '& operator[](MissCount miss_count)'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: std::atomic<size_t>
    signature: std::atomic<size_t> & operator[](MissCount miss_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 610
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache::ResizeInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ResizeInfo
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:753,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 758
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: void * CpuCache<Forwarder>::Allocate(size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:763,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - Pop
    - TC_ASSERT_GT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * CpuCache<Forwarder>::AllocateFast(\n
      \   size_t size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:769,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Deallocate(void* ptr, size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:777,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 779
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - Push
    - TC_ASSERT_GT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE CpuCache<Forwarder>::DeallocateFast(\n
      \   void* ptr, size_t size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:783,1
    - Dst: HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:783,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 786
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - UncacheCpuSlab
    - HaveHooks
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::MaybeForceSlowPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:790,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:791,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:795,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:804,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:805,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 810
    functionName: tcmalloc_internal::cpu_cache_internal::FillActiveCpuMask
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - CpuSet::GetAffinity
    - CpuSet::Zero
    - CpuSet::Count
    - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    linkageType: ''
    returnType: CpuSet
    signature: CpuSet FillActiveCpuMask()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:820,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:853,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:857,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:861,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:869,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:876,1
    - Dst: reuse_size_classes_v2
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:877,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:880,1
    - Dst: cold_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:883,1
    - Dst: absl::c_binary_search
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:884,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:886,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:893,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 898
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - reuse_size_classes
    - reuse_size_classes_v2
    - absl::c_binary_search
    - IsExpandedSizeClass
    - cold_size_classes
    - ColdFeatureActive
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - class_to_size
    linkageType: ''
    returnType: size_t
    signature: size_t CpuCache<Forwarder>::MaxCapacity(size_t size_class) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_shift_capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - get_shift_capacity
    argTypes:
    - GetShiftMaxCapacity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 916
    functionName: tcmalloc_internal::cpu_cache_internal::EstimateSlabBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - get_shift_capacity
    linkageType: ''
    returnType: std::pair<size_t, size_t>
    signature: "std::pair<size_t, size_t> EstimateSlabBytes(\n    GetShiftMaxCapacity
      get_shift_capacity)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - shift
    argTypes:
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 10
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t CpuCache<Forwarder>::GetMaxCapacity(int size_class,\n                                                    uint8_t
      shift) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 928
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetCapacityOfSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::GetCapacityOfSizeClass(\n    int cpu,
      int size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shift
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 934
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: GetShiftMaxCapacity
    signature: "GetShiftMaxCapacity CpuCache<Forwarder>::GetMaxCapacityFunctor(\n
      \   uint8_t shift) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - cap
    argTypes:
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 940
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::UpdateMaxCapacity(int size_class,\n                                                   uint16_t
      cap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 945
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 10
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    linkageType: ''
    returnType: bool
    signature: bool CpuCache<Forwarder>::UseWiderSlabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 950
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetPerCpuSlabShiftBounds
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlabShiftBounds
    signature: SlabShiftBounds CpuCache<Forwarder>::GetPerCpuSlabShiftBounds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetDynamicSlabFailedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - madvise_failed_bytes::load
    linkageType: ''
    returnType: size_t
    signature: size_t CpuCache<Forwarder>::GetDynamicSlabFailedBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:960,1
    - Dst: per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:964,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:968,1
    - Dst: NumaShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:969,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:970,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:976,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:977,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:978,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:979,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:986,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:988,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:988,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:995,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:995,1
    - Dst: EstimateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1003,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1006,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1007,1
    - Dst: reinterpret_cast<ResizeInfo*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1012,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1012,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1015,1
    - Dst: ResizeInfo::ResizeInfo
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1018,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1021,1
    - Dst: available::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1023,1
    - Dst: capacity::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1024,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1028,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1029,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1030,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1033,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1036,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 1037
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Activate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - NumaShift
    - ShiftOffset
    - numa_topology
    - NumCPUs
    - TC_CHECK_GE
    - store
    - ResizeInfo::ResizeInfo
    - TC_CHECK_LE
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - reinterpret_cast<ResizeInfo*>
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - active_partitions
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
    - TC_CHECK_EQ
    - Init
    - per_cpu_caches_dynamic_slab_enabled
    - Alloc
    - EstimateSlabBytes
    - TC_BUG
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - capacity::store
    - available::store
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Activate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1041,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1043,1
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1046,1
    - Dst: Dealloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1040
    functionDepth: 3
    functionLinenumber: 1040
    functionLinenumberEnd: 1051
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deactivate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - Destroy
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    - Dealloc
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Deactivate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1056,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1057,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - size_t
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1054
    functionDepth: 2
    functionLinenumber: 1054
    functionLinenumberEnd: 1060
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    - sharded_transfer_cache
    linkageType: ''
    returnType: int
    signature: "int CpuCache<Forwarder>::FetchFromBackingCache(size_t size_class,\n
      \                                                     absl::Span<void*> batch)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1065,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1066,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - size_t
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1063
    functionDepth: 2
    functionLinenumber: 1063
    functionLinenumberEnd: 1071
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    - sharded_transfer_cache
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::ReleaseToBackingCache(\n    size_t size_class,
      absl::Span<void*> batch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1075,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1074
    functionDepth: 3
    functionLinenumber: 1074
    functionLinenumberEnd: 1078
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
    linkageType: ''
    returnType: void
    signature: void * CpuCache<Forwarder>::AllocateSlow(size_t size_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1082,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1083,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1085,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1086,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1087,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1090,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1090,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1092,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1098,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1102,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1081
    functionDepth: 3
    functionLinenumber: 1081
    functionLinenumberEnd: 1104
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - ABSL_PREDICT_FALSE
    - absl::MakeSpan
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - sharded_transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: void * CpuCache<Forwarder>::AllocateSlowNoHooks(size_t size_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1118,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1128,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1129,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1129,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1140,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1117
    functionDepth: 3
    functionLinenumber: 1117
    functionLinenumberEnd: 1147
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
    - PushBatch
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - absl::MakeSpan
    - std::min
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    linkageType: ''
    returnType: void
    signature: void * CpuCache<Forwarder>::Refill(int cpu, size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1154,1
    - Dst: UseShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1156
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - UseShardedCacheForLargeClassesOnly
    - sharded_transfer_cache
    linkageType: ''
    returnType: bool
    signature: bool CpuCache<Forwarder>::BypassCpuCache(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1162,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1162,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1165,1
    - Dst: UseGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1167
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - TC_ASSERT
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - sharded_transfer_cache
    - UseGenericShardedCache
    linkageType: ''
    returnType: bool
    signature: "bool CpuCache<Forwarder>::UseBackingShardedTransferCache(\n    size_t
      size_class) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min<uint32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1178,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1183,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1199,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - capacity
    - batch_length
    - successive
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1202
    functionName: tcmalloc_internal::cpu_cache_internal::TargetOverflowRefillCount
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    - TC_ASSERT_NE
    - std::min<uint32_t>
    - std::min
    linkageType: ''
    returnType: size_t
    signature: "size_t TargetOverflowRefillCount(size_t capacity, size_t batch_length,\n
      \                                       size_t successive)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1229,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1230,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1230,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1231,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1235,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1237,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1240,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1244,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1250,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1251,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1257,1
    - Dst: TargetOverflowRefillCount
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - cpu
    - size_class
    - overflow
    argTypes:
    - int
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1205
    functionDepth: 3
    functionLinenumber: 1205
    functionLinenumberEnd: 1261
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - std::min
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - RecordMiss
    - absl::base_internal::CycleClock::Now
    - Update
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - store
    - TargetOverflowRefillCount
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    - num_objects_to_move
    - GetShift
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::UpdateCapacity(int cpu, size_t size_class,\n
      \                                                 bool overflow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1265,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1266,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1266,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1267,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1268,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1269,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1271,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1274,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1275,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1264
    functionDepth: 2
    functionLinenumber: 1264
    functionLinenumberEnd: 1280
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - populated::load
    - load
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> CpuCache<Forwarder>::CacheCpuSlab()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1285,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1288,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1288,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1288,1
    - Dst: populated::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1290
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - populated::load
    - populated::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    - InitCpu
    - GetShift
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE CpuCache<Forwarder>::Populate(int cpu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic<size_t>*::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1294,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1299,1
    - Dst: std::atomic<size_t>*::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - a
    - min
    - max
    argTypes:
    - std::atomic<size_t>*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1304
    functionName: tcmalloc_internal::cpu_cache_internal::subtract_at_least
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::atomic<size_t>*::load
    - std::atomic<size_t>*::compare_exchange_weak
    - std::min
    linkageType: ''
    returnType: size_t
    signature: "size_t subtract_at_least(std::atomic<size_t>* a, size_t min,\n                                size_t
      max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1309,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1312,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1314,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1321,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1322,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1324,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1326,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cpu
    - size_class
    - desired_increase
    argTypes:
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1307
    functionDepth: 2
    functionLinenumber: 1307
    functionLinenumberEnd: 1331
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - RecordMiss
    - available::fetch_add
    - TC_ASSERT_GT
    - subtract_at_least
    - TC_ASSERT_LE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    - class_to_size
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::Grow(int cpu, size_t size_class,\n                                      size_t
      desired_increase)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1335,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1339,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1343,1
    - Dst: reclaim_used_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1345,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1350,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1357,1
    - Dst: reclaim_used_bytes::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1334
    functionDepth: 3
    functionLinenumber: 1334
    functionLinenumberEnd: 1368
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TryReclaimingCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    - reclaim_used_bytes::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - reclaim_used_bytes::load
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::TryReclaimingCaches()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1374,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1377,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1382,1
    - Dst: GetAndUpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1386,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1405,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1405,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1405,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1443,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1458,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1460,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1467,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1469,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1485,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1492,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 3
    argNames:
    - start_size_class
    - max_capacity
    - valid_entries
    argTypes:
    - int
    - PerSizeClassMaxCapacity*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1371
    functionDepth: 2
    functionLinenumber: 1371
    functionLinenumberEnd: 1498
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - num_objects_to_move
    - load
    - std::min<size_t>
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - absl::FixedArray::end
    - NumCPUs
    - std::min
    - std::max
    - std::sort
    - TC_ASSERT_LT
    - absl::FixedArray::begin
    - GetAndUpdateIntervalMisses
    linkageType: ''
    returnType: int
    signature: "int CpuCache<Forwarder>::GetUpdatedMaxCapacities(\n    int start_size_class,
      PerSizeClassMaxCapacity* max_capacity,\n    int valid_entries)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1512,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1513,1
    - Dst: munlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1520,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1524,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1525,1
    - Dst: madvise_failed_bytes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1530,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - slab_addr
    - slab_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1533
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - munlock
    - madvise_failed_bytes::fetch_add
    - madvise
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::MadviseAwaySlabs(void* slab_addr, size_t
      slab_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1538,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1539,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1547,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1548,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1555,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1562,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1563,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1565,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1568,1
    - Dst: lock::Lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1572,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1574,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1578,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1582,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1584,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1584,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1586,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1589,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1592,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1596,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1598,1
    - Dst: lock::Unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1601,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1603,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1536
    functionDepth: 2
    functionLinenumber: 1536
    functionLinenumberEnd: 1607
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClassMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ShiftOffset
    - lock::Lock
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    - numa_topology
    - NumCPUs
    - store
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ArenaUpdateAllocatedAndNonresident
    - AllocReportedImpending
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - GetShift
    - active_partitions
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
    - load
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - std::tie
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
    - lock::Unlock
    - AllocationGuard::AllocationGuard
    - UpdateMaxCapacities
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSizeClassMaxCapacities()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1611,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1614,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1623,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1624,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1627,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1631,1
    - Dst: UpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1636,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1610
    functionDepth: 3
    functionLinenumber: 1610
    functionLinenumberEnd: 1645
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - UpdateIntervalMisses
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - NumCPUs
    - store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSizeClasses()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1649,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1660,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: available::exchange
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1677,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1682,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1682,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1684,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1692,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1693,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1696,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1709,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1713,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1714,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1718,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1719,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1721,1
    - Dst: GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1723,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1725,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1731,1
    - Dst: num_size_class_resizes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1732,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1648
    functionDepth: 4
    functionLinenumber: 1648
    functionLinenumberEnd: 1734
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
    - available::fetch_add
    - std::sort
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - GrowOtherCache
    - GetShift
    - max_capacity
    - absl::FixedArray::end
    - num_objects_to_move
    - TC_ASSERT_GE
    - available::exchange
    - GetIntervalMisses
    - std::min<size_t>
    - available::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    - num_size_class_resizes::fetch_add
    - TC_ASSERT_LT
    - absl::FixedArray::begin
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeCpuSizeClasses(int cpu)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1742,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1750,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1754,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1776,1
    - Dst: std::partial_sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1777,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1777,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1777,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1778,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1788,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1793,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1793,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1794,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1800,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1737
    functionDepth: 2
    functionLinenumber: 1737
    functionLinenumberEnd: 1802
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShuffleCpuCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - static_cast<size_t>
    - NumCPUs
    - std::min
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    - std::partial_sort
    - absl::FixedArray::begin
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ShuffleCpuCaches()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1811,1
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1813,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1840,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1841,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1855,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1859,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1859,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1862,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1874,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1876,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1890,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1891,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1907,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1908,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 4
    argNames:
    - cpu
    - max_populated_cpu
    - skip_cpus
    - bytes
    argTypes:
    - int
    - int
    - absl::Span<CpuMissStat>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1805
    functionDepth: 3
    functionLinenumber: 1805
    functionLinenumberEnd: 1910
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - capacity::fetch_sub
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - available::fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - available::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    - subtract_at_least
    - TC_ASSERT_LE
    - capacity::fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::StealFromOtherCache(\n    int cpu, int max_populated_cpu,
      absl::Span<CpuMissStat> skip_cpus,\n    size_t bytes)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1914,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1914,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1915,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1916,1
    - Dst: lock::IsHeld
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1916,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1917,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1922,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1923,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1924,1
    - Dst: Tick
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1957,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1962,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1965,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1966,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1913
    functionDepth: 2
    functionLinenumber: 1913
    functionLinenumberEnd: 1971
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - num_objects_to_move
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - Length
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - lock::IsHeld
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    - NumCPUs
    - TC_ASSERT
    - TC_ASSERT_EQ
    - Tick
    - class_to_size
    linkageType: ''
    returnType: size_t
    signature: size_t CpuCache<Forwarder>::ShrinkOtherCache(int cpu, size_t size_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1996,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - cpu
    - dest_size_classes
    - bytes
    argTypes:
    - int
    - absl::Span<SizeClassMissStat>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1974
    functionDepth: 3
    functionLinenumber: 1974
    functionLinenumberEnd: 2005
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu(\n
      \   int cpu, absl::Span<SizeClassMissStat> dest_size_classes, size_t bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlowNoHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2009,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 2008
    functionDepth: 4
    functionLinenumber: 2008
    functionLinenumberEnd: 2011
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlowNoHooks
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::DeallocateSlow(void* ptr, size_t size_class)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2015,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2016,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2018,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2019,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2020,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2022,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2024,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2028,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2029,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2035,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2037,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2042,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2042,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2014
    functionDepth: 3
    functionLinenumber: 2014
    functionLinenumberEnd: 2046
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlowNoHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - sharded_transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    - std::min
    - PopBatch
    - absl::Span<void*>
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::DeallocateSlowNoHooks(void* ptr, size_t size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2050,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2051,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2057,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2049
    functionDepth: 2
    functionLinenumber: 2049
    functionLinenumberEnd: 2061
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocated
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - class_to_size
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - TC_ASSERT_GE
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::Allocated(int target_cpu) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2065,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2066,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2072,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2064
    functionDepth: 2
    functionLinenumber: 2064
    functionLinenumberEnd: 2076
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 9
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - class_to_size
    - TC_ASSERT_GE
    - Length
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::UsedBytes(int target_cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2080,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2079
    functionDepth: 1
    functionLinenumber: 2079
    functionLinenumberEnd: 2082
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 36
    functionsReached:
    - populated::load
    - TC_ASSERT_GE
    linkageType: ''
    returnType: bool
    signature: bool CpuCache<Forwarder>::HasPopulated(int target_cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2086,1
    - Dst: populated_physical_cpu::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2085
    functionDepth: 1
    functionLinenumber: 2085
    functionLinenumberEnd: 2089
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - populated_physical_cpu::load
    - TC_ASSERT_GE
    linkageType: ''
    returnType: bool
    signature: bool CpuCache<Forwarder>::HasPhysicalPopulated(int target_cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2092
    functionDepth: 1
    functionLinenumber: 2092
    functionLinenumberEnd: 2094
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MetadataMemoryUsage
    linkageType: ''
    returnType: PerCPUMetadataState
    signature: PerCPUMetadataState CpuCache<Forwarder>::MetadataMemoryUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2099,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2097
    functionDepth: 2
    functionLinenumber: 2097
    functionLinenumberEnd: 2103
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalUsedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::TotalUsedBytes() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2108,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2111,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2106
    functionDepth: 2
    functionLinenumber: 2106
    functionLinenumberEnd: 2119
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalObjectsOfClass
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - Length
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t CpuCache<Forwarder>::TotalObjectsOfClass(\n    size_t size_class)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2124
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - available::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::Unallocated(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2129
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 20
    functionsReached:
    - capacity::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::Capacity(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2132
    functionDepth: 0
    functionLinenumber: 2132
    functionLinenumberEnd: 2134
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 11
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::CacheLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2140
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::SetCacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::SetCacheLimit(uint64_t v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2146,1
    - Dst: forwarder_::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2148,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2152,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2155,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2156,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - cpu
    - size_class
    - batch
    - count
    - cap
    argTypes:
    - int
    - size_t
    - void**
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2158
    functionName: "operator()(int cpu, size_t size_class, void** batch, size_t count,\n
      \                 size_t cap) const"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - available::fetch_add
    - ReleaseToBackingCache
    - forwarder_::class_to_size
    - std::min
    - absl::Span<void*>
    - forwarder_::num_objects_to_move
    linkageType: ''
    returnType: void
    signature: "void operator()(int cpu, size_t size_class, void** batch, size_t count,\n
      \                 size_t cap) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2171,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2176,1
    - Dst: num_reclaims::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2179,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2180,1
    - Dst: last_reclaim::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2182,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2165
    functionDepth: 2
    functionLinenumber: 2165
    functionLinenumberEnd: 2186
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - num_reclaims::load
    - num_reclaims::store
    - Drain
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - last_reclaim::store
    - absl::base_internal::CycleClock::Now
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::Reclaim(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_size_class_resizes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2188
    functionDepth: 0
    functionLinenumber: 2188
    functionLinenumberEnd: 2190
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - num_size_class_resizes::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::GetNumResizes(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2195,1
    - Dst: num_size_class_resizes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2200
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - NumCPUs
    - num_size_class_resizes::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::GetNumResizes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2205
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - num_reclaims::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::GetNumReclaims(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2210,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2208
    functionDepth: 0
    functionLinenumber: 2208
    functionLinenumberEnd: 2214
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - num_reclaims::load
    - NumCPUs
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::GetNumReclaims() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2221,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2222,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2224,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2226,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2233,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2235,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - alloc
    - shift
    - num_cpus
    - shift_offset
    - resize_offset
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - subtle::percpu::Shift
    - int
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2217
    functionDepth: 1
    functionLinenumber: 2217
    functionLinenumberEnd: 2240
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - GetSlabsAllocSize
    - alloc
    - ANNOTATE_MEMORY_IS_INITIALIZED
    - TC_ASSERT_LT
    - madvise
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> CpuCache<Forwarder>::AllocOrReuseSlabs(\n
      \   absl::FunctionRef<void*(size_t, std::align_val_t)> alloc,\n    subtle::percpu::Shift
      shift, int num_cpus, uint8_t shift_offset,\n    uint8_t resize_offset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2245,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2248,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2251,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2259,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2278,1
    - Dst: per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2243
    functionDepth: 3
    functionLinenumber: 2243
    functionLinenumberEnd: 2287
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - per_cpu_caches_dynamic_slab_grow_threshold
    - per_cpu_caches_dynamic_slab_shrink_threshold
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::DynamicSlabResize
    signature: typename CpuCache<Forwarder>::DynamicSlabResize CpuCache<Forwarder>::ShouldResizeSlab()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2291,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2293,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2294,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2300,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2299,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2306,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2305,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2312,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2314,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2317,1
    - Dst: lock::Lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2319,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2322,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2326,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2329,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2329,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2331,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2334,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2335,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2338,1
    - Dst: lock::Unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2341,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2343,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2290
    functionDepth: 3
    functionLinenumber: 2290
    functionLinenumberEnd: 2347
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSlabIfNeeded
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ArenaUpdateAllocatedAndNonresident
    - load
    - AllocReportedImpending
    - ResizeSlabs
    - ShiftOffset
    - lock::Unlock
    - lock::Lock
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    - fetch_add
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
    - std::tie
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - GetShift
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSlabIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2355,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - is_alloc
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2356
      start: 2350
    functionDepth: 0
    functionLinenumber: 2350
    functionLinenumberEnd: 2356
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - load
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::RecordCacheMissStat(const int cpu,\n                                                     const
      bool is_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2362,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2367
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - load
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::CpuCacheMissStats
    signature: typename CpuCache<Forwarder>::CpuCacheMissStats CpuCache<Forwarder>::GetTotalCacheMissStats(int
      cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2373,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2370
    functionDepth: 1
    functionLinenumber: 2370
    functionLinenumberEnd: 2376
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 9
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - NumCPUs
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::CpuCacheMissStats
    signature: typename CpuCache<Forwarder>::CpuCacheMissStats CpuCache<Forwarder>::GetTotalCacheMissStats()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2382,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2383,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2386,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2388,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2392,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2379
    functionDepth: 1
    functionLinenumber: 2379
    functionLinenumberEnd: 2394
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - load
    - TC_ASSERT_LT
    - get_safe_miss_diff
    - TC_ASSERT_NE
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::CpuCacheMissStats
    signature: "typename CpuCache<Forwarder>::CpuCacheMissStats CpuCache<Forwarder>::GetIntervalCacheMissStats(int
      cpu,\n                                               MissCount miss_count) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2399,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2405,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2397
    functionDepth: 1
    functionLinenumber: 2397
    functionLinenumberEnd: 2409
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::UpdateIntervalCacheMissStats(int cpu,\n
      \                                                      MissCount miss_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2417,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2412
    functionDepth: 2
    functionLinenumber: 2412
    functionLinenumberEnd: 2420
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::CpuCacheMissStats
    signature: "typename CpuCache<Forwarder>::CpuCacheMissStats CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats(int
      cpu,\n                                                        MissCount miss_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cpu
    - size_class
    - total_type
    - interval_type
    argTypes:
    - int
    - size_t
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2423
    functionDepth: 0
    functionLinenumber: 2423
    functionLinenumberEnd: 2428
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalSizeClassMisses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - GetIntervalMisses
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::GetIntervalSizeClassMisses(\n    int cpu,
      size_t size_class, PerClassMissType total_type,\n    PerClassMissType interval_type)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2439,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2440,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2444,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2446,1
    - Dst: last_reclaim::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2453,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2456,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2459,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2462,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2463,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2464,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2481,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2483,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2502,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2431
    functionDepth: 2
    functionLinenumber: 2431
    functionLinenumberEnd: 2511
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - GetIntervalMisses
    - load
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - absl::base_internal::CycleClock::Now
    - NumCPUs
    - last_reclaim::load
    - std::min
    - std::max
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::SizeClassCapacityStats
    signature: typename CpuCache<Forwarder>::SizeClassCapacityStats CpuCache<Forwarder>::GetSizeClassCapacityStats(size_t
      size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2515,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2516,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2517,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2518,1
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2520,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2521,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2526,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2527,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2528,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2529,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2530,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2535,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2539,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2540,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2541,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2544,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2545,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2552,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2554,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2554,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2556,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2558,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2560,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2562,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2566,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2567,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2568,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2571,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2577,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2580,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2583,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2585,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2589,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2590,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2592,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2595,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2596,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2599,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2601,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2604
      start: 2514
    functionDepth: 3
    functionLinenumber: 2514
    functionLinenumberEnd: 2604
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    - printf
    - NumCPUs
    - madvise_failed_bytes::load
    - absl::ToInt64Microseconds
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - CpuSet::IsSet
    - GetShift
    - print_miss_stats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    - load
    - FillActiveCpuMask
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - safe_div
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Print(Printer& out) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2608,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2611,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2612,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2613,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2614,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2615,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2619,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2620,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2621,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2622,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2623,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2624,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2625,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2626,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2626,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2627,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2628,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2629,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2630,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2631,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2634,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2638,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2639,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2640,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2640,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2641,1
    - Dst: PbtxtRegion::PrintDouble
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2642,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2643,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2644,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2645,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2645,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2647,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2648,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2649,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2650,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2651,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2652,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2653,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2654,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2655,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2659,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2659,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2661,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2662,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2663,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2663,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2665,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2665,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2668,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2607
    functionDepth: 3
    functionLinenumber: 2607
    functionLinenumberEnd: 2671
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    - NumCPUs
    - madvise_failed_bytes::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - CpuSet::IsSet
    - GetShift
    - PbtxtRegion::PrintDouble
    - CreateSubRegion
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    - load
    - PrintI64
    - PbtxtRegion::PrintBool
    - absl::ToInt64Nanoseconds
    - FillActiveCpuMask
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::PrintInPbtxt(PbtxtRegion& region) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2676
    functionName: CpuCache<Forwarder>::PerClassResizeInfo::Init()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::PerClassResizeInfo::Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2681,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2683,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2691,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - overflow
    - grow
    - successive
    argTypes:
    - bool
    - bool
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2695
      start: 2679
    functionDepth: 0
    functionLinenumber: 2679
    functionLinenumberEnd: 2695
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::Update(\n    bool overflow,
      bool grow, uint32_t* successive)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - memcpy
    - load
    - store
    linkageType: ''
    returnType: bool
    signature: "bool CpuCache<Forwarder>::PerClassResizeInfo::Update(\n    bool overflow,
      bool grow, uint32_t* successive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2699,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2701,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2703,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2706
    functionName: CpuCache<Forwarder>::PerClassResizeInfo::Tick()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - memcpy
    - load
    - store
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CpuCache<Forwarder>::PerClassResizeInfo::Tick()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2712,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2709
    functionDepth: 0
    functionLinenumber: 2709
    functionLinenumberEnd: 2713
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::RecordMiss(\n    PerClassMissType
      type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::PerClassResizeInfo::RecordMiss(\n    PerClassMissType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2719
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::GetTotalMisses(\n    PerClassMissType
      type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::PerClassResizeInfo::GetTotalMisses(\n
      \   PerClassMissType type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2725,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2726,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2729,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2731,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2722
    functionDepth: 1
    functionLinenumber: 2722
    functionLinenumberEnd: 2735
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::GetAndUpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - TC_ASSERT_LT
    - store
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::PerClassResizeInfo::GetAndUpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2740,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2741,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2744,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2749
      start: 2738
    functionDepth: 1
    functionLinenumber: 2738
    functionLinenumberEnd: 2749
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::GetIntervalMisses(\n    PerClassMissType
      total_type, PerClassMissType interval_type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - TC_ASSERT_LT
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::PerClassResizeInfo::GetIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTotalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2754,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2761
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - GetTotalMisses
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:96,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:96,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - arena
    - TC_ASSERT
    - IsInited
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:105,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:105,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:111,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - arena
    - static_cast<int64_t>
    - TC_ASSERT
    - IsInited
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - size
    - alignment
    argTypes:
    - void*
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::Dealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: void Dealloc(void* ptr, size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:122,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:122,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:127,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:127,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - Length
    - arena
    - page_allocator
    - IsInited
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
    linkageType: ''
    returnType: bool
    signature: bool per_cpu_caches_dynamic_slab_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_grow_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_shrink_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::reuse_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - size_class_configuration
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::reuse_size_classes_v2
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - size_class_configuration
    linkageType: ''
    returnType: bool
    signature: bool reuse_size_classes_v2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: absl::Span<const size_t>
    signature: absl::Span<const size_t> cold_size_classes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: '& numa_topology()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: '& sharded_transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: ShardedTransferCacheManager
    signature: ShardedTransferCacheManager & sharded_transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: '& transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - transfer_cache
    linkageType: ''
    returnType: TransferCacheManager
    signature: TransferCacheManager & transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseGenericShardedCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: bool
    signature: bool UseGenericShardedCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: bool
    signature: bool UseShardedCacheForLargeClassesOnly()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: bool
    signature: bool UseWiderSlabs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
    linkageType: ''
    returnType: bool
    signature: bool HaveHooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_aware
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:197,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:198,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' topology'
    argTypes:
    - NumaTopology
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::cpu_cache_internal::NumaShift
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - absl::bit_ceil
    - active_partitions
    - numa_aware
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t NumaShift(const NumaTopology& topology)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - shift
    - initial_shift
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: tcmalloc_internal::cpu_cache_internal::ShiftOffset
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ShiftOffset(uint8_t shift, uint8_t initial_shift)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:217,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:220,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:221,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 232
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::max
    - load
    - TC_ASSERT_GE
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - CpuCacheMissStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: '& operator+=(const CpuCacheMissStats rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CpuCacheMissStats
    signature: CpuCacheMissStats & operator+=(const CpuCacheMissStats rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache::CpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CpuCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 502
    functionName: '& forwarder() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 504
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: '& operator[](PerClassMissType type)'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: std::atomic<size_t>
    signature: std::atomic<size_t> & operator[](PerClassMissType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - miss_count
    argTypes:
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: '& operator[](MissCount miss_count)'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: std::atomic<size_t>
    signature: std::atomic<size_t> & operator[](MissCount miss_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 610
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache::ResizeInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED ResizeInfo
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:753,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 758
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: void * CpuCache<Forwarder>::Allocate(size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:763,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 7
    functionsReached:
    - Pop
    - TC_ASSERT_GT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * CpuCache<Forwarder>::AllocateFast(\n
      \   size_t size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:769,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Deallocate(void* ptr, size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:777,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 779
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 7
    functionsReached:
    - Push
    - TC_ASSERT_GT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE CpuCache<Forwarder>::DeallocateFast(\n
      \   void* ptr, size_t size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:783,1
    - Dst: HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:783,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 786
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - UncacheCpuSlab
    - HaveHooks
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::MaybeForceSlowPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:790,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:791,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:795,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:804,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:805,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 810
    functionName: tcmalloc_internal::cpu_cache_internal::FillActiveCpuMask
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - CpuSet::GetAffinity
    - CpuSet::Zero
    - CpuSet::Count
    - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    linkageType: ''
    returnType: CpuSet
    signature: CpuSet FillActiveCpuMask()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:820,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:853,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:857,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:861,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:869,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:876,1
    - Dst: reuse_size_classes_v2
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:877,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:880,1
    - Dst: cold_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:883,1
    - Dst: absl::c_binary_search
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:884,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:886,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:893,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 898
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - reuse_size_classes
    - reuse_size_classes_v2
    - absl::c_binary_search
    - IsExpandedSizeClass
    - cold_size_classes
    - ColdFeatureActive
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - class_to_size
    linkageType: ''
    returnType: size_t
    signature: size_t CpuCache<Forwarder>::MaxCapacity(size_t size_class) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_shift_capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - get_shift_capacity
    argTypes:
    - GetShiftMaxCapacity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 916
    functionName: tcmalloc_internal::cpu_cache_internal::EstimateSlabBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - get_shift_capacity
    linkageType: ''
    returnType: std::pair<size_t, size_t>
    signature: "std::pair<size_t, size_t> EstimateSlabBytes(\n    GetShiftMaxCapacity
      get_shift_capacity)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - shift
    argTypes:
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 15
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t CpuCache<Forwarder>::GetMaxCapacity(int size_class,\n                                                    uint8_t
      shift) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 928
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetCapacityOfSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::GetCapacityOfSizeClass(\n    int cpu,
      int size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shift
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 934
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: GetShiftMaxCapacity
    signature: "GetShiftMaxCapacity CpuCache<Forwarder>::GetMaxCapacityFunctor(\n
      \   uint8_t shift) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - cap
    argTypes:
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 940
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::UpdateMaxCapacity(int size_class,\n                                                   uint16_t
      cap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 945
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 14
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    linkageType: ''
    returnType: bool
    signature: bool CpuCache<Forwarder>::UseWiderSlabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 950
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetPerCpuSlabShiftBounds
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlabShiftBounds
    signature: SlabShiftBounds CpuCache<Forwarder>::GetPerCpuSlabShiftBounds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetDynamicSlabFailedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - madvise_failed_bytes::load
    linkageType: ''
    returnType: size_t
    signature: size_t CpuCache<Forwarder>::GetDynamicSlabFailedBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:960,1
    - Dst: per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:964,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:968,1
    - Dst: NumaShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:969,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:970,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:976,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:977,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:978,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:979,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:986,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:988,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:988,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:995,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:995,1
    - Dst: EstimateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1003,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1006,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1007,1
    - Dst: reinterpret_cast<ResizeInfo*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1012,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1012,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1015,1
    - Dst: ResizeInfo::ResizeInfo
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1018,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1021,1
    - Dst: available::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1023,1
    - Dst: capacity::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1024,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1028,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1029,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1030,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1033,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1036,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 1037
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Activate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - NumaShift
    - ShiftOffset
    - numa_topology
    - NumCPUs
    - TC_CHECK_GE
    - store
    - ResizeInfo::ResizeInfo
    - TC_CHECK_LE
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - reinterpret_cast<ResizeInfo*>
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - active_partitions
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
    - TC_CHECK_EQ
    - Init
    - per_cpu_caches_dynamic_slab_enabled
    - Alloc
    - EstimateSlabBytes
    - TC_BUG
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - capacity::store
    - available::store
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Activate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1041,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1043,1
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1046,1
    - Dst: Dealloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1040
    functionDepth: 3
    functionLinenumber: 1040
    functionLinenumberEnd: 1051
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deactivate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - Destroy
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    - Dealloc
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Deactivate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1056,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1057,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - size_t
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1054
    functionDepth: 2
    functionLinenumber: 1054
    functionLinenumberEnd: 1060
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    - sharded_transfer_cache
    linkageType: ''
    returnType: int
    signature: "int CpuCache<Forwarder>::FetchFromBackingCache(size_t size_class,\n
      \                                                     absl::Span<void*> batch)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1065,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1066,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - size_t
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1063
    functionDepth: 2
    functionLinenumber: 1063
    functionLinenumberEnd: 1071
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 9
    functionsReached:
    - transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    - sharded_transfer_cache
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::ReleaseToBackingCache(\n    size_t size_class,
      absl::Span<void*> batch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1075,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1074
    functionDepth: 3
    functionLinenumber: 1074
    functionLinenumberEnd: 1078
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
    linkageType: ''
    returnType: void
    signature: void * CpuCache<Forwarder>::AllocateSlow(size_t size_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1082,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1083,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1085,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1086,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1087,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1090,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1090,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1092,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1098,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1102,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1081
    functionDepth: 3
    functionLinenumber: 1081
    functionLinenumberEnd: 1104
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - ABSL_PREDICT_FALSE
    - absl::MakeSpan
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - sharded_transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: void * CpuCache<Forwarder>::AllocateSlowNoHooks(size_t size_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1118,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1128,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1129,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1129,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1140,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1117
    functionDepth: 3
    functionLinenumber: 1117
    functionLinenumberEnd: 1147
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
    - PushBatch
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - absl::MakeSpan
    - std::min
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    linkageType: ''
    returnType: void
    signature: void * CpuCache<Forwarder>::Refill(int cpu, size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1154,1
    - Dst: UseShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1156
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 11
    functionsReached:
    - UseShardedCacheForLargeClassesOnly
    - sharded_transfer_cache
    linkageType: ''
    returnType: bool
    signature: bool CpuCache<Forwarder>::BypassCpuCache(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1162,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1162,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1165,1
    - Dst: UseGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1167
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - TC_ASSERT
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - sharded_transfer_cache
    - UseGenericShardedCache
    linkageType: ''
    returnType: bool
    signature: "bool CpuCache<Forwarder>::UseBackingShardedTransferCache(\n    size_t
      size_class) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min<uint32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1178,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1183,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1199,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - capacity
    - batch_length
    - successive
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1202
    functionName: tcmalloc_internal::cpu_cache_internal::TargetOverflowRefillCount
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    - TC_ASSERT_NE
    - std::min<uint32_t>
    - std::min
    linkageType: ''
    returnType: size_t
    signature: "size_t TargetOverflowRefillCount(size_t capacity, size_t batch_length,\n
      \                                       size_t successive)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1229,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1230,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1230,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1231,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1235,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1237,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1240,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1244,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1250,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1251,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1257,1
    - Dst: TargetOverflowRefillCount
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - cpu
    - size_class
    - overflow
    argTypes:
    - int
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1205
    functionDepth: 3
    functionLinenumber: 1205
    functionLinenumberEnd: 1261
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 7
    functionsReached:
    - std::min
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - RecordMiss
    - absl::base_internal::CycleClock::Now
    - Update
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - store
    - TargetOverflowRefillCount
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    - num_objects_to_move
    - GetShift
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::UpdateCapacity(int cpu, size_t size_class,\n
      \                                                 bool overflow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1265,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1266,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1266,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1267,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1268,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1269,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1271,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1274,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1275,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1264
    functionDepth: 2
    functionLinenumber: 1264
    functionLinenumberEnd: 1280
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 11
    functionsReached:
    - populated::load
    - load
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> CpuCache<Forwarder>::CacheCpuSlab()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1285,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1288,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1288,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1288,1
    - Dst: populated::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1290
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - populated::load
    - populated::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    - InitCpu
    - GetShift
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE CpuCache<Forwarder>::Populate(int cpu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic<size_t>*::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1294,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1299,1
    - Dst: std::atomic<size_t>*::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - a
    - min
    - max
    argTypes:
    - std::atomic<size_t>*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1304
    functionName: tcmalloc_internal::cpu_cache_internal::subtract_at_least
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::atomic<size_t>*::load
    - std::atomic<size_t>*::compare_exchange_weak
    - std::min
    linkageType: ''
    returnType: size_t
    signature: "size_t subtract_at_least(std::atomic<size_t>* a, size_t min,\n                                size_t
      max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1309,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1312,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1314,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1321,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1322,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1324,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1326,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cpu
    - size_class
    - desired_increase
    argTypes:
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1307
    functionDepth: 2
    functionLinenumber: 1307
    functionLinenumberEnd: 1331
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - RecordMiss
    - available::fetch_add
    - TC_ASSERT_GT
    - subtract_at_least
    - TC_ASSERT_LE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    - class_to_size
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::Grow(int cpu, size_t size_class,\n                                      size_t
      desired_increase)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1335,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1339,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1343,1
    - Dst: reclaim_used_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1345,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1350,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1357,1
    - Dst: reclaim_used_bytes::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1334
    functionDepth: 3
    functionLinenumber: 1334
    functionLinenumberEnd: 1368
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TryReclaimingCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    - reclaim_used_bytes::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - reclaim_used_bytes::load
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::TryReclaimingCaches()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1374,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1377,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1382,1
    - Dst: GetAndUpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1386,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1405,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1405,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1405,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1443,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1458,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1460,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1467,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1469,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1485,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1492,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 3
    argNames:
    - start_size_class
    - max_capacity
    - valid_entries
    argTypes:
    - int
    - PerSizeClassMaxCapacity*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1371
    functionDepth: 2
    functionLinenumber: 1371
    functionLinenumberEnd: 1498
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - num_objects_to_move
    - load
    - std::min<size_t>
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - absl::FixedArray::end
    - NumCPUs
    - std::min
    - std::max
    - std::sort
    - TC_ASSERT_LT
    - absl::FixedArray::begin
    - GetAndUpdateIntervalMisses
    linkageType: ''
    returnType: int
    signature: "int CpuCache<Forwarder>::GetUpdatedMaxCapacities(\n    int start_size_class,
      PerSizeClassMaxCapacity* max_capacity,\n    int valid_entries)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1512,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1513,1
    - Dst: munlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1520,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1524,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1525,1
    - Dst: madvise_failed_bytes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1530,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - slab_addr
    - slab_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1533
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - munlock
    - madvise_failed_bytes::fetch_add
    - madvise
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::MadviseAwaySlabs(void* slab_addr, size_t
      slab_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1538,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1539,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1547,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1548,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1555,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1562,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1563,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1565,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1568,1
    - Dst: lock::Lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1572,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1574,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1578,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1582,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1584,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1584,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1586,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1589,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1592,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1596,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1598,1
    - Dst: lock::Unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1601,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1603,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1536
    functionDepth: 2
    functionLinenumber: 1536
    functionLinenumberEnd: 1607
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClassMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ShiftOffset
    - lock::Lock
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    - numa_topology
    - NumCPUs
    - store
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ArenaUpdateAllocatedAndNonresident
    - AllocReportedImpending
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - GetShift
    - active_partitions
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
    - load
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - std::tie
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
    - lock::Unlock
    - AllocationGuard::AllocationGuard
    - UpdateMaxCapacities
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSizeClassMaxCapacities()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1611,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1614,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1623,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1624,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1627,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1631,1
    - Dst: UpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1636,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1610
    functionDepth: 3
    functionLinenumber: 1610
    functionLinenumberEnd: 1645
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - UpdateIntervalMisses
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - NumCPUs
    - store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSizeClasses()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1649,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1660,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: available::exchange
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1677,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1682,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1682,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1684,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1692,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1693,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1696,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1709,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1713,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1714,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1718,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1719,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1721,1
    - Dst: GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1723,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1725,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1731,1
    - Dst: num_size_class_resizes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1732,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1648
    functionDepth: 4
    functionLinenumber: 1648
    functionLinenumberEnd: 1734
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
    - available::fetch_add
    - std::sort
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - GrowOtherCache
    - GetShift
    - max_capacity
    - absl::FixedArray::end
    - num_objects_to_move
    - TC_ASSERT_GE
    - available::exchange
    - GetIntervalMisses
    - std::min<size_t>
    - available::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    - num_size_class_resizes::fetch_add
    - TC_ASSERT_LT
    - absl::FixedArray::begin
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeCpuSizeClasses(int cpu)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1742,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1750,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1754,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1776,1
    - Dst: std::partial_sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1777,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1777,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1777,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1778,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1788,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1793,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1793,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1794,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1800,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1737
    functionDepth: 2
    functionLinenumber: 1737
    functionLinenumberEnd: 1802
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShuffleCpuCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - static_cast<size_t>
    - NumCPUs
    - std::min
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    - std::partial_sort
    - absl::FixedArray::begin
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ShuffleCpuCaches()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1811,1
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1813,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1840,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1841,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1855,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1859,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1859,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1862,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1874,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1876,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1890,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1891,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1907,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1908,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 4
    argNames:
    - cpu
    - max_populated_cpu
    - skip_cpus
    - bytes
    argTypes:
    - int
    - int
    - absl::Span<CpuMissStat>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1805
    functionDepth: 3
    functionLinenumber: 1805
    functionLinenumberEnd: 1910
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - capacity::fetch_sub
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - available::fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - available::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    - subtract_at_least
    - TC_ASSERT_LE
    - capacity::fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::StealFromOtherCache(\n    int cpu, int max_populated_cpu,
      absl::Span<CpuMissStat> skip_cpus,\n    size_t bytes)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1914,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1914,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1915,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1916,1
    - Dst: lock::IsHeld
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1916,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1917,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1922,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1923,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1924,1
    - Dst: Tick
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1957,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1962,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1965,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1966,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1913
    functionDepth: 2
    functionLinenumber: 1913
    functionLinenumberEnd: 1971
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 11
    functionsReached:
    - num_objects_to_move
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - Length
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - lock::IsHeld
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    - NumCPUs
    - TC_ASSERT
    - TC_ASSERT_EQ
    - Tick
    - class_to_size
    linkageType: ''
    returnType: size_t
    signature: size_t CpuCache<Forwarder>::ShrinkOtherCache(int cpu, size_t size_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1996,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - cpu
    - dest_size_classes
    - bytes
    argTypes:
    - int
    - absl::Span<SizeClassMissStat>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1974
    functionDepth: 3
    functionLinenumber: 1974
    functionLinenumberEnd: 2005
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu(\n
      \   int cpu, absl::Span<SizeClassMissStat> dest_size_classes, size_t bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlowNoHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2009,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 2008
    functionDepth: 4
    functionLinenumber: 2008
    functionLinenumberEnd: 2011
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlowNoHooks
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::DeallocateSlow(void* ptr, size_t size_class)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2015,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2016,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2018,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2019,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2020,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2022,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2024,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2028,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2029,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2035,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2037,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2042,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2042,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2014
    functionDepth: 3
    functionLinenumber: 2014
    functionLinenumberEnd: 2046
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlowNoHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - sharded_transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    - std::min
    - PopBatch
    - absl::Span<void*>
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::DeallocateSlowNoHooks(void* ptr, size_t size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2050,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2051,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2057,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2049
    functionDepth: 2
    functionLinenumber: 2049
    functionLinenumberEnd: 2061
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocated
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - class_to_size
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - TC_ASSERT_GE
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::Allocated(int target_cpu) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2065,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2066,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2072,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2064
    functionDepth: 2
    functionLinenumber: 2064
    functionLinenumberEnd: 2076
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 13
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - class_to_size
    - TC_ASSERT_GE
    - Length
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::UsedBytes(int target_cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2080,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2079
    functionDepth: 1
    functionLinenumber: 2079
    functionLinenumberEnd: 2082
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 50
    functionsReached:
    - populated::load
    - TC_ASSERT_GE
    linkageType: ''
    returnType: bool
    signature: bool CpuCache<Forwarder>::HasPopulated(int target_cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2086,1
    - Dst: populated_physical_cpu::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2085
    functionDepth: 1
    functionLinenumber: 2085
    functionLinenumberEnd: 2089
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - populated_physical_cpu::load
    - TC_ASSERT_GE
    linkageType: ''
    returnType: bool
    signature: bool CpuCache<Forwarder>::HasPhysicalPopulated(int target_cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2092
    functionDepth: 1
    functionLinenumber: 2092
    functionLinenumberEnd: 2094
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MetadataMemoryUsage
    linkageType: ''
    returnType: PerCPUMetadataState
    signature: PerCPUMetadataState CpuCache<Forwarder>::MetadataMemoryUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2099,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2097
    functionDepth: 2
    functionLinenumber: 2097
    functionLinenumberEnd: 2103
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalUsedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::TotalUsedBytes() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2108,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2111,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2106
    functionDepth: 2
    functionLinenumber: 2106
    functionLinenumberEnd: 2119
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalObjectsOfClass
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - Length
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t CpuCache<Forwarder>::TotalObjectsOfClass(\n    size_t size_class)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2124
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - available::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::Unallocated(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2129
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 27
    functionsReached:
    - capacity::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::Capacity(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2132
    functionDepth: 0
    functionLinenumber: 2132
    functionLinenumberEnd: 2134
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 15
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::CacheLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2140
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::SetCacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::SetCacheLimit(uint64_t v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2146,1
    - Dst: forwarder_::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2148,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2152,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2155,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2156,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - cpu
    - size_class
    - batch
    - count
    - cap
    argTypes:
    - int
    - size_t
    - void**
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2158
    functionName: "operator()(int cpu, size_t size_class, void** batch, size_t count,\n
      \                 size_t cap) const"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - available::fetch_add
    - ReleaseToBackingCache
    - forwarder_::class_to_size
    - std::min
    - absl::Span<void*>
    - forwarder_::num_objects_to_move
    linkageType: ''
    returnType: void
    signature: "void operator()(int cpu, size_t size_class, void** batch, size_t count,\n
      \                 size_t cap) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2171,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2176,1
    - Dst: num_reclaims::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2179,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2180,1
    - Dst: last_reclaim::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2182,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2165
    functionDepth: 2
    functionLinenumber: 2165
    functionLinenumberEnd: 2186
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - num_reclaims::load
    - num_reclaims::store
    - Drain
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - last_reclaim::store
    - absl::base_internal::CycleClock::Now
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::Reclaim(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_size_class_resizes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2188
    functionDepth: 0
    functionLinenumber: 2188
    functionLinenumberEnd: 2190
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - num_size_class_resizes::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::GetNumResizes(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2195,1
    - Dst: num_size_class_resizes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2200
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - NumCPUs
    - num_size_class_resizes::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::GetNumResizes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2205
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - num_reclaims::load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::GetNumReclaims(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2210,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2208
    functionDepth: 0
    functionLinenumber: 2208
    functionLinenumberEnd: 2214
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - num_reclaims::load
    - NumCPUs
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CpuCache<Forwarder>::GetNumReclaims() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2221,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2222,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2224,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2226,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2233,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2235,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - alloc
    - shift
    - num_cpus
    - shift_offset
    - resize_offset
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - subtle::percpu::Shift
    - int
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2217
    functionDepth: 1
    functionLinenumber: 2217
    functionLinenumberEnd: 2240
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 11
    functionsReached:
    - GetSlabsAllocSize
    - alloc
    - ANNOTATE_MEMORY_IS_INITIALIZED
    - TC_ASSERT_LT
    - madvise
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> CpuCache<Forwarder>::AllocOrReuseSlabs(\n
      \   absl::FunctionRef<void*(size_t, std::align_val_t)> alloc,\n    subtle::percpu::Shift
      shift, int num_cpus, uint8_t shift_offset,\n    uint8_t resize_offset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2245,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2248,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2251,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2259,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2278,1
    - Dst: per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2243
    functionDepth: 3
    functionLinenumber: 2243
    functionLinenumberEnd: 2287
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - per_cpu_caches_dynamic_slab_grow_threshold
    - per_cpu_caches_dynamic_slab_shrink_threshold
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::DynamicSlabResize
    signature: typename CpuCache<Forwarder>::DynamicSlabResize CpuCache<Forwarder>::ShouldResizeSlab()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2291,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2293,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2294,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2300,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2299,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2306,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2305,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2312,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2314,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2317,1
    - Dst: lock::Lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2319,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2322,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2326,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2329,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2329,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2331,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2334,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2335,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2338,1
    - Dst: lock::Unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2341,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2343,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2290
    functionDepth: 3
    functionLinenumber: 2290
    functionLinenumberEnd: 2347
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSlabIfNeeded
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ArenaUpdateAllocatedAndNonresident
    - load
    - AllocReportedImpending
    - ResizeSlabs
    - ShiftOffset
    - lock::Unlock
    - lock::Lock
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    - fetch_add
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
    - std::tie
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - GetShift
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSlabIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2355,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - is_alloc
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2356
      start: 2350
    functionDepth: 0
    functionLinenumber: 2350
    functionLinenumberEnd: 2356
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - load
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::RecordCacheMissStat(const int cpu,\n                                                     const
      bool is_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2362,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2367
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 12
    functionsReached:
    - load
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::CpuCacheMissStats
    signature: typename CpuCache<Forwarder>::CpuCacheMissStats CpuCache<Forwarder>::GetTotalCacheMissStats(int
      cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2373,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2370
    functionDepth: 1
    functionLinenumber: 2370
    functionLinenumberEnd: 2376
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 13
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - NumCPUs
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::CpuCacheMissStats
    signature: typename CpuCache<Forwarder>::CpuCacheMissStats CpuCache<Forwarder>::GetTotalCacheMissStats()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2382,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2383,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2386,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2388,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2392,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2379
    functionDepth: 1
    functionLinenumber: 2379
    functionLinenumberEnd: 2394
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 11
    functionsReached:
    - load
    - TC_ASSERT_LT
    - get_safe_miss_diff
    - TC_ASSERT_NE
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::CpuCacheMissStats
    signature: "typename CpuCache<Forwarder>::CpuCacheMissStats CpuCache<Forwarder>::GetIntervalCacheMissStats(int
      cpu,\n                                               MissCount miss_count) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2399,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2405,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2397
    functionDepth: 1
    functionLinenumber: 2397
    functionLinenumberEnd: 2409
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 7
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::UpdateIntervalCacheMissStats(int cpu,\n
      \                                                      MissCount miss_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2417,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2412
    functionDepth: 2
    functionLinenumber: 2412
    functionLinenumberEnd: 2420
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::CpuCacheMissStats
    signature: "typename CpuCache<Forwarder>::CpuCacheMissStats CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats(int
      cpu,\n                                                        MissCount miss_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cpu
    - size_class
    - total_type
    - interval_type
    argTypes:
    - int
    - size_t
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2423
    functionDepth: 0
    functionLinenumber: 2423
    functionLinenumberEnd: 2428
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalSizeClassMisses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - GetIntervalMisses
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::GetIntervalSizeClassMisses(\n    int cpu,
      size_t size_class, PerClassMissType total_type,\n    PerClassMissType interval_type)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2439,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2440,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2444,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2446,1
    - Dst: last_reclaim::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2453,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2456,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2459,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2462,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2463,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2464,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2481,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2483,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2502,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2431
    functionDepth: 2
    functionLinenumber: 2431
    functionLinenumberEnd: 2511
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - GetIntervalMisses
    - load
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - absl::base_internal::CycleClock::Now
    - NumCPUs
    - last_reclaim::load
    - std::min
    - std::max
    linkageType: ''
    returnType: typename CpuCache<Forwarder>::SizeClassCapacityStats
    signature: typename CpuCache<Forwarder>::SizeClassCapacityStats CpuCache<Forwarder>::GetSizeClassCapacityStats(size_t
      size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2515,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2516,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2517,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2518,1
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2520,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2521,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2526,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2527,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2528,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2529,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2530,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2535,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2539,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2540,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2541,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2544,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2545,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2552,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2554,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2554,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2556,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2558,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2560,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2562,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2566,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2567,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2568,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2571,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2577,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2580,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2581,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2583,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2585,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2589,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2590,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2592,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2595,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2596,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2599,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2601,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2604
      start: 2514
    functionDepth: 3
    functionLinenumber: 2514
    functionLinenumberEnd: 2604
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    - printf
    - NumCPUs
    - madvise_failed_bytes::load
    - absl::ToInt64Microseconds
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - CpuSet::IsSet
    - GetShift
    - print_miss_stats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    - load
    - FillActiveCpuMask
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - safe_div
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Print(Printer& out) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2608,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2611,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2612,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2613,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2614,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2615,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2619,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2620,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2621,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2622,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2623,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2624,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2625,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2626,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2626,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2627,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2628,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2629,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2630,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2631,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2634,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2638,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2639,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2640,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2640,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2641,1
    - Dst: PbtxtRegion::PrintDouble
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2642,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2643,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2644,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2645,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2645,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2647,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2648,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2649,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2650,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2651,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2652,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2653,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2654,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2655,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2659,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2659,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2661,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2662,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2663,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2663,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2665,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2665,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2668,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2607
    functionDepth: 3
    functionLinenumber: 2607
    functionLinenumberEnd: 2671
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    - NumCPUs
    - madvise_failed_bytes::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - CpuSet::IsSet
    - GetShift
    - PbtxtRegion::PrintDouble
    - CreateSubRegion
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    - load
    - PrintI64
    - PbtxtRegion::PrintBool
    - absl::ToInt64Nanoseconds
    - FillActiveCpuMask
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::PrintInPbtxt(PbtxtRegion& region) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2676
    functionName: CpuCache<Forwarder>::PerClassResizeInfo::Init()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::PerClassResizeInfo::Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2681,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2683,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2691,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - overflow
    - grow
    - successive
    argTypes:
    - bool
    - bool
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2695
      start: 2679
    functionDepth: 0
    functionLinenumber: 2679
    functionLinenumberEnd: 2695
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::Update(\n    bool overflow,
      bool grow, uint32_t* successive)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - memcpy
    - load
    - store
    linkageType: ''
    returnType: bool
    signature: "bool CpuCache<Forwarder>::PerClassResizeInfo::Update(\n    bool overflow,
      bool grow, uint32_t* successive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2699,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2701,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2703,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2706
    functionName: CpuCache<Forwarder>::PerClassResizeInfo::Tick()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - memcpy
    - load
    - store
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CpuCache<Forwarder>::PerClassResizeInfo::Tick()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2712,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2709
    functionDepth: 0
    functionLinenumber: 2709
    functionLinenumberEnd: 2713
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::RecordMiss(\n    PerClassMissType
      type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::PerClassResizeInfo::RecordMiss(\n    PerClassMissType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2719
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::GetTotalMisses(\n    PerClassMissType
      type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::PerClassResizeInfo::GetTotalMisses(\n
      \   PerClassMissType type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2725,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2726,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2729,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2731,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2722
    functionDepth: 1
    functionLinenumber: 2722
    functionLinenumberEnd: 2735
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::GetAndUpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - TC_ASSERT_LT
    - store
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::PerClassResizeInfo::GetAndUpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2740,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2741,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2744,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2749
      start: 2738
    functionDepth: 1
    functionLinenumber: 2738
    functionLinenumberEnd: 2749
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::GetIntervalMisses(\n    PerClassMissType
      total_type, PerClassMissType interval_type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - TC_ASSERT_LT
    linkageType: ''
    returnType: size_t
    signature: "size_t CpuCache<Forwarder>::PerClassResizeInfo::GetIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTotalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2754,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2761
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - GetTotalMisses
    - store
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2775,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2775,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2779,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2779,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2794,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2794,1
    - Dst: tcmalloc_internal::ThreadCache::BecomeIdle
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2772
    functionDepth: 2
    functionLinenumber: 2772
    functionLinenumberEnd: 2800
    functionName: tcmalloc_internal::UsePerCpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::ThreadCache::BecomeIdle
    - CpuCacheActive
    - tcmalloc_internal::subtle::percpu::IsFast
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool UsePerCpuCache(State& state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:73,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:74,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:76,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:80,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:83,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:89,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:93,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:94,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - Length
    - GTEST_SKIP
    - IsExpandedSizeClass
    - ColdFeatureActive
    - GetParam
    - tcmalloc_internal::Span::CalcReciprocal
    - in_bytes
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:100,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:102,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:105,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:106,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:107,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: Span*::FreelistPush
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: absl::FixedArray::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:123,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:126,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 127
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - Span*::FreelistPush
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - absl::MakeSpan
    - EXPECT_EQ
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - ASSERT_EQ
    - ASSERT_NE
    - absl::FixedArray::back
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Simple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - size_class
    - object_size
    - objects_per_span
    - pages_per_span
    - batch_size
    argTypes:
    - int
    - size_t
    - size_t
    - Length
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::StaticForwarderEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void StaticForwarderEnvironment(int size_class, size_t object_size,\n
      \                            size_t objects_per_span, Length pages_per_span,\n
      \                            int batch_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~StaticForwarderEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~StaticForwarderEnvironment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:149,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:152,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:156,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 160
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:167,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:171,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:178,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:179,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:180,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:181,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:181,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:188,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:191,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::push_back
    - EXPECT_EQ
    - absl::MakeSpan
    - pagemap
    - span::first_page
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - clear
    - span::last_page
    - std::move
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:197,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:199,1
    - Dst: std::make_unique<SpanData>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:201,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:204,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:205,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:206,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:214,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 219
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 1
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - absl::MakeSpan
    - EXPECT_EQ
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - EXPECT_LE
    - push_back
    - std::make_unique<SpanData>
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - std::move
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void Grow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:231,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:231,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:232,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:243,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:245,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:246,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:246,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:251,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:256,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 1
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - empty
    - std::vector::push_back
    - span::last_page
    - EXPECT_EQ
    - absl::MakeSpan
    - pagemap
    - span::first_page
    - back
    - size
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - pop_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - absl::BitGen
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 1
    functionsReached:
    - absl::c_shuffle
    linkageType: ''
    returnType: void
    signature: void Shuffle(absl::BitGen& rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::BytesAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    linkageType: ''
    returnType: int64_t
    signature: int64_t BytesAllocated()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_GUARDED_BY(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats PageHeapStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:292,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:295,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:300,1
    - Dst: StaticForwarderEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:300,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:302,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:302,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:304,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:306,1
    - Dst: StaticForwarderEnvironment::BytesAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:313,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:315,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:315,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 318
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - StaticForwarderEnvironment::RandomlyPoke
    - GTEST_SKIP
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    - StaticForwarderEnvironment::BytesAllocated
    - EXPECT_LE
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Fuzz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:73,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:74,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:76,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:80,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:83,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:89,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:93,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:94,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - Length
    - GTEST_SKIP
    - IsExpandedSizeClass
    - ColdFeatureActive
    - GetParam
    - tcmalloc_internal::Span::CalcReciprocal
    - in_bytes
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:100,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:102,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:105,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:106,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:107,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: Span*::FreelistPush
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: absl::FixedArray::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:123,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:126,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 127
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - Span*::FreelistPush
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - absl::MakeSpan
    - EXPECT_EQ
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - ASSERT_EQ
    - ASSERT_NE
    - absl::FixedArray::back
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Simple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - size_class
    - object_size
    - objects_per_span
    - pages_per_span
    - batch_size
    argTypes:
    - int
    - size_t
    - size_t
    - Length
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::StaticForwarderEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void StaticForwarderEnvironment(int size_class, size_t object_size,\n
      \                            size_t objects_per_span, Length pages_per_span,\n
      \                            int batch_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~StaticForwarderEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~StaticForwarderEnvironment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:149,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:152,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:156,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 160
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:167,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:171,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:178,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:179,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:180,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:181,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:181,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:188,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:191,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::push_back
    - EXPECT_EQ
    - absl::MakeSpan
    - pagemap
    - span::first_page
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - clear
    - span::last_page
    - std::move
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:197,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:199,1
    - Dst: std::make_unique<SpanData>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:201,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:204,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:205,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:206,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:214,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 219
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 2
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - absl::MakeSpan
    - EXPECT_EQ
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - EXPECT_LE
    - push_back
    - std::make_unique<SpanData>
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - std::move
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void Grow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:231,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:231,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:232,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:243,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:245,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:246,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:246,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:251,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:256,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 2
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - empty
    - std::vector::push_back
    - span::last_page
    - EXPECT_EQ
    - absl::MakeSpan
    - pagemap
    - span::first_page
    - back
    - size
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - pop_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - absl::BitGen
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 2
    functionsReached:
    - absl::c_shuffle
    linkageType: ''
    returnType: void
    signature: void Shuffle(absl::BitGen& rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::BytesAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    linkageType: ''
    returnType: int64_t
    signature: int64_t BytesAllocated()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_GUARDED_BY(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 1
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats PageHeapStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:292,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:295,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:300,1
    - Dst: StaticForwarderEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:300,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:302,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:302,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:304,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:306,1
    - Dst: StaticForwarderEnvironment::BytesAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:313,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:315,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:315,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 318
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - StaticForwarderEnvironment::RandomlyPoke
    - GTEST_SKIP
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    - StaticForwarderEnvironment::BytesAllocated
    - EXPECT_LE
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Fuzz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:334,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:334,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:336,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:337,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:338,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:338,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:339,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:340,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:340,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:344,1
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:344,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:355,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:355,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:356,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:356,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:360,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:367,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:367,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:370,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:374,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:379,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 382
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_CALL
    - absl::bit_width
    - static_cast<unsigned>
    - absl::MakeSpan
    - EXPECT_EQ
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - EXPECT_LE
    - TypeParam::objects_per_span
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, IsolatedSmoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:390,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:400,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:406,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:411,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:412,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:419,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:424,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:424,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:428,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:431,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:431,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:452,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:455,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:455,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:459,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:475,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 477
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - std::shuffle
    - absl::MakeSpan
    - EXPECT_EQ
    - std::vector::emplace_back
    - std::vector::size
    - std::vector::begin
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - TC_ASSERT_LE
    - GetParam
    - std::min
    - std::vector::end
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanUtilizationHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:491,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:492,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:494,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:495,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:495,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:498,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:498,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 502
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - absl::MakeSpan
    - EXPECT_GT
    - TypeParam::central_freelist
    - EXPECT_LE
    - TypeParam::objects_per_span
    - TypeParam::batch_size
    - std::vector::data
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SinglePopulate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:511,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:521,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:521,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:523,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:529,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:530,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:533,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:533,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:542,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:546,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:548,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:548,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:554,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' e'
    - f
    argTypes:
    - TypeParam
    - IndexingFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 555
    functionName: tcmalloc::tcmalloc_internal::TestIndexing
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - objects_per_span
    - absl::MakeSpan
    - EXPECT_EQ
    - EXPECT_LT
    - TC_ASSERT_GT
    - central_freelist
    - f
    - TC_ASSERT
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TestIndexing(TypeParam& e, IndexingFunc f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:559,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:560,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:565,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 568
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - tcmalloc::tcmalloc_internal::TestIndexing
    - GTEST_SKIP
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, BitwidthIndexedNonEmptyLists)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:572,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 580
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestIndexing
    - GTEST_SKIP
    - TypeParam::objects_per_span
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, DirectIndexedEncodedNonEmptyLists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:594,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:608,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:622,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:622,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:627,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:629,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:629,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:634,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:634,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:642,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:642,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:647,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:649,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:649,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:655,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:656,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:656,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:660,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:664,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:664,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:669,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:669,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:678,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:678,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:681,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:685,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 689
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - absl::MakeSpan
    - EXPECT_EQ
    - size
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - push_back
    - GetParam
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanPriority)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:695,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:702,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:702,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:703,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:703,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:704,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:711,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:714,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:716,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:720,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:720,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:723,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:723,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:724,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:727,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:729,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:733,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:733,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:736,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:736,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:737,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:740,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:742,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:746,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:746,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:749,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:749,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:750,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:753,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:755,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 760
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - std::string::begin
    - strlen
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - absl::MakeSpan
    - EXPECT_THAT
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - std::string::c_str
    - TypeParam::objects_per_span
    - testing::HasSubstr
    - GetParam
    - std::string::size
    - std::string::resize
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:769,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:769,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:770,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:774,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:785,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:785,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:789,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:797,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:803,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:803,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:820,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:822,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:823,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:828,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:838,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:838,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:840,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 841
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - absl::bit_width
    - std::shuffle
    - EXPECT_NE
    - std::vector::push_back
    - SpanStats::num_live_spans
    - absl::MakeSpan
    - EXPECT_EQ
    - std::vector::size
    - std::vector::begin
    - EXPECT_GT
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, MultipleSpans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:845,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:845,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:848,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:853,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:853,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:858,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:858,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:859,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:863,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 865
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - AllocateSpan
    - EXPECT_CALL
    - absl::MakeSpan
    - ASSERT_GE
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    - test_function
    - DeallocateSpans
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, PassSpanDensityToPageheap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:874,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:874,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:875,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:877,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:879,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:882,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:891,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:891,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:892,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:892,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:895,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:895,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:897,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 901
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - absl::MakeSpan
    - benchmark::DoNotOptimize
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - GetParam
    - ASSERT_EQ
    - Span*::Fragmentation
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanFragmentation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:334,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:334,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:336,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:337,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:338,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:338,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:339,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:340,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:340,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:344,1
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:344,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:355,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:355,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:356,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:356,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:360,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:367,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:367,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:370,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:374,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:379,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 382
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_CALL
    - absl::bit_width
    - static_cast<unsigned>
    - absl::MakeSpan
    - EXPECT_EQ
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - EXPECT_LE
    - TypeParam::objects_per_span
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, IsolatedSmoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:390,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:400,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:406,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:411,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:412,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:419,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:424,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:424,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:428,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:431,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:431,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:452,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:455,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:455,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:459,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:475,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 477
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - std::shuffle
    - absl::MakeSpan
    - EXPECT_EQ
    - std::vector::emplace_back
    - std::vector::size
    - std::vector::begin
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - TC_ASSERT_LE
    - GetParam
    - std::min
    - std::vector::end
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanUtilizationHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:491,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:492,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:494,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:495,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:495,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:498,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:498,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 502
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - absl::MakeSpan
    - EXPECT_GT
    - TypeParam::central_freelist
    - EXPECT_LE
    - TypeParam::objects_per_span
    - TypeParam::batch_size
    - std::vector::data
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SinglePopulate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:511,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:521,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:521,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:523,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:529,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:530,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:533,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:533,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:542,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:546,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:548,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:548,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:554,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' e'
    - f
    argTypes:
    - TypeParam
    - IndexingFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 555
    functionName: tcmalloc::tcmalloc_internal::TestIndexing
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 2
    functionsReached:
    - objects_per_span
    - absl::MakeSpan
    - EXPECT_EQ
    - EXPECT_LT
    - TC_ASSERT_GT
    - central_freelist
    - f
    - TC_ASSERT
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TestIndexing(TypeParam& e, IndexingFunc f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:559,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:560,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:565,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 568
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - tcmalloc::tcmalloc_internal::TestIndexing
    - GTEST_SKIP
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, BitwidthIndexedNonEmptyLists)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:572,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 580
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestIndexing
    - GTEST_SKIP
    - TypeParam::objects_per_span
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, DirectIndexedEncodedNonEmptyLists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:594,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:608,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:622,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:622,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:627,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:629,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:629,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:634,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:634,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:642,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:642,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:647,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:649,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:649,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:655,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:656,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:656,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:660,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:664,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:664,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:669,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:669,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:678,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:678,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:681,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:685,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 689
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - absl::MakeSpan
    - EXPECT_EQ
    - size
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - push_back
    - GetParam
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanPriority)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:695,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:702,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:702,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:703,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:703,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:704,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:711,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:714,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:716,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:720,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:720,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:723,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:723,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:724,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:727,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:729,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:733,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:733,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:736,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:736,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:737,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:740,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:742,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:746,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:746,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:749,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:749,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:750,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:753,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:755,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 760
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - std::string::begin
    - strlen
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - absl::MakeSpan
    - EXPECT_THAT
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - std::string::c_str
    - TypeParam::objects_per_span
    - testing::HasSubstr
    - GetParam
    - std::string::size
    - std::string::resize
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:769,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:769,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:770,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:774,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:785,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:785,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:789,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:797,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:803,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:803,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:820,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:822,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:823,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:828,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:838,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:838,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:840,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 841
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - absl::bit_width
    - std::shuffle
    - EXPECT_NE
    - std::vector::push_back
    - SpanStats::num_live_spans
    - absl::MakeSpan
    - EXPECT_EQ
    - std::vector::size
    - std::vector::begin
    - EXPECT_GT
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, MultipleSpans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:845,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:845,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:848,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:853,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:853,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:858,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:858,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:859,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:863,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 865
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - AllocateSpan
    - EXPECT_CALL
    - absl::MakeSpan
    - ASSERT_GE
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    - test_function
    - DeallocateSpans
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, PassSpanDensityToPageheap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:874,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:874,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:875,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:877,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:879,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:882,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:891,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:891,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:892,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:892,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:895,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:895,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:897,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 901
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - absl::MakeSpan
    - benchmark::DoNotOptimize
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - GetParam
    - ASSERT_EQ
    - Span*::Fragmentation
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanFragmentation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:73,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:74,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:76,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:80,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:83,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:89,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:93,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:94,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - Length
    - GTEST_SKIP
    - IsExpandedSizeClass
    - ColdFeatureActive
    - GetParam
    - tcmalloc_internal::Span::CalcReciprocal
    - in_bytes
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:100,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:102,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:105,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:106,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:107,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: Span*::FreelistPush
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: absl::FixedArray::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:123,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:126,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 127
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - Span*::FreelistPush
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - absl::MakeSpan
    - EXPECT_EQ
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - ASSERT_EQ
    - ASSERT_NE
    - absl::FixedArray::back
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Simple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - size_class
    - object_size
    - objects_per_span
    - pages_per_span
    - batch_size
    argTypes:
    - int
    - size_t
    - size_t
    - Length
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::StaticForwarderEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void StaticForwarderEnvironment(int size_class, size_t object_size,\n
      \                            size_t objects_per_span, Length pages_per_span,\n
      \                            int batch_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~StaticForwarderEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~StaticForwarderEnvironment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:149,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:152,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:156,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 160
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:167,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:171,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:178,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:179,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:180,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:181,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:181,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:188,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:191,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::push_back
    - EXPECT_EQ
    - absl::MakeSpan
    - pagemap
    - span::first_page
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - clear
    - span::last_page
    - std::move
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:197,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:199,1
    - Dst: std::make_unique<SpanData>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:201,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:204,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:205,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:206,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:214,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 219
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 3
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - absl::MakeSpan
    - EXPECT_EQ
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - EXPECT_LE
    - push_back
    - std::make_unique<SpanData>
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - std::move
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void Grow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:231,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:231,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:232,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:243,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:245,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:246,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:246,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:251,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:256,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 3
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - empty
    - std::vector::push_back
    - span::last_page
    - EXPECT_EQ
    - absl::MakeSpan
    - pagemap
    - span::first_page
    - back
    - size
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - pop_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - absl::BitGen
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 3
    functionsReached:
    - absl::c_shuffle
    linkageType: ''
    returnType: void
    signature: void Shuffle(absl::BitGen& rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::BytesAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    linkageType: ''
    returnType: int64_t
    signature: int64_t BytesAllocated()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_GUARDED_BY(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 2
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats PageHeapStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:292,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:295,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:300,1
    - Dst: StaticForwarderEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:300,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:302,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:302,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:304,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:306,1
    - Dst: StaticForwarderEnvironment::BytesAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:313,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:315,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:315,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 318
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - StaticForwarderEnvironment::RandomlyPoke
    - GTEST_SKIP
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    - StaticForwarderEnvironment::BytesAllocated
    - EXPECT_LE
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Fuzz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:73,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:74,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:76,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:80,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:83,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:89,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:93,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:94,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - Length
    - GTEST_SKIP
    - IsExpandedSizeClass
    - ColdFeatureActive
    - GetParam
    - tcmalloc_internal::Span::CalcReciprocal
    - in_bytes
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:100,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:102,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:105,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:106,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:107,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: Span*::FreelistPush
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: absl::FixedArray::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:123,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:126,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 127
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - Span*::FreelistPush
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - absl::MakeSpan
    - EXPECT_EQ
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - ASSERT_EQ
    - ASSERT_NE
    - absl::FixedArray::back
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Simple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - size_class
    - object_size
    - objects_per_span
    - pages_per_span
    - batch_size
    argTypes:
    - int
    - size_t
    - size_t
    - Length
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::StaticForwarderEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void StaticForwarderEnvironment(int size_class, size_t object_size,\n
      \                            size_t objects_per_span, Length pages_per_span,\n
      \                            int batch_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~StaticForwarderEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~StaticForwarderEnvironment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:149,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:152,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:156,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 160
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:167,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:171,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:178,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:179,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:180,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:181,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:181,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:188,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:191,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::push_back
    - EXPECT_EQ
    - absl::MakeSpan
    - pagemap
    - span::first_page
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - clear
    - span::last_page
    - std::move
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:197,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:199,1
    - Dst: std::make_unique<SpanData>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:201,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:204,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:205,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:206,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:214,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 219
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 4
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - absl::MakeSpan
    - EXPECT_EQ
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - EXPECT_LE
    - push_back
    - std::make_unique<SpanData>
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - std::move
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void Grow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:231,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:231,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:232,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:243,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:245,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:246,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:246,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:251,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:256,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 4
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - empty
    - std::vector::push_back
    - span::last_page
    - EXPECT_EQ
    - absl::MakeSpan
    - pagemap
    - span::first_page
    - back
    - size
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - pop_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - absl::BitGen
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 4
    functionsReached:
    - absl::c_shuffle
    linkageType: ''
    returnType: void
    signature: void Shuffle(absl::BitGen& rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::BytesAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    linkageType: ''
    returnType: int64_t
    signature: int64_t BytesAllocated()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_GUARDED_BY(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 3
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats PageHeapStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:292,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:295,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:300,1
    - Dst: StaticForwarderEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:300,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:302,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:302,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:304,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:306,1
    - Dst: StaticForwarderEnvironment::BytesAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:313,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:315,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:315,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 318
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - StaticForwarderEnvironment::RandomlyPoke
    - GTEST_SKIP
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    - StaticForwarderEnvironment::BytesAllocated
    - EXPECT_LE
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Fuzz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:334,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:334,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:336,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:337,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:338,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:338,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:339,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:340,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:340,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:344,1
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:344,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:355,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:355,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:356,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:356,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:360,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:367,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:367,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:370,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:374,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:379,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 382
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_CALL
    - absl::bit_width
    - static_cast<unsigned>
    - absl::MakeSpan
    - EXPECT_EQ
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - EXPECT_LE
    - TypeParam::objects_per_span
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, IsolatedSmoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:390,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:400,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:406,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:411,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:412,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:419,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:424,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:424,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:428,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:431,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:431,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:452,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:455,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:455,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:459,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:475,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 477
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - std::shuffle
    - absl::MakeSpan
    - EXPECT_EQ
    - std::vector::emplace_back
    - std::vector::size
    - std::vector::begin
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - TC_ASSERT_LE
    - GetParam
    - std::min
    - std::vector::end
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanUtilizationHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:491,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:492,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:494,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:495,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:495,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:498,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:498,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 502
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - absl::MakeSpan
    - EXPECT_GT
    - TypeParam::central_freelist
    - EXPECT_LE
    - TypeParam::objects_per_span
    - TypeParam::batch_size
    - std::vector::data
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SinglePopulate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:511,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:521,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:521,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:523,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:529,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:530,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:533,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:533,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:542,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:546,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:548,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:548,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:554,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' e'
    - f
    argTypes:
    - TypeParam
    - IndexingFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 555
    functionName: tcmalloc::tcmalloc_internal::TestIndexing
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 4
    functionsReached:
    - objects_per_span
    - absl::MakeSpan
    - EXPECT_EQ
    - EXPECT_LT
    - TC_ASSERT_GT
    - central_freelist
    - f
    - TC_ASSERT
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TestIndexing(TypeParam& e, IndexingFunc f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:559,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:560,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:565,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 568
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - tcmalloc::tcmalloc_internal::TestIndexing
    - GTEST_SKIP
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, BitwidthIndexedNonEmptyLists)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:572,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 580
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestIndexing
    - GTEST_SKIP
    - TypeParam::objects_per_span
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, DirectIndexedEncodedNonEmptyLists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:594,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:608,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:622,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:622,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:627,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:629,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:629,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:634,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:634,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:642,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:642,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:647,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:649,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:649,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:655,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:656,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:656,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:660,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:664,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:664,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:669,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:669,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:678,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:678,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:681,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:685,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 689
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - absl::MakeSpan
    - EXPECT_EQ
    - size
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - push_back
    - GetParam
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanPriority)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:695,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:702,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:702,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:703,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:703,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:704,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:711,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:714,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:716,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:720,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:720,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:723,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:723,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:724,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:727,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:729,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:733,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:733,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:736,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:736,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:737,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:740,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:742,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:746,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:746,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:749,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:749,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:750,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:753,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:755,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 760
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - std::string::begin
    - strlen
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - absl::MakeSpan
    - EXPECT_THAT
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - std::string::c_str
    - TypeParam::objects_per_span
    - testing::HasSubstr
    - GetParam
    - std::string::size
    - std::string::resize
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:769,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:769,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:770,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:774,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:785,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:785,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:789,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:797,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:803,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:803,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:820,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:822,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:823,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:828,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:838,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:838,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:840,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 841
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - absl::bit_width
    - std::shuffle
    - EXPECT_NE
    - std::vector::push_back
    - SpanStats::num_live_spans
    - absl::MakeSpan
    - EXPECT_EQ
    - std::vector::size
    - std::vector::begin
    - EXPECT_GT
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, MultipleSpans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:845,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:845,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:848,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:853,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:853,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:858,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:858,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:859,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:863,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 865
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - AllocateSpan
    - EXPECT_CALL
    - absl::MakeSpan
    - ASSERT_GE
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    - test_function
    - DeallocateSpans
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, PassSpanDensityToPageheap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:874,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:874,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:875,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:877,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:879,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:882,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:891,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:891,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:892,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:892,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:895,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:895,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:897,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 901
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - absl::MakeSpan
    - benchmark::DoNotOptimize
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - GetParam
    - ASSERT_EQ
    - Span*::Fragmentation
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanFragmentation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:334,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:334,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:336,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:337,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:338,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:338,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:339,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:340,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:340,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:344,1
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:344,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:355,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:355,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:356,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:356,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:360,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:367,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:367,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:370,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:374,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:379,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 382
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_CALL
    - absl::bit_width
    - static_cast<unsigned>
    - absl::MakeSpan
    - EXPECT_EQ
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - EXPECT_LE
    - TypeParam::objects_per_span
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, IsolatedSmoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:390,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:400,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:406,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:411,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:412,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:419,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:424,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:424,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:428,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:431,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:431,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:452,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:455,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:455,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:459,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:475,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 477
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - std::shuffle
    - absl::MakeSpan
    - EXPECT_EQ
    - std::vector::emplace_back
    - std::vector::size
    - std::vector::begin
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - TC_ASSERT_LE
    - GetParam
    - std::min
    - std::vector::end
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanUtilizationHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:491,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:492,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:494,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:495,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:495,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:498,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:498,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 502
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - absl::MakeSpan
    - EXPECT_GT
    - TypeParam::central_freelist
    - EXPECT_LE
    - TypeParam::objects_per_span
    - TypeParam::batch_size
    - std::vector::data
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SinglePopulate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:511,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:521,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:521,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:523,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:529,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:530,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:533,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:533,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:542,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:546,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:548,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:548,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:554,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' e'
    - f
    argTypes:
    - TypeParam
    - IndexingFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 555
    functionName: tcmalloc::tcmalloc_internal::TestIndexing
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 6
    functionsReached:
    - objects_per_span
    - absl::MakeSpan
    - EXPECT_EQ
    - EXPECT_LT
    - TC_ASSERT_GT
    - central_freelist
    - f
    - TC_ASSERT
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TestIndexing(TypeParam& e, IndexingFunc f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:559,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:560,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:565,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 568
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - tcmalloc::tcmalloc_internal::TestIndexing
    - GTEST_SKIP
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, BitwidthIndexedNonEmptyLists)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:572,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 580
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestIndexing
    - GTEST_SKIP
    - TypeParam::objects_per_span
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, DirectIndexedEncodedNonEmptyLists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:594,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:608,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:622,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:622,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:627,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:629,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:629,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:634,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:634,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:642,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:642,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:647,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:649,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:649,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:655,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:656,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:656,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:660,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:664,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:664,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:669,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:669,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:678,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:678,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:681,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:685,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 689
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - absl::MakeSpan
    - EXPECT_EQ
    - size
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - push_back
    - GetParam
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanPriority)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:695,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:702,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:702,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:703,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:703,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:704,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:711,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:714,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:716,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:720,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:720,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:723,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:723,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:724,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:727,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:729,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:733,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:733,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:736,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:736,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:737,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:740,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:742,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:746,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:746,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:749,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:749,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:750,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:753,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:755,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 760
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - std::string::begin
    - strlen
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - absl::MakeSpan
    - EXPECT_THAT
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - std::string::c_str
    - TypeParam::objects_per_span
    - testing::HasSubstr
    - GetParam
    - std::string::size
    - std::string::resize
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:769,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:769,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:770,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:774,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:785,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:785,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:789,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:797,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:803,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:803,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:820,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:822,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:823,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:828,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:838,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:838,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:840,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 841
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - absl::bit_width
    - std::shuffle
    - EXPECT_NE
    - std::vector::push_back
    - SpanStats::num_live_spans
    - absl::MakeSpan
    - EXPECT_EQ
    - std::vector::size
    - std::vector::begin
    - EXPECT_GT
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, MultipleSpans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:845,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:845,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:848,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:853,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:853,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:858,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:858,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:859,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:863,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 865
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - AllocateSpan
    - EXPECT_CALL
    - absl::MakeSpan
    - ASSERT_GE
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    - test_function
    - DeallocateSpans
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, PassSpanDensityToPageheap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:874,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:874,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:875,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:877,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:879,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:882,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:891,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:891,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:892,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:892,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:895,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:895,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:897,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 901
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - absl::MakeSpan
    - benchmark::DoNotOptimize
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - GetParam
    - ASSERT_EQ
    - Span*::Fragmentation
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanFragmentation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:73,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:74,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:76,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:80,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:83,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:89,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:93,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:94,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - Length
    - GTEST_SKIP
    - IsExpandedSizeClass
    - ColdFeatureActive
    - GetParam
    - tcmalloc_internal::Span::CalcReciprocal
    - in_bytes
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:100,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:102,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:105,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:106,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:107,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: Span*::FreelistPush
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: absl::FixedArray::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:123,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:126,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 127
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - Span*::FreelistPush
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - absl::MakeSpan
    - EXPECT_EQ
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - ASSERT_EQ
    - ASSERT_NE
    - absl::FixedArray::back
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Simple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - size_class
    - object_size
    - objects_per_span
    - pages_per_span
    - batch_size
    argTypes:
    - int
    - size_t
    - size_t
    - Length
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::StaticForwarderEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void StaticForwarderEnvironment(int size_class, size_t object_size,\n
      \                            size_t objects_per_span, Length pages_per_span,\n
      \                            int batch_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~StaticForwarderEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~StaticForwarderEnvironment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:149,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:152,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:156,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 160
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:167,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:171,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:178,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:179,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:180,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:181,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:181,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:188,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:191,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::push_back
    - EXPECT_EQ
    - absl::MakeSpan
    - pagemap
    - span::first_page
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - clear
    - span::last_page
    - std::move
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:197,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:199,1
    - Dst: std::make_unique<SpanData>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:201,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:204,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:205,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:206,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:214,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 219
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 5
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - absl::MakeSpan
    - EXPECT_EQ
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - EXPECT_LE
    - push_back
    - std::make_unique<SpanData>
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - std::move
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void Grow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:231,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:231,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:232,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:243,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:245,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:246,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:246,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:251,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:256,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 5
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - empty
    - std::vector::push_back
    - span::last_page
    - EXPECT_EQ
    - absl::MakeSpan
    - pagemap
    - span::first_page
    - back
    - size
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - pop_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - absl::BitGen
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 5
    functionsReached:
    - absl::c_shuffle
    linkageType: ''
    returnType: void
    signature: void Shuffle(absl::BitGen& rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::BytesAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    linkageType: ''
    returnType: int64_t
    signature: int64_t BytesAllocated()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_GUARDED_BY(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 4
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats PageHeapStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:292,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:295,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:300,1
    - Dst: StaticForwarderEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:300,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:302,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:302,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:304,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:306,1
    - Dst: StaticForwarderEnvironment::BytesAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:313,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:315,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:315,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 318
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - StaticForwarderEnvironment::RandomlyPoke
    - GTEST_SKIP
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    - StaticForwarderEnvironment::BytesAllocated
    - EXPECT_LE
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Fuzz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:73,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:74,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:76,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:80,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:83,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:89,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:93,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:94,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - Length
    - GTEST_SKIP
    - IsExpandedSizeClass
    - ColdFeatureActive
    - GetParam
    - tcmalloc_internal::Span::CalcReciprocal
    - in_bytes
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:100,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:102,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:105,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:106,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:107,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: Span*::FreelistPush
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: absl::FixedArray::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:123,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:126,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 127
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - Span*::FreelistPush
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - absl::MakeSpan
    - EXPECT_EQ
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - ASSERT_EQ
    - ASSERT_NE
    - absl::FixedArray::back
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Simple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - size_class
    - object_size
    - objects_per_span
    - pages_per_span
    - batch_size
    argTypes:
    - int
    - size_t
    - size_t
    - Length
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::StaticForwarderEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void StaticForwarderEnvironment(int size_class, size_t object_size,\n
      \                            size_t objects_per_span, Length pages_per_span,\n
      \                            int batch_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~StaticForwarderEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~StaticForwarderEnvironment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:149,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:152,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:156,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 160
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:167,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:171,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:178,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:179,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:180,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:181,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:181,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:188,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:191,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::push_back
    - EXPECT_EQ
    - absl::MakeSpan
    - pagemap
    - span::first_page
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - clear
    - span::last_page
    - std::move
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:197,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:199,1
    - Dst: std::make_unique<SpanData>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:201,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:204,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:205,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:206,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:214,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 219
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 6
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - absl::MakeSpan
    - EXPECT_EQ
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - EXPECT_LE
    - push_back
    - std::make_unique<SpanData>
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - std::move
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void Grow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:231,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:231,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:232,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:243,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:245,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:246,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:246,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:251,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:256,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 6
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - empty
    - std::vector::push_back
    - span::last_page
    - EXPECT_EQ
    - absl::MakeSpan
    - pagemap
    - span::first_page
    - back
    - size
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - pop_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - absl::BitGen
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 6
    functionsReached:
    - absl::c_shuffle
    linkageType: ''
    returnType: void
    signature: void Shuffle(absl::BitGen& rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::BytesAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    linkageType: ''
    returnType: int64_t
    signature: int64_t BytesAllocated()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_GUARDED_BY(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 5
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats PageHeapStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:292,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:295,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:300,1
    - Dst: StaticForwarderEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:300,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:302,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:302,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:304,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:306,1
    - Dst: StaticForwarderEnvironment::BytesAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:313,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:315,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:315,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 318
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - StaticForwarderEnvironment::RandomlyPoke
    - GTEST_SKIP
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    - StaticForwarderEnvironment::BytesAllocated
    - EXPECT_LE
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Fuzz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:334,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:334,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:336,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:337,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:338,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:338,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:339,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:340,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:340,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:344,1
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:344,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:355,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:355,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:356,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:356,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:360,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:367,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:367,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:370,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:374,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:379,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 382
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_CALL
    - absl::bit_width
    - static_cast<unsigned>
    - absl::MakeSpan
    - EXPECT_EQ
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - EXPECT_LE
    - TypeParam::objects_per_span
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, IsolatedSmoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:390,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:400,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:406,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:411,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:412,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:419,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:424,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:424,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:428,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:431,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:431,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:452,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:455,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:455,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:459,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:475,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 477
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - std::shuffle
    - absl::MakeSpan
    - EXPECT_EQ
    - std::vector::emplace_back
    - std::vector::size
    - std::vector::begin
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - TC_ASSERT_LE
    - GetParam
    - std::min
    - std::vector::end
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanUtilizationHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:491,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:492,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:494,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:495,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:495,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:498,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:498,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 502
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - absl::MakeSpan
    - EXPECT_GT
    - TypeParam::central_freelist
    - EXPECT_LE
    - TypeParam::objects_per_span
    - TypeParam::batch_size
    - std::vector::data
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SinglePopulate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:511,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:521,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:521,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:523,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:529,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:530,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:533,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:533,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:542,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:546,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:548,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:548,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:554,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' e'
    - f
    argTypes:
    - TypeParam
    - IndexingFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 555
    functionName: tcmalloc::tcmalloc_internal::TestIndexing
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 8
    functionsReached:
    - objects_per_span
    - absl::MakeSpan
    - EXPECT_EQ
    - EXPECT_LT
    - TC_ASSERT_GT
    - central_freelist
    - f
    - TC_ASSERT
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TestIndexing(TypeParam& e, IndexingFunc f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:559,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:560,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:565,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 568
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - tcmalloc::tcmalloc_internal::TestIndexing
    - GTEST_SKIP
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, BitwidthIndexedNonEmptyLists)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:572,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 580
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestIndexing
    - GTEST_SKIP
    - TypeParam::objects_per_span
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, DirectIndexedEncodedNonEmptyLists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:594,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:608,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:622,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:622,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:627,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:629,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:629,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:634,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:634,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:642,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:642,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:647,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:649,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:649,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:655,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:656,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:656,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:660,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:664,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:664,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:669,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:669,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:678,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:678,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:681,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:685,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 689
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - absl::MakeSpan
    - EXPECT_EQ
    - size
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - push_back
    - GetParam
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanPriority)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:695,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:702,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:702,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:703,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:703,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:704,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:711,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:714,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:716,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:720,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:720,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:723,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:723,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:724,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:727,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:729,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:733,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:733,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:736,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:736,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:737,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:740,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:742,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:746,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:746,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:749,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:749,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:750,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:753,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:755,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 760
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - std::string::begin
    - strlen
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - absl::MakeSpan
    - EXPECT_THAT
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - std::string::c_str
    - TypeParam::objects_per_span
    - testing::HasSubstr
    - GetParam
    - std::string::size
    - std::string::resize
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:769,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:769,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:770,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:774,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:785,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:785,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:789,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:797,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:803,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:803,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:820,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:822,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:823,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:828,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:838,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:838,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:840,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 841
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - absl::bit_width
    - std::shuffle
    - EXPECT_NE
    - std::vector::push_back
    - SpanStats::num_live_spans
    - absl::MakeSpan
    - EXPECT_EQ
    - std::vector::size
    - std::vector::begin
    - EXPECT_GT
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, MultipleSpans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:845,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:845,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:848,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:853,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:853,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:858,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:858,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:859,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:863,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 865
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - AllocateSpan
    - EXPECT_CALL
    - absl::MakeSpan
    - ASSERT_GE
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    - test_function
    - DeallocateSpans
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, PassSpanDensityToPageheap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:874,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:874,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:875,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:877,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:879,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:882,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:891,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:891,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:892,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:892,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:895,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:895,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:897,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 901
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - absl::MakeSpan
    - benchmark::DoNotOptimize
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - GetParam
    - ASSERT_EQ
    - Span*::Fragmentation
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanFragmentation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:334,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:334,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:336,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:337,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:338,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:338,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:339,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:340,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:340,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:344,1
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:344,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:355,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:355,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:356,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:356,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:360,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:367,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:367,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:370,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:374,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:379,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 382
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_CALL
    - absl::bit_width
    - static_cast<unsigned>
    - absl::MakeSpan
    - EXPECT_EQ
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - EXPECT_LE
    - TypeParam::objects_per_span
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, IsolatedSmoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:390,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:400,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:406,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:411,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:412,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:419,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:424,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:424,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:428,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:431,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:431,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:452,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:455,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:455,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:459,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:475,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 477
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - std::shuffle
    - absl::MakeSpan
    - EXPECT_EQ
    - std::vector::emplace_back
    - std::vector::size
    - std::vector::begin
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - TC_ASSERT_LE
    - GetParam
    - std::min
    - std::vector::end
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanUtilizationHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:491,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:492,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:494,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:495,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:495,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:498,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:498,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 502
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - absl::MakeSpan
    - EXPECT_GT
    - TypeParam::central_freelist
    - EXPECT_LE
    - TypeParam::objects_per_span
    - TypeParam::batch_size
    - std::vector::data
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SinglePopulate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:511,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:521,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:521,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:523,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:529,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:530,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:533,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:533,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:542,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:546,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:548,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:548,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:554,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' e'
    - f
    argTypes:
    - TypeParam
    - IndexingFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 555
    functionName: tcmalloc::tcmalloc_internal::TestIndexing
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 10
    functionsReached:
    - objects_per_span
    - absl::MakeSpan
    - EXPECT_EQ
    - EXPECT_LT
    - TC_ASSERT_GT
    - central_freelist
    - f
    - TC_ASSERT
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TestIndexing(TypeParam& e, IndexingFunc f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:559,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:560,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:565,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 568
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - tcmalloc::tcmalloc_internal::TestIndexing
    - GTEST_SKIP
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, BitwidthIndexedNonEmptyLists)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:572,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 580
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestIndexing
    - GTEST_SKIP
    - TypeParam::objects_per_span
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, DirectIndexedEncodedNonEmptyLists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:594,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:608,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:622,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:622,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:627,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:629,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:629,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:634,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:634,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:642,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:642,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:647,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:649,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:649,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:655,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:656,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:656,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:660,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:664,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:664,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:669,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:669,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:678,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:678,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:681,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:685,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 689
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - absl::MakeSpan
    - EXPECT_EQ
    - size
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - push_back
    - GetParam
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanPriority)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:695,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:702,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:702,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:703,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:703,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:704,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:711,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:714,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:716,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:720,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:720,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:723,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:723,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:724,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:727,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:729,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:733,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:733,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:736,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:736,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:737,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:740,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:742,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:746,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:746,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:749,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:749,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:750,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:753,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:755,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 760
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - std::string::begin
    - strlen
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - absl::MakeSpan
    - EXPECT_THAT
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - std::string::c_str
    - TypeParam::objects_per_span
    - testing::HasSubstr
    - GetParam
    - std::string::size
    - std::string::resize
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:769,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:769,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:770,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:774,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:785,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:785,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:789,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:797,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:803,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:803,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:820,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:822,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:823,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:828,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:838,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:838,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:840,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 841
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - absl::bit_width
    - std::shuffle
    - EXPECT_NE
    - std::vector::push_back
    - SpanStats::num_live_spans
    - absl::MakeSpan
    - EXPECT_EQ
    - std::vector::size
    - std::vector::begin
    - EXPECT_GT
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, MultipleSpans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:845,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:845,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:848,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:853,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:853,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:858,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:858,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:859,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:863,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 865
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - AllocateSpan
    - EXPECT_CALL
    - absl::MakeSpan
    - ASSERT_GE
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    - test_function
    - DeallocateSpans
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, PassSpanDensityToPageheap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:874,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:874,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:875,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:877,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:879,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:882,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:891,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:891,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:892,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:892,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:895,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:895,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:897,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 901
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - absl::MakeSpan
    - benchmark::DoNotOptimize
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - GetParam
    - ASSERT_EQ
    - Span*::Fragmentation
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanFragmentation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:73,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:74,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:76,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:80,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:83,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:89,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:93,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:94,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - Length
    - GTEST_SKIP
    - IsExpandedSizeClass
    - ColdFeatureActive
    - GetParam
    - tcmalloc_internal::Span::CalcReciprocal
    - in_bytes
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:100,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:102,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:105,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:106,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:107,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: Span*::FreelistPush
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: absl::FixedArray::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:123,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:126,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 127
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - Span*::FreelistPush
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - absl::MakeSpan
    - EXPECT_EQ
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - ASSERT_EQ
    - ASSERT_NE
    - absl::FixedArray::back
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Simple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - size_class
    - object_size
    - objects_per_span
    - pages_per_span
    - batch_size
    argTypes:
    - int
    - size_t
    - size_t
    - Length
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::StaticForwarderEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void StaticForwarderEnvironment(int size_class, size_t object_size,\n
      \                            size_t objects_per_span, Length pages_per_span,\n
      \                            int batch_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~StaticForwarderEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~StaticForwarderEnvironment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:149,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:152,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:156,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 160
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:167,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:171,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:178,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:179,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:180,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:181,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:181,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:188,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:191,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::push_back
    - EXPECT_EQ
    - absl::MakeSpan
    - pagemap
    - span::first_page
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - clear
    - span::last_page
    - std::move
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:197,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:199,1
    - Dst: std::make_unique<SpanData>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:201,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:204,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:205,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:206,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:214,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 219
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 7
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - absl::MakeSpan
    - EXPECT_EQ
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - EXPECT_LE
    - push_back
    - std::make_unique<SpanData>
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - std::move
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void Grow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:231,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:231,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:232,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:243,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:245,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:246,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:246,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:251,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:256,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 7
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - empty
    - std::vector::push_back
    - span::last_page
    - EXPECT_EQ
    - absl::MakeSpan
    - pagemap
    - span::first_page
    - back
    - size
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - pop_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - absl::BitGen
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 7
    functionsReached:
    - absl::c_shuffle
    linkageType: ''
    returnType: void
    signature: void Shuffle(absl::BitGen& rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::BytesAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    linkageType: ''
    returnType: int64_t
    signature: int64_t BytesAllocated()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_GUARDED_BY(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 6
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats PageHeapStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:292,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:295,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:300,1
    - Dst: StaticForwarderEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:300,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:302,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:302,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:304,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:306,1
    - Dst: StaticForwarderEnvironment::BytesAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:313,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:315,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:315,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 318
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - StaticForwarderEnvironment::RandomlyPoke
    - GTEST_SKIP
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    - StaticForwarderEnvironment::BytesAllocated
    - EXPECT_LE
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Fuzz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:73,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:74,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:76,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:80,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:83,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:89,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:93,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:94,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - Length
    - GTEST_SKIP
    - IsExpandedSizeClass
    - ColdFeatureActive
    - GetParam
    - tcmalloc_internal::Span::CalcReciprocal
    - in_bytes
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:100,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:102,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:105,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:106,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:107,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: Span*::FreelistPush
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: absl::FixedArray::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:123,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:126,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 127
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - Span*::FreelistPush
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - absl::MakeSpan
    - EXPECT_EQ
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - ASSERT_EQ
    - ASSERT_NE
    - absl::FixedArray::back
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Simple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - size_class
    - object_size
    - objects_per_span
    - pages_per_span
    - batch_size
    argTypes:
    - int
    - size_t
    - size_t
    - Length
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::StaticForwarderEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void StaticForwarderEnvironment(int size_class, size_t object_size,\n
      \                            size_t objects_per_span, Length pages_per_span,\n
      \                            int batch_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~StaticForwarderEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - Drain
    linkageType: ''
    returnType: void
    signature: void ~StaticForwarderEnvironment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:149,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:152,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:156,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 160
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:167,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:171,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:178,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:179,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:180,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:181,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:181,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:188,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:191,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::push_back
    - EXPECT_EQ
    - absl::MakeSpan
    - pagemap
    - span::first_page
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - clear
    - span::last_page
    - std::move
    linkageType: ''
    returnType: void
    signature: void Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:197,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:199,1
    - Dst: std::make_unique<SpanData>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:201,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:204,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:205,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:206,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:214,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 219
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 8
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - absl::MakeSpan
    - EXPECT_EQ
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - EXPECT_LE
    - push_back
    - std::make_unique<SpanData>
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - std::move
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void Grow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:231,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:231,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:232,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:235,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:243,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:245,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:246,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:246,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:251,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:256,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 8
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - empty
    - std::vector::push_back
    - span::last_page
    - EXPECT_EQ
    - absl::MakeSpan
    - pagemap
    - span::first_page
    - back
    - size
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - pop_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - absl::BitGen
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 8
    functionsReached:
    - absl::c_shuffle
    linkageType: ''
    returnType: void
    signature: void Shuffle(absl::BitGen& rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::BytesAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    linkageType: ''
    returnType: int64_t
    signature: int64_t BytesAllocated()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_GUARDED_BY(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 7
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats PageHeapStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:292,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:295,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:300,1
    - Dst: StaticForwarderEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:300,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:302,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:302,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:304,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:306,1
    - Dst: StaticForwarderEnvironment::BytesAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:313,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:315,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:315,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 318
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - StaticForwarderEnvironment::RandomlyPoke
    - GTEST_SKIP
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    - StaticForwarderEnvironment::BytesAllocated
    - EXPECT_LE
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Fuzz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:334,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:334,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:336,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:337,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:338,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:338,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:339,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:340,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:340,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:344,1
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:344,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:355,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:355,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:356,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:356,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:360,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:367,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:367,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:370,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:374,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:379,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 382
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_CALL
    - absl::bit_width
    - static_cast<unsigned>
    - absl::MakeSpan
    - EXPECT_EQ
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - EXPECT_LE
    - TypeParam::objects_per_span
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, IsolatedSmoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:390,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:400,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:406,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:411,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:412,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:419,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:424,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:424,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:428,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:431,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:431,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:452,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:455,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:455,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:459,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:475,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 477
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - std::shuffle
    - absl::MakeSpan
    - EXPECT_EQ
    - std::vector::emplace_back
    - std::vector::size
    - std::vector::begin
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - TC_ASSERT_LE
    - GetParam
    - std::min
    - std::vector::end
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanUtilizationHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:491,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:492,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:494,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:495,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:495,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:498,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:498,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 502
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - absl::MakeSpan
    - EXPECT_GT
    - TypeParam::central_freelist
    - EXPECT_LE
    - TypeParam::objects_per_span
    - TypeParam::batch_size
    - std::vector::data
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SinglePopulate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:511,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:521,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:521,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:523,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:529,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:530,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:533,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:533,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:542,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:546,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:548,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:548,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:554,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' e'
    - f
    argTypes:
    - TypeParam
    - IndexingFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 555
    functionName: tcmalloc::tcmalloc_internal::TestIndexing
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 12
    functionsReached:
    - objects_per_span
    - absl::MakeSpan
    - EXPECT_EQ
    - EXPECT_LT
    - TC_ASSERT_GT
    - central_freelist
    - f
    - TC_ASSERT
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TestIndexing(TypeParam& e, IndexingFunc f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:559,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:560,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:565,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 568
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - tcmalloc::tcmalloc_internal::TestIndexing
    - GTEST_SKIP
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, BitwidthIndexedNonEmptyLists)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:572,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 580
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestIndexing
    - GTEST_SKIP
    - TypeParam::objects_per_span
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, DirectIndexedEncodedNonEmptyLists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:594,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:608,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:622,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:622,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:627,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:629,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:629,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:634,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:634,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:642,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:642,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:647,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:649,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:649,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:655,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:656,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:656,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:660,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:664,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:664,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:669,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:669,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:678,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:678,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:681,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:685,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 689
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - absl::MakeSpan
    - EXPECT_EQ
    - size
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - push_back
    - GetParam
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanPriority)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:695,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:702,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:702,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:703,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:703,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:704,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:711,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:714,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:716,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:720,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:720,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:723,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:723,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:724,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:727,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:729,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:733,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:733,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:736,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:736,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:737,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:740,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:742,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:746,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:746,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:749,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:749,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:750,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:753,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:755,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 760
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - std::string::begin
    - strlen
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - absl::MakeSpan
    - EXPECT_THAT
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - std::string::c_str
    - TypeParam::objects_per_span
    - testing::HasSubstr
    - GetParam
    - std::string::size
    - std::string::resize
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:769,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:769,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:770,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:774,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:785,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:785,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:789,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:797,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:803,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:803,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:820,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:822,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:823,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:828,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:838,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:838,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:840,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 841
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - absl::bit_width
    - std::shuffle
    - EXPECT_NE
    - std::vector::push_back
    - SpanStats::num_live_spans
    - absl::MakeSpan
    - EXPECT_EQ
    - std::vector::size
    - std::vector::begin
    - EXPECT_GT
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, MultipleSpans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:845,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:845,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:848,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:853,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:853,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:858,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:858,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:859,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:863,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 865
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - AllocateSpan
    - EXPECT_CALL
    - absl::MakeSpan
    - ASSERT_GE
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    - test_function
    - DeallocateSpans
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, PassSpanDensityToPageheap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:874,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:874,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:875,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:877,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:879,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:882,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:891,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:891,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:892,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:892,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:895,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:895,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:897,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 901
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - absl::MakeSpan
    - benchmark::DoNotOptimize
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - GetParam
    - ASSERT_EQ
    - Span*::Fragmentation
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanFragmentation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:334,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:334,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:336,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:337,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:338,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:338,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:339,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:340,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:340,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:344,1
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:344,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:355,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:355,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:356,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:356,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:360,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:367,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:367,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:370,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:374,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:379,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 382
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - EXPECT_CALL
    - absl::bit_width
    - static_cast<unsigned>
    - absl::MakeSpan
    - EXPECT_EQ
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - EXPECT_LE
    - TypeParam::objects_per_span
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, IsolatedSmoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:390,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:400,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:401,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:406,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:411,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:412,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:419,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:424,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:424,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:428,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:431,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:431,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:436,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:444,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:452,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:455,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:455,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:459,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:475,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 477
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - std::shuffle
    - absl::MakeSpan
    - EXPECT_EQ
    - std::vector::emplace_back
    - std::vector::size
    - std::vector::begin
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - TC_ASSERT_LE
    - GetParam
    - std::min
    - std::vector::end
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanUtilizationHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:487,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:491,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:492,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:494,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:495,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:495,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:498,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:498,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 502
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - absl::MakeSpan
    - EXPECT_GT
    - TypeParam::central_freelist
    - EXPECT_LE
    - TypeParam::objects_per_span
    - TypeParam::batch_size
    - std::vector::data
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SinglePopulate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:511,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:521,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:521,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:523,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:529,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:530,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:533,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:533,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:542,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:546,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:548,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:548,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:554,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' e'
    - f
    argTypes:
    - TypeParam
    - IndexingFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 555
    functionName: tcmalloc::tcmalloc_internal::TestIndexing
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 14
    functionsReached:
    - objects_per_span
    - absl::MakeSpan
    - EXPECT_EQ
    - EXPECT_LT
    - TC_ASSERT_GT
    - central_freelist
    - f
    - TC_ASSERT
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TestIndexing(TypeParam& e, IndexingFunc f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:559,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:560,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:565,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 568
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - tcmalloc::tcmalloc_internal::TestIndexing
    - GTEST_SKIP
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, BitwidthIndexedNonEmptyLists)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:571,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:572,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 580
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestIndexing
    - GTEST_SKIP
    - TypeParam::objects_per_span
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, DirectIndexedEncodedNonEmptyLists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:589,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:594,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:608,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:609,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:622,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:622,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:627,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:629,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:629,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:634,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:634,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:642,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:642,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:647,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:649,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:649,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:655,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:656,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:656,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:660,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:664,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:664,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:669,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:669,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:678,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:678,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:681,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:685,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 689
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - absl::MakeSpan
    - EXPECT_EQ
    - size
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - push_back
    - GetParam
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanPriority)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:695,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:702,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:702,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:703,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:703,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:704,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:711,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:712,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:714,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:716,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:720,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:720,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:723,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:723,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:724,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:725,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:727,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:729,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:733,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:733,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:736,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:736,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:737,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:738,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:740,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:742,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:746,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:746,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:749,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:749,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:750,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:751,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:753,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:755,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 760
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - std::string::begin
    - strlen
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - absl::MakeSpan
    - EXPECT_THAT
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - std::string::c_str
    - TypeParam::objects_per_span
    - testing::HasSubstr
    - GetParam
    - std::string::size
    - std::string::resize
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:769,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:769,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:770,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:774,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:775,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:785,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:785,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:789,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:797,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:803,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:803,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:807,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:820,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:822,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:823,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:828,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:838,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:838,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:840,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 841
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - absl::bit_width
    - std::shuffle
    - EXPECT_NE
    - std::vector::push_back
    - SpanStats::num_live_spans
    - absl::MakeSpan
    - EXPECT_EQ
    - std::vector::size
    - std::vector::begin
    - EXPECT_GT
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, MultipleSpans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:844,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:845,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:845,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:848,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:849,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:853,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:853,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:856,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:858,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:858,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:859,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:863,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 865
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - AllocateSpan
    - EXPECT_CALL
    - absl::MakeSpan
    - ASSERT_GE
    - TypeParam::forwarder
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - TypeParam::objects_per_span
    - GetParam
    - std::min
    - test_function
    - DeallocateSpans
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, PassSpanDensityToPageheap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:874,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:874,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:875,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:877,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:879,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:882,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:891,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:891,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:892,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:892,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:895,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:895,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:897,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 901
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - absl::MakeSpan
    - benchmark::DoNotOptimize
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - GetParam
    - ASSERT_EQ
    - Span*::Fragmentation
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanFragmentation)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:39,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:44,1
    - Dst: ceil
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:45,1
    - Dst: absl::FDivDuration
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:45,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:46,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:47,1
    - Dst: ceil
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:55,1
    - Dst: absl::FDivDuration
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:55,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:56,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:57,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:66,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:67,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:69,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:72,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:74,1
    - Dst: min::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:74,1
    - Dst: max::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:74,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:77,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:83,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:84,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:85,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:86,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:88,1
    - Dst: auto::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:90,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:91,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:92,1
    - Dst: min::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:92,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:93,1
    - Dst: max::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:93,1
    - Dst: Find
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:110,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:113,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:114,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:115,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:122,1
    - Dst: UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:125,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:125,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:128,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:128,1
    - Dst: auto*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:128,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:129,1
    - Dst: valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:130,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:131,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:151,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:154,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:167,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:176,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:177,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:184,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:185,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:186,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:186,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:191,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:192,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:193,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:194,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:196,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:199,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:202,1
    - Dst: GetSubreleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:202,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:203,1
    - Dst: DoGet
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:207,1
    - Dst: IncUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:211,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:211,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:213,1
    - Dst: MaybeGrowCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:214,1
    - Dst: UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:215,1
    - Dst: DecUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:220,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:220,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:222,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:223,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:224,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:234,1
    - Dst: MaybeShrinkCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:235,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:237,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:237,1
    - Dst: UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:239,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:239,1
    - Dst: UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:240,1
    - Dst: DecUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:244,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:244,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:246,1
    - Dst: UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:247,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:251,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:253,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:257,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:257,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:260,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:261,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:261,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:261,1
    - Dst: MinCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:262,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:263,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:263,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:267,1
    - Dst: Find
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:270,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:270,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:271,1
    - Dst: auto*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:272,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:273,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:279,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:280,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:282,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:282,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:283,1
    - Dst: valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:283,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:284,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:288,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:291,1
    - Dst: unback_
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:291,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:294,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:295,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:298,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:299,1
    - Dst: MaybeShrinkCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:307,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:311,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:311,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:312,1
    - Dst: UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:314,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:314,1
    - Dst: UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:315,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:322,1
    - Dst: SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:322,1
    - Dst: UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:323,1
    - Dst: IsPeakIntervalSet
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:325,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:327,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:327,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:329,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:329,1
    - Dst: CapDemandInterval
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:331,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:334,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:334,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:335,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:350,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:351,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:352,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:352,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:352,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:362,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:362,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:368,1
    - Dst: MinCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:368,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:370,1
    - Dst: HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:370,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:370,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:371,1
    - Dst: MinCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:371,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:372,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:375,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:376,1
    - Dst: SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:378,1
    - Dst: GetDesiredReleaseablePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:383,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:385,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:385,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:386,1
    - Dst: set_limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:387,1
    - Dst: limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:388,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:390,1
    - Dst: UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:392,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:392,1
    - Dst: UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:393,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:401,1
    - Dst: HugeAddressMap::Node*::next
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:402,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:403,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:406,1
    - Dst: root
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:412,1
    - Dst: HugeAddressMap::Node*::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:418,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:419,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:420,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:420,1
    - Dst: HugeAddressMap::Node*::left
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:427,1
    - Dst: HugeAddressMap::Node*::right
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:428,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:429,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:434,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:440,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:440,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:441,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:441,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:446,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:446,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:459,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:460,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:471,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:472,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:474,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:477,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:477,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:478,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:479,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:480,1
    - Dst: UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:481,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:481,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:483,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:484,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:485,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:486,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:488,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:488,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:488,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:491,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:492,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:493,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:494,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:496,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:496,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:496,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:498,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:499,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:500,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:502,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:502,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:502,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:504,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:507,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:508,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:511,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:512,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:515,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:519,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:520,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:529,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:530,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:533,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:533,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:535,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:535,1
    - Dst: PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:537,1
    - Dst: PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:539,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:541,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:541,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:543,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:543,1
    - Dst: UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:544,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:544,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:546,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:547,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:548,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:550,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:551,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:551,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:552,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:552,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:553,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:553,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:557,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:558,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:559,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:561,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:562,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:562,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:563,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:563,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:564,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:564,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:567,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:568,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:570,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:571,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:571,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:572,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:572,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:573,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:573,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:575,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:577,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:578,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:580,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:582,1
    - Dst: PrintTimeseriesStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:583,1
    - Dst: PrintSubreleaseStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:585,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 259
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 590
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - HugeAddressMap::Node*::range
    - in_bytes
    - GetRecentPeak
    - HugeLength::in_pages
    - MaybeShrinkCacheLimit
    - HugeAddressMap::Node*::next
    - UpdateSize
    - GetDesiredReleaseablePages
    - CreateSubRegion
    - min::in_bytes
    - DecUsage
    - unback_
    - Insert
    - PrintI64
    - Report
    - safe_ratio
    - UpdateStatsTracker
    - HugeLength::in_bytes
    - absl::FDivDuration
    - Print
    - SkipSubreleaseEnabled
    - TC_CHECK
    - ABSL_PREDICT_FALSE
    - DoGet
    - printf
    - auto::range
    - Remove
    - PrintDouble
    - NHugePages
    - ReportSkippedSubreleasePages
    - raw_num
    - size
    - std::max
    - MaybeGrowCacheLimit
    - GetRecentDemand
    - HugeRange::len
    - std::tie
    - HugeRange::valid
    - now
    - valid
    - limit_hit
    - ceil
    - in_mib
    - HugeAddressMap::Node*::longest
    - auto::PrintI64
    - Find
    - HLFromPages
    - root
    - IncUsage
    - MinOverTime
    - TC_ASSERT
    - MinCacheLimit
    - auto::longest
    - set_limit_hit
    - PrintInPbtxt
    - Get
    - max::in_bytes
    - TC_ASSERT_GE
    - HugeLength
    - Iter
    - CapDemandInterval
    - IterBackwards
    - min::raw_num
    - first
    - auto::CreateSubRegion
    - PrintTimeseriesStatsInPbtxt
    - max::raw_num
    - std::min
    - IsPeakIntervalSet
    - MaxOverTime
    - HugeAddressMap::Node*::right
    - ShrinkCache
    - absl::ToInt64Milliseconds
    - HugeAddressMap::Node*::left
    - reset
    - limit
    - GetSubreleaseStats
    - auto*::range
    - Split
    - usage
    - Release
    - TC_CHECK_NE
    - HugeLength::in_mib
    - PrintSubreleaseStatsInPbtxt
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MinMaxTracker<kEpochs>::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::MinMaxTracker<kEpochs>::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::MinMaxTracker<kEpochs>::Report
    linkageType: ''
    returnType: void
    signature: void MinMaxTracker<kEpochs>::Report(HugeLength val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:44,1
    - Dst: ceil
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:45,1
    - Dst: absl::FDivDuration
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:45,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:46,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: tcmalloc_internal::MinMaxTracker<kEpochs>::MaxOverTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - IterBackwards
    - absl::FDivDuration
    - ceil
    - std::max
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength MinMaxTracker<kEpochs>::MaxOverTime(absl::Duration t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:55,1
    - Dst: absl::FDivDuration
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:55,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:56,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: tcmalloc_internal::MinMaxTracker<kEpochs>::MinOverTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - ceil
    - IterBackwards
    - absl::FDivDuration
    - std::min
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength MinMaxTracker<kEpochs>::MinOverTime(absl::Duration t) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:66,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:67,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:69,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:72,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:74,1
    - Dst: min::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:74,1
    - Dst: max::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:74,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::MinMaxTracker<kEpochs>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - min::raw_num
    - max::raw_num
    - absl::ToInt64Milliseconds
    - Iter
    - printf
    linkageType: ''
    returnType: void
    signature: void MinMaxTracker<kEpochs>::Print(Printer& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:83,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:84,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:85,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:86,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:88,1
    - Dst: auto::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:90,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:91,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:92,1
    - Dst: min::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:92,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:93,1
    - Dst: max::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::MinMaxTracker<kEpochs>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - auto::PrintI64
    - auto::CreateSubRegion
    - absl::ToInt64Milliseconds
    - Iter
    - max::in_bytes
    - CreateSubRegion
    - min::in_bytes
    linkageType: ''
    returnType: void
    signature: void MinMaxTracker<kEpochs>::PrintInPbtxt(PbtxtRegion& hpaa) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Extrema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: MinMaxTracker<kEpochs>::Extrema::operator==(const Extrema& other)
      const
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MinMaxTracker<kEpochs>::Extrema::operator==(const Extrema& other)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::Find
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:110,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:113,1
    - Dst: tcmalloc_internal::HugeCache::Get
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:114,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:115,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:122,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:125,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:125,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:128,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:128,1
    - Dst: auto*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:128,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:129,1
    - Dst: valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:130,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - HugeLength
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 134
    functionName: tcmalloc_internal::HugeCache::DoGet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - auto*::range
    - tcmalloc_internal::HugeCache::UpdateSize
    - Split
    - tcmalloc_internal::HugeCache::Get
    - tcmalloc_internal::HugeCache::Find
    - HugeLength::raw_num
    - Insert
    - std::tie
    - HugeRange::valid
    - tcmalloc_internal::HugeCache::size
    - Remove
    - valid
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange HugeCache::DoGet(HugeLength n, bool* from_released)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:151,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:154,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:167,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:176,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - missed
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 180
    functionName: tcmalloc_internal::HugeCache::MaybeGrowCacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - MinOverTime
    - tcmalloc_internal::HugeCache::limit
    - std::min
    - now
    - MaxOverTime
    linkageType: ''
    returnType: void
    signature: void HugeCache::MaybeGrowCacheLimit(HugeLength missed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:184,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:185,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:186,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: tcmalloc_internal::HugeCache::IncUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Report
    linkageType: ''
    returnType: void
    signature: void HugeCache::IncUsage(HugeLength n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:191,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:192,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:193,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:194,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: tcmalloc_internal::HugeCache::DecUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - MaxOverTime
    - Report
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void HugeCache::DecUsage(HugeLength n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: tcmalloc_internal::HugeCache::UpdateSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 1
    functionsReached:
    - Report
    linkageType: ''
    returnType: void
    signature: void HugeCache::UpdateSize(HugeLength size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:202,1
    - Dst: tcmalloc_internal::HugeCache::GetSubreleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:202,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: tcmalloc_internal::HugeCache::UpdateStatsTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    - tcmalloc_internal::HugeCache::GetSubreleaseStats
    - Report
    linkageType: ''
    returnType: void
    signature: void HugeCache::UpdateStatsTracker()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::DoGet
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:207,1
    - Dst: tcmalloc_internal::HugeCache::IncUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:211,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:211,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:213,1
    - Dst: tcmalloc_internal::HugeCache::MaybeGrowCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:214,1
    - Dst: tcmalloc_internal::HugeCache::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - HugeLength
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::HugeCache::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 1
    functionsReached:
    - HugeRange::len
    - HugeRange::valid
    - tcmalloc_internal::HugeCache::DoGet
    - tcmalloc_internal::HugeCache::MaybeGrowCacheLimit
    - tcmalloc_internal::HugeCache::UpdateStatsTracker
    - tcmalloc_internal::HugeCache::IncUsage
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange HugeCache::Get(HugeLength n, bool* from_released)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::DecUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:220,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:220,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:222,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:223,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:224,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:234,1
    - Dst: tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:235,1
    - Dst: tcmalloc_internal::HugeCache::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:237,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:237,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:239,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:239,1
    - Dst: tcmalloc_internal::HugeCache::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - r
    - demand_based_unback
    argTypes:
    - HugeRange
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 241
    functionName: tcmalloc_internal::HugeCache::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeCache::ShrinkCache
    - tcmalloc_internal::HugeCache::UpdateStatsTracker
    - tcmalloc_internal::HugeCache::UpdateSize
    - HugeRange::len
    - tcmalloc_internal::HugeCache::limit
    - tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
    - Insert
    - tcmalloc_internal::HugeCache::size
    - now
    - tcmalloc_internal::HugeCache::DecUsage
    linkageType: ''
    returnType: void
    signature: void HugeCache::Release(HugeRange r, bool demand_based_unback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::DecUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:244,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:244,1
    - Dst: tcmalloc_internal::HugeCache::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:246,1
    - Dst: tcmalloc_internal::HugeCache::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: tcmalloc_internal::HugeCache::ReleaseUnbacked
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeCache::UpdateStatsTracker
    - HugeRange::len
    - tcmalloc_internal::HugeCache::Release
    - tcmalloc_internal::HugeCache::DecUsage
    linkageType: ''
    returnType: void
    signature: void HugeCache::ReleaseUnbacked(HugeRange r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:251,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:253,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:257,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:257,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:260,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:261,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:261,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:261,1
    - Dst: tcmalloc_internal::HugeCache::MinCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:262,1
    - Dst: tcmalloc_internal::HugeCache::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:263,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugeCache::MinCacheLimit
    - tcmalloc_internal::HugeCache::ShrinkCache
    - std::max
    - MinOverTime
    - tcmalloc_internal::HugeCache::limit
    - now
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeCache::MaybeShrinkCacheLimit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:267,1
    - Dst: tcmalloc_internal::HugeCache::Find
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:270,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:270,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:271,1
    - Dst: auto*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:272,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:273,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:279,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:280,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:282,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:282,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:283,1
    - Dst: valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:283,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:284,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:288,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:291,1
    - Dst: unback_
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:291,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:294,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:295,1
    - Dst: tcmalloc_internal::HugeCache::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:298,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - target
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 303
    functionName: tcmalloc_internal::HugeCache::ShrinkCache
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 2
    functionsReached:
    - auto*::range
    - TC_CHECK_NE
    - Split
    - ABSL_PREDICT_FALSE
    - HugeRange::len
    - tcmalloc_internal::HugeCache::Find
    - unback_
    - Insert
    - tcmalloc_internal::HugeCache::Release
    - std::tie
    - tcmalloc_internal::HugeCache::size
    - Remove
    - NHugePages
    - TC_ASSERT
    - valid
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeCache::ShrinkCache(HugeLength target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:307,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:311,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:311,1
    - Dst: tcmalloc_internal::HugeCache::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:312,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:314,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:314,1
    - Dst: tcmalloc_internal::HugeCache::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 305
    functionDepth: 5
    functionLinenumber: 305
    functionLinenumberEnd: 318
    functionName: tcmalloc_internal::HugeCache::ReleaseCachedPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeCache::ShrinkCache
    - tcmalloc_internal::HugeCache::UpdateSize
    - tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
    - tcmalloc_internal::HugeCache::size
    - tcmalloc_internal::HugeCache::UpdateStatsTracker
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeCache::ReleaseCachedPages(HugeLength n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:322,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:322,1
    - Dst: tcmalloc_internal::HugeCache::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:323,1
    - Dst: SkipSubreleaseIntervals::IsPeakIntervalSet
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:325,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:327,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:327,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:329,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:329,1
    - Dst: tcmalloc_internal::HugeCache::CapDemandInterval
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:331,1
    - Dst: tcmalloc_internal::HugeCache::usage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:334,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:334,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:335,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:350,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:351,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:352,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:352,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - desired
    - intervals
    argTypes:
    - HugeLength
    - SkipSubreleaseIntervals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 356
    functionName: tcmalloc_internal::HugeCache::GetDesiredReleaseablePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - std::min
    - tcmalloc_internal::HugeCache::usage
    - HugeLength::in_pages
    - tcmalloc_internal::HugeCache::size
    - GetRecentDemand
    - HLFromPages
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - SkipSubreleaseIntervals::IsPeakIntervalSet
    - tcmalloc_internal::HugeCache::CapDemandInterval
    - tcmalloc_internal::HugeCache::UpdateStatsTracker
    - NHugePages
    - TC_CHECK
    - ReportSkippedSubreleasePages
    - GetRecentPeak
    linkageType: ''
    returnType: HugeLength
    signature: "HugeLength HugeCache::GetDesiredReleaseablePages(\n    HugeLength
      desired, SkipSubreleaseIntervals intervals)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:362,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:362,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:368,1
    - Dst: tcmalloc_internal::HugeCache::MinCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:368,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:370,1
    - Dst: HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:370,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:370,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:371,1
    - Dst: tcmalloc_internal::HugeCache::MinCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:371,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:372,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:375,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:376,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:378,1
    - Dst: tcmalloc_internal::HugeCache::GetDesiredReleaseablePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:383,1
    - Dst: tcmalloc_internal::HugeCache::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:385,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:385,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:386,1
    - Dst: set_limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:387,1
    - Dst: limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:388,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:390,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:392,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:392,1
    - Dst: tcmalloc_internal::HugeCache::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - n
    - intervals
    - hit_limit
    argTypes:
    - HugeLength
    - SkipSubreleaseIntervals
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 396
    functionName: tcmalloc_internal::HugeCache::ReleaseCachedPagesByDemand
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - std::min
    - tcmalloc_internal::HugeCache::MinCacheLimit
    - tcmalloc_internal::HugeCache::ShrinkCache
    - HugeLength::in_pages
    - limit_hit
    - tcmalloc_internal::HugeCache::UpdateSize
    - tcmalloc_internal::HugeCache::UpdateStatsTracker
    - HugeLength
    - set_limit_hit
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - tcmalloc_internal::HugeCache::size
    - std::max
    - NHugePages
    - tcmalloc_internal::HugeCache::GetDesiredReleaseablePages
    linkageType: ''
    returnType: HugeLength
    signature: "HugeLength HugeCache::ReleaseCachedPagesByDemand(\n    HugeLength
      n, SkipSubreleaseIntervals intervals, bool hit_limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:401,1
    - Dst: HugeAddressMap::Node*::next
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:402,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:403,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 409
    functionName: tcmalloc_internal::HugeCache::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - first
    - HugeAddressMap::Node*::range
    - HugeLength::in_pages
    - HugeAddressMap::Node*::next
    linkageType: ''
    returnType: void
    signature: "void HugeCache::AddSpanStats(SmallSpanStats* small,\n                             LargeSpanStats*
      large) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: root
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:412,1
    - Dst: HugeAddressMap::Node*::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:418,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:419,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:420,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:420,1
    - Dst: HugeAddressMap::Node*::left
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:427,1
    - Dst: HugeAddressMap::Node*::right
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:428,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:429,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:434,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:440,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:440,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:441,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:441,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:446,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:446,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 456
    functionName: tcmalloc_internal::HugeCache::Find
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 2
    functionsReached:
    - auto::longest
    - HugeAddressMap::Node*::range
    - root
    - HugeAddressMap::Node*::longest
    - HugeAddressMap::Node*::left
    - auto::range
    - HugeAddressMap::Node*::right
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeCache::Find(HugeLength n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:459,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:460,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:471,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:472,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:474,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:477,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:477,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:478,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:479,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:480,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:481,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:481,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:483,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:484,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:485,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:486,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:488,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:488,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:488,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:491,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:492,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:493,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:494,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:496,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:496,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:496,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:498,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:499,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:500,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:502,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:502,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:502,1
    - Dst: tcmalloc_internal::HugeCache::Print
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:504,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:507,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:508,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:511,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:512,1
    - Dst: tcmalloc_internal::HugeCache::Print
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 516
    functionName: tcmalloc_internal::HugeCache::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 1
    functionsReached:
    - raw_num
    - MinOverTime
    - tcmalloc_internal::HugeCache::UpdateSize
    - tcmalloc_internal::HugeCache::Print
    - in_mib
    - tcmalloc_internal::HugeCache::limit
    - absl::ToInt64Milliseconds
    - HugeLength::in_mib
    - HLFromPages
    - printf
    - Report
    - tcmalloc_internal::HugeCache::size
    - in_bytes
    - MaxOverTime
    - safe_ratio
    linkageType: ''
    returnType: void
    signature: void HugeCache::Print(Printer& out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:519,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:520,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:529,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:530,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:533,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:533,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:535,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:535,1
    - Dst: PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:537,1
    - Dst: PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:539,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:541,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:541,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:543,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:543,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:544,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:544,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:546,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:547,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:548,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:550,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:551,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:551,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:552,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:552,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:553,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:553,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:557,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:558,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:559,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:561,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:562,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:562,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:563,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:563,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:564,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:564,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:567,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:568,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:570,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:571,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:571,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:572,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:572,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:573,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:573,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:575,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:577,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:578,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:580,1
    - Dst: tcmalloc_internal::HugeCache::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:582,1
    - Dst: PrintTimeseriesStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:583,1
    - Dst: PrintSubreleaseStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 587
    functionName: tcmalloc_internal::HugeCache::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 1
    functionsReached:
    - MinOverTime
    - tcmalloc_internal::HugeCache::UpdateSize
    - auto::PrintI64
    - tcmalloc_internal::HugeCache::limit
    - PrintTimeseriesStatsInPbtxt
    - PrintI64
    - absl::ToInt64Milliseconds
    - HLFromPages
    - Report
    - PrintSubreleaseStatsInPbtxt
    - tcmalloc_internal::HugeCache::size
    - PrintDouble
    - in_bytes
    - MaxOverTime
    - tcmalloc_internal::HugeCache::PrintInPbtxt
    - safe_ratio
    - CreateSubRegion
    - HugeLength::in_bytes
    linkageType: ''
    returnType: void
    signature: void HugeCache::PrintInPbtxt(PbtxtRegion& hpaa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MinMaxTracker<kEpochs>::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::MinMaxTracker<kEpochs>::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::MinMaxTracker<kEpochs>::Report
    linkageType: ''
    returnType: void
    signature: void MinMaxTracker<kEpochs>::Report(HugeLength val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:44,1
    - Dst: ceil
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:45,1
    - Dst: absl::FDivDuration
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:45,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:46,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: tcmalloc_internal::MinMaxTracker<kEpochs>::MaxOverTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - IterBackwards
    - absl::FDivDuration
    - ceil
    - std::max
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength MinMaxTracker<kEpochs>::MaxOverTime(absl::Duration t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:55,1
    - Dst: absl::FDivDuration
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:55,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:56,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: tcmalloc_internal::MinMaxTracker<kEpochs>::MinOverTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - ceil
    - IterBackwards
    - absl::FDivDuration
    - std::min
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength MinMaxTracker<kEpochs>::MinOverTime(absl::Duration t) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:66,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:67,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:69,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:72,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:74,1
    - Dst: min::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:74,1
    - Dst: max::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:74,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::MinMaxTracker<kEpochs>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - min::raw_num
    - max::raw_num
    - absl::ToInt64Milliseconds
    - Iter
    - printf
    linkageType: ''
    returnType: void
    signature: void MinMaxTracker<kEpochs>::Print(Printer& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:83,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:84,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:85,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:86,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:88,1
    - Dst: auto::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:90,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:91,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:92,1
    - Dst: min::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:92,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:93,1
    - Dst: max::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::MinMaxTracker<kEpochs>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - auto::PrintI64
    - auto::CreateSubRegion
    - absl::ToInt64Milliseconds
    - Iter
    - max::in_bytes
    - CreateSubRegion
    - min::in_bytes
    linkageType: ''
    returnType: void
    signature: void MinMaxTracker<kEpochs>::PrintInPbtxt(PbtxtRegion& hpaa) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Extrema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: MinMaxTracker<kEpochs>::Extrema::operator==(const Extrema& other)
      const
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MinMaxTracker<kEpochs>::Extrema::operator==(const Extrema& other)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::Find
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:110,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:113,1
    - Dst: tcmalloc_internal::HugeCache::Get
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:114,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:115,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:122,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:125,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:125,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:128,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:128,1
    - Dst: auto*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:128,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:129,1
    - Dst: valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:130,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - HugeLength
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 134
    functionName: tcmalloc_internal::HugeCache::DoGet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 1
    functionsReached:
    - auto*::range
    - tcmalloc_internal::HugeCache::UpdateSize
    - Split
    - tcmalloc_internal::HugeCache::Get
    - tcmalloc_internal::HugeCache::Find
    - HugeLength::raw_num
    - Insert
    - std::tie
    - HugeRange::valid
    - tcmalloc_internal::HugeCache::size
    - Remove
    - valid
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange HugeCache::DoGet(HugeLength n, bool* from_released)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:151,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:154,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:167,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:176,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - missed
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 180
    functionName: tcmalloc_internal::HugeCache::MaybeGrowCacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 1
    functionsReached:
    - MinOverTime
    - tcmalloc_internal::HugeCache::limit
    - std::min
    - now
    - MaxOverTime
    linkageType: ''
    returnType: void
    signature: void HugeCache::MaybeGrowCacheLimit(HugeLength missed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:184,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:185,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:186,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: tcmalloc_internal::HugeCache::IncUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 1
    functionsReached:
    - NHugePages
    - Report
    linkageType: ''
    returnType: void
    signature: void HugeCache::IncUsage(HugeLength n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:191,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:192,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:193,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:194,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: tcmalloc_internal::HugeCache::DecUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 2
    functionsReached:
    - MaxOverTime
    - Report
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void HugeCache::DecUsage(HugeLength n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: tcmalloc_internal::HugeCache::UpdateSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 7
    functionsReached:
    - Report
    linkageType: ''
    returnType: void
    signature: void HugeCache::UpdateSize(HugeLength size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:202,1
    - Dst: tcmalloc_internal::HugeCache::GetSubreleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:202,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: tcmalloc_internal::HugeCache::UpdateStatsTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 6
    functionsReached:
    - reset
    - tcmalloc_internal::HugeCache::GetSubreleaseStats
    - Report
    linkageType: ''
    returnType: void
    signature: void HugeCache::UpdateStatsTracker()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::DoGet
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:207,1
    - Dst: tcmalloc_internal::HugeCache::IncUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:211,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:211,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:213,1
    - Dst: tcmalloc_internal::HugeCache::MaybeGrowCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:214,1
    - Dst: tcmalloc_internal::HugeCache::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - HugeLength
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::HugeCache::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 2
    functionsReached:
    - HugeRange::len
    - HugeRange::valid
    - tcmalloc_internal::HugeCache::DoGet
    - tcmalloc_internal::HugeCache::MaybeGrowCacheLimit
    - tcmalloc_internal::HugeCache::UpdateStatsTracker
    - tcmalloc_internal::HugeCache::IncUsage
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange HugeCache::Get(HugeLength n, bool* from_released)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::DecUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:220,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:220,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:222,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:223,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:224,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:234,1
    - Dst: tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:235,1
    - Dst: tcmalloc_internal::HugeCache::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:237,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:237,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:239,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:239,1
    - Dst: tcmalloc_internal::HugeCache::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - r
    - demand_based_unback
    argTypes:
    - HugeRange
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 219
    functionDepth: 5
    functionLinenumber: 219
    functionLinenumberEnd: 241
    functionName: tcmalloc_internal::HugeCache::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugeCache::ShrinkCache
    - tcmalloc_internal::HugeCache::UpdateStatsTracker
    - tcmalloc_internal::HugeCache::UpdateSize
    - HugeRange::len
    - tcmalloc_internal::HugeCache::limit
    - tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
    - Insert
    - tcmalloc_internal::HugeCache::size
    - now
    - tcmalloc_internal::HugeCache::DecUsage
    linkageType: ''
    returnType: void
    signature: void HugeCache::Release(HugeRange r, bool demand_based_unback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::DecUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:244,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:244,1
    - Dst: tcmalloc_internal::HugeCache::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:246,1
    - Dst: tcmalloc_internal::HugeCache::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: tcmalloc_internal::HugeCache::ReleaseUnbacked
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeCache::UpdateStatsTracker
    - HugeRange::len
    - tcmalloc_internal::HugeCache::Release
    - tcmalloc_internal::HugeCache::DecUsage
    linkageType: ''
    returnType: void
    signature: void HugeCache::ReleaseUnbacked(HugeRange r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:251,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:253,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:257,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:257,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:260,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:261,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:261,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:261,1
    - Dst: tcmalloc_internal::HugeCache::MinCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:262,1
    - Dst: tcmalloc_internal::HugeCache::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:263,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 5
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::HugeCache::MinCacheLimit
    - tcmalloc_internal::HugeCache::ShrinkCache
    - std::max
    - MinOverTime
    - tcmalloc_internal::HugeCache::limit
    - now
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeCache::MaybeShrinkCacheLimit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:267,1
    - Dst: tcmalloc_internal::HugeCache::Find
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:270,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:270,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:271,1
    - Dst: auto*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:272,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:273,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:279,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:280,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:282,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:282,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:283,1
    - Dst: valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:283,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:284,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:288,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:291,1
    - Dst: unback_
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:291,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:294,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:295,1
    - Dst: tcmalloc_internal::HugeCache::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:298,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - target
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 303
    functionName: tcmalloc_internal::HugeCache::ShrinkCache
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 6
    functionsReached:
    - auto*::range
    - TC_CHECK_NE
    - Split
    - ABSL_PREDICT_FALSE
    - HugeRange::len
    - tcmalloc_internal::HugeCache::Find
    - unback_
    - Insert
    - tcmalloc_internal::HugeCache::Release
    - std::tie
    - tcmalloc_internal::HugeCache::size
    - Remove
    - NHugePages
    - TC_ASSERT
    - valid
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeCache::ShrinkCache(HugeLength target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:307,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:311,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:311,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:311,1
    - Dst: tcmalloc_internal::HugeCache::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:312,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:314,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:314,1
    - Dst: tcmalloc_internal::HugeCache::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 305
    functionDepth: 5
    functionLinenumber: 305
    functionLinenumberEnd: 318
    functionName: tcmalloc_internal::HugeCache::ReleaseCachedPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeCache::ShrinkCache
    - tcmalloc_internal::HugeCache::UpdateSize
    - tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
    - tcmalloc_internal::HugeCache::size
    - tcmalloc_internal::HugeCache::UpdateStatsTracker
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeCache::ReleaseCachedPages(HugeLength n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:322,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:322,1
    - Dst: tcmalloc_internal::HugeCache::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:323,1
    - Dst: SkipSubreleaseIntervals::IsPeakIntervalSet
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:325,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:327,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:327,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:329,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:329,1
    - Dst: tcmalloc_internal::HugeCache::CapDemandInterval
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:331,1
    - Dst: tcmalloc_internal::HugeCache::usage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:334,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:334,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:335,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:350,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:351,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:352,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:352,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - desired
    - intervals
    argTypes:
    - HugeLength
    - SkipSubreleaseIntervals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 356
    functionName: tcmalloc_internal::HugeCache::GetDesiredReleaseablePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 1
    functionsReached:
    - std::min
    - tcmalloc_internal::HugeCache::usage
    - HugeLength::in_pages
    - tcmalloc_internal::HugeCache::size
    - GetRecentDemand
    - HLFromPages
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - SkipSubreleaseIntervals::IsPeakIntervalSet
    - tcmalloc_internal::HugeCache::CapDemandInterval
    - tcmalloc_internal::HugeCache::UpdateStatsTracker
    - NHugePages
    - TC_CHECK
    - ReportSkippedSubreleasePages
    - GetRecentPeak
    linkageType: ''
    returnType: HugeLength
    signature: "HugeLength HugeCache::GetDesiredReleaseablePages(\n    HugeLength
      desired, SkipSubreleaseIntervals intervals)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:362,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:362,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:368,1
    - Dst: tcmalloc_internal::HugeCache::MinCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:368,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:370,1
    - Dst: HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:370,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:370,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:371,1
    - Dst: tcmalloc_internal::HugeCache::MinCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:371,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:372,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:375,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:376,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:378,1
    - Dst: tcmalloc_internal::HugeCache::GetDesiredReleaseablePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:383,1
    - Dst: tcmalloc_internal::HugeCache::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:385,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:385,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:386,1
    - Dst: set_limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:387,1
    - Dst: limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:388,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:390,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:392,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:392,1
    - Dst: tcmalloc_internal::HugeCache::UpdateStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - n
    - intervals
    - hit_limit
    argTypes:
    - HugeLength
    - SkipSubreleaseIntervals
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 396
    functionName: tcmalloc_internal::HugeCache::ReleaseCachedPagesByDemand
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - std::min
    - tcmalloc_internal::HugeCache::MinCacheLimit
    - tcmalloc_internal::HugeCache::ShrinkCache
    - HugeLength::in_pages
    - limit_hit
    - tcmalloc_internal::HugeCache::UpdateSize
    - tcmalloc_internal::HugeCache::UpdateStatsTracker
    - HugeLength
    - set_limit_hit
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - tcmalloc_internal::HugeCache::size
    - std::max
    - NHugePages
    - tcmalloc_internal::HugeCache::GetDesiredReleaseablePages
    linkageType: ''
    returnType: HugeLength
    signature: "HugeLength HugeCache::ReleaseCachedPagesByDemand(\n    HugeLength
      n, SkipSubreleaseIntervals intervals, bool hit_limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:401,1
    - Dst: HugeAddressMap::Node*::next
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:402,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:403,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 409
    functionName: tcmalloc_internal::HugeCache::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - first
    - HugeAddressMap::Node*::range
    - HugeLength::in_pages
    - HugeAddressMap::Node*::next
    linkageType: ''
    returnType: void
    signature: "void HugeCache::AddSpanStats(SmallSpanStats* small,\n                             LargeSpanStats*
      large) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: root
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:412,1
    - Dst: HugeAddressMap::Node*::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:418,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:419,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:420,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:420,1
    - Dst: HugeAddressMap::Node*::left
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:427,1
    - Dst: HugeAddressMap::Node*::right
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:428,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:429,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:434,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:440,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:440,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:441,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:441,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:446,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:446,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 456
    functionName: tcmalloc_internal::HugeCache::Find
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 4
    functionsReached:
    - auto::longest
    - HugeAddressMap::Node*::range
    - root
    - HugeAddressMap::Node*::longest
    - HugeAddressMap::Node*::left
    - auto::range
    - HugeAddressMap::Node*::right
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeCache::Find(HugeLength n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:459,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:460,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:471,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:472,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:474,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:477,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:477,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:478,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:479,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:480,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:481,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:481,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:483,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:484,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:485,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:486,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:488,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:488,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:488,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:491,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:492,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:493,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:494,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:496,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:496,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:496,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:498,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:499,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:500,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:502,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:502,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:502,1
    - Dst: tcmalloc_internal::HugeCache::Print
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:504,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:507,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:508,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:511,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:512,1
    - Dst: tcmalloc_internal::HugeCache::Print
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 516
    functionName: tcmalloc_internal::HugeCache::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 2
    functionsReached:
    - raw_num
    - MinOverTime
    - tcmalloc_internal::HugeCache::UpdateSize
    - tcmalloc_internal::HugeCache::Print
    - in_mib
    - tcmalloc_internal::HugeCache::limit
    - absl::ToInt64Milliseconds
    - HugeLength::in_mib
    - HLFromPages
    - printf
    - Report
    - tcmalloc_internal::HugeCache::size
    - in_bytes
    - MaxOverTime
    - safe_ratio
    linkageType: ''
    returnType: void
    signature: void HugeCache::Print(Printer& out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:519,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:520,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:529,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:530,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:533,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:533,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:535,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:535,1
    - Dst: PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:537,1
    - Dst: PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:539,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:541,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:541,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:543,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:543,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:544,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:544,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:546,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:547,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:548,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:550,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:551,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:551,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:552,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:552,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:553,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:553,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:557,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:558,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:559,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:561,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:562,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:562,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:563,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:563,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:564,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:564,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:567,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:568,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:570,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:571,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:571,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:572,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:572,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:573,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:573,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:575,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:577,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:578,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:580,1
    - Dst: tcmalloc_internal::HugeCache::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:582,1
    - Dst: PrintTimeseriesStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:583,1
    - Dst: PrintSubreleaseStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 587
    functionName: tcmalloc_internal::HugeCache::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 2
    functionsReached:
    - MinOverTime
    - tcmalloc_internal::HugeCache::UpdateSize
    - auto::PrintI64
    - tcmalloc_internal::HugeCache::limit
    - PrintTimeseriesStatsInPbtxt
    - PrintI64
    - absl::ToInt64Milliseconds
    - HLFromPages
    - Report
    - PrintSubreleaseStatsInPbtxt
    - tcmalloc_internal::HugeCache::size
    - PrintDouble
    - in_bytes
    - MaxOverTime
    - tcmalloc_internal::HugeCache::PrintInPbtxt
    - safe_ratio
    - CreateSubRegion
    - HugeLength::in_bytes
    linkageType: ''
    returnType: void
    signature: void HugeCache::PrintInPbtxt(PbtxtRegion& hpaa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 513
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:45,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:48,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:51,1
    - Dst: NumaNormalTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:54,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:68,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:72,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:72,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:79,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:80,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:82,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:83,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:84,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:86,1
    - Dst: ReportMismatchedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:87,1
    - Dst: Prefetch
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:90,1
    - Dst: MemoryTagFromSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:97,1
    - Dst: AccessDensity
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:98,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:102,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:104,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:106,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:107,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:110,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:110,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:110,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:111,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:111,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:113,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:123,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:123,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:123,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:124,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:135,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:141,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:141,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:142,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:142,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:145,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:145,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:145,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:146,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:146,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:146,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:147,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:151,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:155,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:158,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:159,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:159,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:159,1
    - Dst: ReturnSpansToPageHeap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:164,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:167,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:169,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:169,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:169,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:170,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:170,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:170,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:171,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:172,1
    - Dst: ReturnAllocsToPageHeap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 180
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - Length
    - ABSL_PREDICT_FALSE
    - page_allocator
    - NumaNormalTag
    - GetMemoryTag
    - numa_topology
    - IsEnabled
    - Prefetch
    - AccessDensity
    - MemoryTagFromSizeClass
    - reinterpret_cast<void*>
    - PageIdContaining
    - ReportMismatchedSizeClass
    - Span*::first_page
    - ReturnAllocsToPageHeap
    - size
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    - TC_ASSERT_EQ
    - Span*::num_pages
    - first_page
    - Span*::donated
    - sizemap
    - TC_ASSERT_NE
    - absl::MakeSpan
    - PrefetchW
    - pagemap
    - Range
    - IsExpandedSizeClass
    - tcmalloc_internal::Span::Delete
    - start_address
    - ReportDoubleFree
    - ReturnSpansToPageHeap
    - Span*::start_address
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:45,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:48,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:51,1
    - Dst: NumaNormalTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: tcmalloc_internal::central_freelist_internal::MemoryTagFromSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - NumaNormalTag
    - numa_topology
    - IsExpandedSizeClass
    - IsEnabled
    linkageType: ''
    returnType: MemoryTag
    signature: MemoryTag MemoryTagFromSizeClass(size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - objects_per_span
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: tcmalloc_internal::central_freelist_internal::AccessDensity
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AccessDensityPrediction
    signature: AccessDensityPrediction AccessDensity(int objects_per_span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: size_t
    signature: size_t StaticForwarder::class_to_size(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:72,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::class_to_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - Length
    linkageType: ''
    returnType: Length
    signature: Length StaticForwarder::class_to_pages(int size_class)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:79,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:80,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:82,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:83,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:84,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:86,1
    - Dst: ReportMismatchedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:87,1
    - Dst: Prefetch
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - batch
    - spans
    - expected_size_class
    argTypes:
    - absl::Span<void*>
    - Span**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 32
    functionsReached:
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - pagemap
    - Prefetch
    - ReportDoubleFree
    - PageIdContaining
    - ReportMismatchedSizeClass
    linkageType: ''
    returnType: void
    signature: "void StaticForwarder::MapObjectsToSpans(absl::Span<void*> batch, Span**
      spans,\n                                        int expected_size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MemoryTagFromSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:97,1
    - Dst: AccessDensity
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:98,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:102,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:104,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:106,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:107,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:110,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:110,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:110,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:111,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:111,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - size_class
    - objects_per_span
    - pages_per_span
    argTypes:
    - int
    - size_t
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 16
    functionsReached:
    - Length
    - ABSL_PREDICT_FALSE
    - page_allocator
    - pagemap
    - GetMemoryTag
    - Span*::num_pages
    - AccessDensity
    - MemoryTagFromSizeClass
    - TC_ASSERT
    - TC_ASSERT_EQ
    - Span*::start_address
    linkageType: ''
    returnType: Span
    signature: "Span * StaticForwarder::AllocateSpan(int size_class, size_t objects_per_span,\n
      \                                   Length pages_per_span)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:123,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:123,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:123,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - start_address
    - TC_ASSERT_EQ
    - page_allocator
    - GetMemoryTag
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:141,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:141,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:142,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:142,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:145,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:145,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:145,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:146,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:146,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:146,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:147,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:151,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:155,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:158,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:159,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:159,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:159,1
    - Dst: ReturnSpansToPageHeap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:164,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:167,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:169,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:169,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:169,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:170,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:170,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:170,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:171,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:172,1
    - Dst: ReturnAllocsToPageHeap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - objects_per_span
    - free_spans
    argTypes:
    - size_t
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 176
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 24
    functionsReached:
    - absl::Span<Span*>::size
    - GetMemoryTag
    - reinterpret_cast<void*>
    - Span*::first_page
    - ReturnAllocsToPageHeap
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT_EQ
    - Span*::num_pages
    - Span*::donated
    - first_page
    - TC_ASSERT_NE
    - absl::MakeSpan
    - PrefetchW
    - pagemap
    - Range
    - tcmalloc_internal::Span::Delete
    - start_address
    - ReturnSpansToPageHeap
    - Span*::start_address
    linkageType: ''
    returnType: void
    signature: "void StaticForwarder::DeallocateSpans(size_t objects_per_span,\n                                      absl::Span<Span*>
      free_spans)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:45,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:48,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:51,1
    - Dst: NumaNormalTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: tcmalloc_internal::central_freelist_internal::MemoryTagFromSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - NumaNormalTag
    - numa_topology
    - IsExpandedSizeClass
    - IsEnabled
    linkageType: ''
    returnType: MemoryTag
    signature: MemoryTag MemoryTagFromSizeClass(size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - objects_per_span
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: tcmalloc_internal::central_freelist_internal::AccessDensity
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AccessDensityPrediction
    signature: AccessDensityPrediction AccessDensity(int objects_per_span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: size_t
    signature: size_t StaticForwarder::class_to_size(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:72,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::class_to_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - Length
    linkageType: ''
    returnType: Length
    signature: Length StaticForwarder::class_to_pages(int size_class)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:79,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:80,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:82,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:83,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:84,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:86,1
    - Dst: ReportMismatchedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:87,1
    - Dst: Prefetch
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - batch
    - spans
    - expected_size_class
    argTypes:
    - absl::Span<void*>
    - Span**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 32
    functionsReached:
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - pagemap
    - Prefetch
    - ReportDoubleFree
    - PageIdContaining
    - ReportMismatchedSizeClass
    linkageType: ''
    returnType: void
    signature: "void StaticForwarder::MapObjectsToSpans(absl::Span<void*> batch, Span**
      spans,\n                                        int expected_size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MemoryTagFromSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:97,1
    - Dst: AccessDensity
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:98,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:102,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:104,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:106,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:107,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:110,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:110,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:110,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:111,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:111,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - size_class
    - objects_per_span
    - pages_per_span
    argTypes:
    - int
    - size_t
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 16
    functionsReached:
    - Length
    - ABSL_PREDICT_FALSE
    - page_allocator
    - pagemap
    - GetMemoryTag
    - Span*::num_pages
    - AccessDensity
    - MemoryTagFromSizeClass
    - TC_ASSERT
    - TC_ASSERT_EQ
    - Span*::start_address
    linkageType: ''
    returnType: Span
    signature: "Span * StaticForwarder::AllocateSpan(int size_class, size_t objects_per_span,\n
      \                                   Length pages_per_span)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:123,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:123,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:123,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - start_address
    - TC_ASSERT_EQ
    - page_allocator
    - GetMemoryTag
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:141,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:141,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:142,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:142,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:145,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:145,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:145,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:146,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:146,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:146,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:147,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:151,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:155,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:158,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:159,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:159,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:159,1
    - Dst: ReturnSpansToPageHeap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:164,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:167,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:169,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:169,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:169,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:170,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:170,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:170,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:171,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:172,1
    - Dst: ReturnAllocsToPageHeap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - objects_per_span
    - free_spans
    argTypes:
    - size_t
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 176
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 24
    functionsReached:
    - absl::Span<Span*>::size
    - GetMemoryTag
    - reinterpret_cast<void*>
    - Span*::first_page
    - ReturnAllocsToPageHeap
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT_EQ
    - Span*::num_pages
    - Span*::donated
    - first_page
    - TC_ASSERT_NE
    - absl::MakeSpan
    - PrefetchW
    - pagemap
    - Range
    - tcmalloc_internal::Span::Delete
    - start_address
    - ReturnSpansToPageHeap
    - Span*::start_address
    linkageType: ''
    returnType: void
    signature: "void StaticForwarder::DeallocateSpans(size_t objects_per_span,\n                                      absl::Span<Span*>
      free_spans)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:45,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:48,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:51,1
    - Dst: NumaNormalTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: tcmalloc_internal::central_freelist_internal::MemoryTagFromSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - NumaNormalTag
    - numa_topology
    - IsExpandedSizeClass
    - IsEnabled
    linkageType: ''
    returnType: MemoryTag
    signature: MemoryTag MemoryTagFromSizeClass(size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - objects_per_span
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: tcmalloc_internal::central_freelist_internal::AccessDensity
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AccessDensityPrediction
    signature: AccessDensityPrediction AccessDensity(int objects_per_span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: size_t
    signature: size_t StaticForwarder::class_to_size(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:72,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::class_to_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - Length
    linkageType: ''
    returnType: Length
    signature: Length StaticForwarder::class_to_pages(int size_class)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:79,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:80,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:82,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:83,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:84,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:86,1
    - Dst: ReportMismatchedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:87,1
    - Dst: Prefetch
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - batch
    - spans
    - expected_size_class
    argTypes:
    - absl::Span<void*>
    - Span**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 32
    functionsReached:
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - pagemap
    - Prefetch
    - ReportDoubleFree
    - PageIdContaining
    - ReportMismatchedSizeClass
    linkageType: ''
    returnType: void
    signature: "void StaticForwarder::MapObjectsToSpans(absl::Span<void*> batch, Span**
      spans,\n                                        int expected_size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MemoryTagFromSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:97,1
    - Dst: AccessDensity
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:98,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:102,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:104,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:106,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:107,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:110,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:110,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:110,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:111,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:111,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - size_class
    - objects_per_span
    - pages_per_span
    argTypes:
    - int
    - size_t
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 16
    functionsReached:
    - Length
    - ABSL_PREDICT_FALSE
    - page_allocator
    - pagemap
    - GetMemoryTag
    - Span*::num_pages
    - AccessDensity
    - MemoryTagFromSizeClass
    - TC_ASSERT
    - TC_ASSERT_EQ
    - Span*::start_address
    linkageType: ''
    returnType: Span
    signature: "Span * StaticForwarder::AllocateSpan(int size_class, size_t objects_per_span,\n
      \                                   Length pages_per_span)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:123,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:123,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:123,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - start_address
    - TC_ASSERT_EQ
    - page_allocator
    - GetMemoryTag
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:141,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:141,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:142,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:142,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:145,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:145,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:145,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:146,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:146,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:146,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:147,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:151,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:155,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:158,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:159,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:159,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:159,1
    - Dst: ReturnSpansToPageHeap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:164,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:167,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:169,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:169,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:169,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:170,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:170,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:170,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:171,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:172,1
    - Dst: ReturnAllocsToPageHeap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - objects_per_span
    - free_spans
    argTypes:
    - size_t
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 176
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 24
    functionsReached:
    - absl::Span<Span*>::size
    - GetMemoryTag
    - reinterpret_cast<void*>
    - Span*::first_page
    - ReturnAllocsToPageHeap
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT_EQ
    - Span*::num_pages
    - Span*::donated
    - first_page
    - TC_ASSERT_NE
    - absl::MakeSpan
    - PrefetchW
    - pagemap
    - Range
    - tcmalloc_internal::Span::Delete
    - start_address
    - ReturnSpansToPageHeap
    - Span*::start_address
    linkageType: ''
    returnType: void
    signature: "void StaticForwarder::DeallocateSpans(size_t objects_per_span,\n                                      absl::Span<Span*>
      free_spans)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:45,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:48,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:51,1
    - Dst: NumaNormalTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: tcmalloc_internal::central_freelist_internal::MemoryTagFromSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - NumaNormalTag
    - numa_topology
    - IsExpandedSizeClass
    - IsEnabled
    linkageType: ''
    returnType: MemoryTag
    signature: MemoryTag MemoryTagFromSizeClass(size_t size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - objects_per_span
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: tcmalloc_internal::central_freelist_internal::AccessDensity
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AccessDensityPrediction
    signature: AccessDensityPrediction AccessDensity(int objects_per_span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: size_t
    signature: size_t StaticForwarder::class_to_size(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:72,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::class_to_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - Length
    linkageType: ''
    returnType: Length
    signature: Length StaticForwarder::class_to_pages(int size_class)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:79,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:80,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:82,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:83,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:84,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:86,1
    - Dst: ReportMismatchedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:87,1
    - Dst: Prefetch
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - batch
    - spans
    - expected_size_class
    argTypes:
    - absl::Span<void*>
    - Span**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 32
    functionsReached:
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - pagemap
    - Prefetch
    - ReportDoubleFree
    - PageIdContaining
    - ReportMismatchedSizeClass
    linkageType: ''
    returnType: void
    signature: "void StaticForwarder::MapObjectsToSpans(absl::Span<void*> batch, Span**
      spans,\n                                        int expected_size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MemoryTagFromSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:97,1
    - Dst: AccessDensity
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:98,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:102,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:104,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:106,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:107,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:110,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:110,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:110,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:111,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:111,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - size_class
    - objects_per_span
    - pages_per_span
    argTypes:
    - int
    - size_t
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 16
    functionsReached:
    - Length
    - ABSL_PREDICT_FALSE
    - page_allocator
    - pagemap
    - GetMemoryTag
    - Span*::num_pages
    - AccessDensity
    - MemoryTagFromSizeClass
    - TC_ASSERT
    - TC_ASSERT_EQ
    - Span*::start_address
    linkageType: ''
    returnType: Span
    signature: "Span * StaticForwarder::AllocateSpan(int size_class, size_t objects_per_span,\n
      \                                   Length pages_per_span)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:123,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:123,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:123,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - start_address
    - TC_ASSERT_EQ
    - page_allocator
    - GetMemoryTag
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - page_allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:141,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:141,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:142,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:142,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:145,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:145,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:145,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:146,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:146,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:146,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:147,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:151,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:155,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:158,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:159,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:159,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:159,1
    - Dst: ReturnSpansToPageHeap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:164,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:167,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:169,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:169,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:169,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:170,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:170,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:170,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:171,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:172,1
    - Dst: ReturnAllocsToPageHeap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - objects_per_span
    - free_spans
    argTypes:
    - size_t
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 176
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 24
    functionsReached:
    - absl::Span<Span*>::size
    - GetMemoryTag
    - reinterpret_cast<void*>
    - Span*::first_page
    - ReturnAllocsToPageHeap
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT_EQ
    - Span*::num_pages
    - Span*::donated
    - first_page
    - TC_ASSERT_NE
    - absl::MakeSpan
    - PrefetchW
    - pagemap
    - Range
    - tcmalloc_internal::Span::Delete
    - start_address
    - ReturnSpansToPageHeap
    - Span*::start_address
    linkageType: ''
    returnType: void
    signature: "void StaticForwarder::DeallocateSpans(size_t objects_per_span,\n                                      absl::Span<Span*>
      free_spans)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.h:57,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 89
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/peak_heap_tracker.h
    functionUses: 0
    functionsReached:
    - load
    - store
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - " allocator\n          ABSL_ATTRIBUTE_LIFETIME_BOUND"
    argTypes:
    - MetadataObjectAllocator<SampledAllocation>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::PeakHeapTracker::PeakHeapTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/peak_heap_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PeakHeapTracker(\n      MetadataObjectAllocator<SampledAllocation>&
      allocator\n          ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: tcmalloc_internal::PeakHeapTracker::CurrentPeakSize
    functionSourceFile: /src/tcmalloc/tcmalloc/peak_heap_tracker.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t CurrentPeakSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: tcmalloc_internal::PeakHeapTracker::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/peak_heap_tracker.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(recorder_lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - " allocator\n          ABSL_ATTRIBUTE_LIFETIME_BOUND"
    argTypes:
    - MetadataObjectAllocator<SampledAllocation>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::PeakHeapTracker::PeakHeapTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/peak_heap_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PeakHeapTracker(\n      MetadataObjectAllocator<SampledAllocation>&
      allocator\n          ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: tcmalloc_internal::PeakHeapTracker::CurrentPeakSize
    functionSourceFile: /src/tcmalloc/tcmalloc/peak_heap_tracker.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t CurrentPeakSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: tcmalloc_internal::PeakHeapTracker::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/peak_heap_tracker.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(recorder_lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:36,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:37,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:37,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:38,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:43,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:50,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:55,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:56,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:56,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:62,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:65,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:66,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:70,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::BM_Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_Populate(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:86,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:87,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:87,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:88,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:100,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:103,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:108,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:111,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:112,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:116,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:117,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::BM_MixAndReturn
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - absl::c_shuffle
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_MixAndReturn(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:135,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:136,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:136,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:137,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:142,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:148,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:150,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:150,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:158,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:165,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:168,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:169,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:169,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:173,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:176,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:177,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:181,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:182,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:187,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::BM_SpanReuse
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - absl::c_shuffle
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_SpanReuse(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:36,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:37,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:37,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:38,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:43,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:50,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:55,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:56,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:56,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:62,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:65,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:66,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:70,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::BM_Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_Populate(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:86,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:87,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:87,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:88,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:100,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:103,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:108,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:111,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:112,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:116,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:117,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::BM_MixAndReturn
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - absl::c_shuffle
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_MixAndReturn(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:135,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:136,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:136,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:137,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:142,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:148,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:150,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:150,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:158,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:165,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:168,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:169,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:169,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:173,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:176,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:177,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:181,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:182,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:187,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::BM_SpanReuse
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - absl::c_shuffle
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_SpanReuse(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:36,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:37,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:37,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:38,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:43,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:50,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:55,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:56,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:56,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:62,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:65,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:66,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:70,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::BM_Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_Populate(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:86,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:87,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:87,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:88,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:100,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:103,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:108,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:111,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:112,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:116,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:117,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::BM_MixAndReturn
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - absl::c_shuffle
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_MixAndReturn(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:135,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:136,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:136,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:137,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:142,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:148,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:150,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:150,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:158,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:165,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:168,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:169,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:169,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:173,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:176,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:177,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:181,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:182,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:187,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::BM_SpanReuse
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - absl::c_shuffle
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_SpanReuse(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:36,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:37,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:37,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:38,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:43,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:50,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:55,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:56,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:56,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:62,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:65,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:66,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:70,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::BM_Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_Populate(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:86,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:87,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:87,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:88,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:100,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:103,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:108,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:111,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:112,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:116,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:117,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::BM_MixAndReturn
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - absl::c_shuffle
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_MixAndReturn(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:135,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:136,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:136,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:137,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:142,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:148,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:150,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:150,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:158,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:165,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:168,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:169,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:169,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:173,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:176,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:177,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:181,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:182,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:187,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::BM_SpanReuse
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - absl::c_shuffle
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_SpanReuse(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:36,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:37,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:37,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:38,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:43,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:50,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:55,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:56,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:56,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:62,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:65,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:66,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:70,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::BM_Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_Populate(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:86,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:87,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:87,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:88,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:100,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:103,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:108,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:111,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:112,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:116,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:117,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::BM_MixAndReturn
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - absl::c_shuffle
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_MixAndReturn(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:135,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:136,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:136,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:137,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:142,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:148,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:150,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:150,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:158,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:165,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:168,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:169,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:169,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:173,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:176,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:177,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:181,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:182,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:187,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::BM_SpanReuse
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - absl::c_shuffle
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_SpanReuse(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:36,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:37,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:37,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:38,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:43,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:50,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:55,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:56,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:56,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:62,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:65,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:66,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:70,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::BM_Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_Populate(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:86,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:87,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:87,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:88,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:100,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:103,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:108,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:111,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:112,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:116,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:117,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::BM_MixAndReturn
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - absl::c_shuffle
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_MixAndReturn(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:135,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:136,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:136,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:137,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:142,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:148,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:150,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:150,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:158,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:165,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:168,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:169,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:169,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:173,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:176,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:177,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:181,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:182,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:187,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::BM_SpanReuse
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - absl::c_shuffle
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_SpanReuse(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:36,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:37,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:37,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:38,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:43,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:50,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:55,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:56,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:56,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:62,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:65,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:66,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:70,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::BM_Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_Populate(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:86,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:87,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:87,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:88,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:100,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:103,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:108,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:111,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:112,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:116,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:117,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::BM_MixAndReturn
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - absl::c_shuffle
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_MixAndReturn(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:135,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:136,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:136,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:137,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:142,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:148,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:150,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:150,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:158,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:165,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:168,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:169,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:169,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:173,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:176,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:177,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:181,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:182,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:187,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::BM_SpanReuse
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - absl::c_shuffle
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_SpanReuse(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:36,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:37,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:37,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:38,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:43,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:50,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:55,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:56,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:56,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:62,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:65,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:66,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:70,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::BM_Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_Populate(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:86,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:87,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:87,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:88,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:100,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:103,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:108,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:111,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:112,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:116,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:117,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::BM_MixAndReturn
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - absl::c_shuffle
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_MixAndReturn(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:135,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:136,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:136,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:137,1
    - Dst: CentralFreeList::Init
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:142,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:148,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:150,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:150,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:158,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:165,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:168,1
    - Dst: CentralFreeList::RemoveRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:169,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:169,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:173,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:176,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:177,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:181,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:182,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:187,1
    - Dst: CentralFreeList::InsertRange
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::BM_SpanReuse
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - PauseTiming
    - sizemap
    - absl::MakeSpan
    - CentralFreeList::InsertRange
    - SetItemsProcessed
    - absl::c_shuffle
    - ResumeTiming
    - CentralFreeList::Init
    - KeepRunningBatch
    - std::min
    - CppPolicy
    - CentralFreeList::RemoveRange
    linkageType: ''
    returnType: void
    signature: void BM_SpanReuse(benchmark::State& state)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<StackTraceTable>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:52,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:53,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:66,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:67,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:70,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:74,1
    - Dst: auto::AddTrace
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:79,1
    - Dst: std::make_unique<StackTraceTable>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:86,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:87,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:87,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:88,1
    - Dst: auto::AddTrace
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:90,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:97,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:97,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:98,1
    - Dst: ThreadCache::GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:99,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:100,1
    - Dst: ThreadCache*::Deallocate
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:101,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:105,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:105,1
    - Dst: Span*::Unsample
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:114,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:116,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:116,1
    - Dst: Span*::bytes_in_span
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:117,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:120,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:124,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:131,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:131,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:131,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:139,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:141,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:143,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:146,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:147,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:160,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:170,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:175,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:178,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:184,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:184,1
    - Dst: sampled_internal_fragmentation_::Add
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:186,1
    - Dst: MallocHook::InvokeSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:188,1
    - Dst: deallocation_samples::ReportFree
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:190,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:193,1
    - Dst: AccessFromPointer
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:195,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:196,1
    - Dst: auto::AccessAsCold
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:197,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:199,1
    - Dst: auto::AccessAsHot
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:200,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:202,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:203,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:203,1
    - Dst: FreeProxyObject
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:204,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 208
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.cc
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - absl::Now
    - deallocation_samples::ReportFree
    - CppPolicy
    - PageIdContaining
    - absl::Span<void*>
    - AccessFromPointer
    - Span*::Fragmentation
    - ThreadCache::GetCacheIfPresent
    - Span*::bytes_in_span
    - ThreadCache*::Deallocate
    - TC_ASSERT_EQ
    - ABSL_PREDICT_TRUE
    - auto::AccessAsCold
    - transfer_cache
    - auto::AddTrace
    - TC_ASSERT_NE
    - sizemap
    - absl::MakeSpan
    - auto::SetStartTime
    - pagemap
    - Span*::Unsample
    - ReportMismatchedDelete
    - MallocHook::InvokeSampledDeleteHook
    - FreeProxyObject
    - sampled_internal_fragmentation_::Add
    - sampled_allocation_recorder
    - TC_ASSERT_GE
    - PageIdContainingTagged
    - cpu_cache
    - std::make_unique<StackTraceTable>
    - auto::AccessAsHot
    - has_value
    - TC_ASSERT_LE
    - UsePerCpuCache
    - sampled_internal_fragmentation_::value
    - static_cast<double>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<StackTraceTable>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:52,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:53,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:66,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:67,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:70,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:74,1
    - Dst: auto::AddTrace
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - Static
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 83
    functionName: DumpFragmentationProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.cc
    functionUses: 0
    functionsReached:
    - auto::AddTrace
    - TC_ASSERT_NE
    - std::make_unique<StackTraceTable>
    - pagemap
    - PageIdContaining
    - sampled_allocation_recorder
    - Span*::Fragmentation
    linkageType: ''
    returnType: std::unique_ptr<const ProfileBase>
    signature: std::unique_ptr<const ProfileBase> DumpFragmentationProfile(Static&
      state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<StackTraceTable>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:86,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:87,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:87,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:88,1
    - Dst: auto::AddTrace
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - Static
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: DumpHeapProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.cc
    functionUses: 0
    functionsReached:
    - auto::AddTrace
    - std::make_unique<StackTraceTable>
    - auto::SetStartTime
    - absl::Now
    - sampled_allocation_recorder
    linkageType: ''
    returnType: std::unique_ptr<const ProfileBase>
    signature: std::unique_ptr<const ProfileBase> DumpHeapProfile(Static& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:97,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:97,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:98,1
    - Dst: ThreadCache::GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:99,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:100,1
    - Dst: ThreadCache*::Deallocate
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:101,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:105,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' state'
    - ptr
    - size_class
    argTypes:
    - Static
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: FreeProxyObject
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.cc
    functionUses: 3
    functionsReached:
    - transfer_cache
    - ThreadCache*::Deallocate
    - cpu_cache
    - absl::Span<void*>
    - ThreadCache::GetCacheIfPresent
    - UsePerCpuCache
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE FreeProxyObject(Static& state, void* ptr,\n
      \                                            size_t size_class)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Unsample
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:114,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:116,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:116,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:117,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:120,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:124,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:131,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:131,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:131,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:139,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:141,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:143,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:146,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:147,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:160,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:170,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:175,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:178,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:184,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:184,1
    - Dst: sampled_internal_fragmentation_::Add
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:186,1
    - Dst: MallocHook::InvokeSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:188,1
    - Dst: deallocation_samples::ReportFree
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:190,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:193,1
    - Dst: AccessFromPointer
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:195,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:196,1
    - Dst: auto::AccessAsCold
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:197,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:199,1
    - Dst: auto::AccessAsHot
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:200,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:202,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:203,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:203,1
    - Dst: FreeProxyObject
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:204,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - ' state'
    - ptr
    - size
    - ' span'
    argTypes:
    - Static
    - void*
    - std::optional<size_t>
    - Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 206
    functionName: MaybeUnsampleAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.cc
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - deallocation_samples::ReportFree
    - CppPolicy
    - bytes_in_span
    - AccessFromPointer
    - std::optional<size_t>::has_value
    - TC_ASSERT_EQ
    - ABSL_PREDICT_TRUE
    - auto::AccessAsCold
    - sizemap
    - absl::MakeSpan
    - pagemap
    - ReportMismatchedDelete
    - MallocHook::InvokeSampledDeleteHook
    - FreeProxyObject
    - sampled_internal_fragmentation_::Add
    - TC_ASSERT_GE
    - sampled_allocation_recorder
    - PageIdContainingTagged
    - auto::AccessAsHot
    - TC_ASSERT_LE
    - Unsample
    - sampled_internal_fragmentation_::value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void MaybeUnsampleAllocation(Static& state, void* ptr,\n                             std::optional<size_t>
      size, Span& span)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/experiment.cc:94,1
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:95,1
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:96,1
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:97,1
    - Dst: SelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:98,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/experiment.cc:112,1
    - Dst: substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:114,1
    - Dst: substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:117,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/experiment.cc:121,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/experiment.cc:131,1
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/experiment.cc:134,1
    - Dst: ParseExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:137,1
    - Dst: LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:139,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:140,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/experiment.cc:146,1
    - Dst: LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:148,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:149,1
    - Dst: IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:157,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:158,1
    - Dst: ParseExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:164,1
    - Dst: LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:166,1
    - Dst: IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:166,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:167,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:181,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/experiment.cc:182,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:182,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:182,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:184,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/experiment.cc:184,1
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/experiment.cc:185,1
    - Dst: IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:195,1
    - Dst: HasBrittleTestFailures
      Src: /src/tcmalloc/tcmalloc/experiment.cc:196,1
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/experiment.cc:204,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:205,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/experiment.cc:212,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:212,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:213,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/experiment.cc:223,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:223,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/experiment.cc:224,1
    - Dst: tcmalloc_internal::GetSelectedExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:226,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:226,1
    - Dst: callback
      Src: /src/tcmalloc/tcmalloc/experiment.cc:242,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/experiment.cc:242,1
    - Dst: WalkExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:248,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/experiment.cc:249,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 253
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 0
    functionsReached:
    - empty
    - tcmalloc_internal::GetSelectedExperiments
    - static_cast<uint64_t>
    - HasBrittleTestFailures
    - std::fill
    - callback
    - ParseExperiments
    - memset
    - absl::base_internal::LowLevelCallOnce
    - WalkExperiments
    - absl::StrCat
    - thread_safe_getenv
    - LookupExperimentID
    - static_cast<int>
    - TC_ASSERT_GE
    - absl::HashOf
    - find
    - IsExperimentActive
    - IsCompilerExperiment
    - absl::StrContains
    - substr
    - absl::base_internal::CycleClock::Now
    - f
    - SelectExperiments
    - TC_CHECK
    - TC_ASSERT_LT
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - exp
    argTypes:
    - Experiment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::HasBrittleTestFailures
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBrittleTestFailures(Experiment exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exp
    argTypes:
    - Experiment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::IsCompilerExperiment
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsCompilerExperiment(Experiment exp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - label
    - exp
    argTypes:
    - absl::string_view
    - Experiment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: tcmalloc_internal::LookupExperimentID
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LookupExperimentID(absl::string_view label, Experiment* exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/experiment.cc:94,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:95,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:96,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:97,1
    - Dst: tcmalloc_internal::SelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: tcmalloc_internal::GetSelectedExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached:
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::SelectExperiments
    - tcmalloc_internal::thread_safe_getenv
    linkageType: ''
    returnType: bool
    signature: bool * GetSelectedExperiments()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/experiment.cc:112,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:114,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:117,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/experiment.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - labels
    - f
    argTypes:
    - absl::string_view
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: tcmalloc_internal::ParseExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::substr
    - absl::string_view::find
    - f
    linkageType: ''
    returnType: void
    signature: void ParseExperiments(absl::string_view labels, F f)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - exp
    argTypes:
    - Experiment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::HasBrittleTestFailures
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBrittleTestFailures(Experiment exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exp
    argTypes:
    - Experiment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::IsCompilerExperiment
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsCompilerExperiment(Experiment exp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - label
    - exp
    argTypes:
    - absl::string_view
    - Experiment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: tcmalloc_internal::LookupExperimentID
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LookupExperimentID(absl::string_view label, Experiment* exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/experiment.cc:94,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:95,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:96,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:97,1
    - Dst: tcmalloc_internal::SelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: tcmalloc_internal::GetSelectedExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached:
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::SelectExperiments
    - tcmalloc_internal::thread_safe_getenv
    linkageType: ''
    returnType: bool
    signature: bool * GetSelectedExperiments()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/experiment.cc:112,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:114,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:117,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/experiment.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - labels
    - f
    argTypes:
    - absl::string_view
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: tcmalloc_internal::ParseExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::substr
    - absl::string_view::find
    - f
    linkageType: ''
    returnType: void
    signature: void ParseExperiments(absl::string_view labels, F f)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/experiment.cc:131,1
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/experiment.cc:134,1
    - Dst: tcmalloc_internal::ParseExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:137,1
    - Dst: tcmalloc_internal::LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:139,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:140,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/experiment.cc:146,1
    - Dst: tcmalloc_internal::LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:148,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:149,1
    - Dst: tcmalloc_internal::IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:157,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:158,1
    - Dst: tcmalloc_internal::ParseExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:164,1
    - Dst: tcmalloc_internal::LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:166,1
    - Dst: tcmalloc_internal::IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:166,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:167,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:181,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/experiment.cc:182,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:182,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:182,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:184,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/experiment.cc:184,1
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/experiment.cc:185,1
    - Dst: tcmalloc_internal::IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:195,1
    - Dst: tcmalloc_internal::HasBrittleTestFailures
      Src: /src/tcmalloc/tcmalloc/experiment.cc:196,1
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/experiment.cc:204,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:205,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/experiment.cc:212,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:212,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:213,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 5
    argNames:
    - buffer
    - test_target
    - active
    - disabled
    - unset
    argTypes:
    - bool*
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 218
    functionName: tcmalloc_internal::SelectExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::LookupExperimentID
    - absl::HashOf
    - tcmalloc_internal::HasBrittleTestFailures
    - absl::StrContains
    - static_cast<uint64_t>
    - tcmalloc_internal::IsCompilerExperiment
    - std::fill
    - tcmalloc_internal::ParseExperiments
    - absl::string_view::empty
    - absl::base_internal::CycleClock::Now
    - memset
    - TC_CHECK
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: "bool * SelectExperiments(bool* buffer, absl::string_view test_target,\n
      \                             absl::string_view active,\n                              absl::string_view
      disabled,\n                              bool unset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - exp
    argTypes:
    - Experiment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::HasBrittleTestFailures
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBrittleTestFailures(Experiment exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exp
    argTypes:
    - Experiment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::IsCompilerExperiment
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsCompilerExperiment(Experiment exp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - label
    - exp
    argTypes:
    - absl::string_view
    - Experiment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: tcmalloc_internal::LookupExperimentID
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LookupExperimentID(absl::string_view label, Experiment* exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/experiment.cc:94,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:95,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:96,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:97,1
    - Dst: tcmalloc_internal::SelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: tcmalloc_internal::GetSelectedExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached:
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::SelectExperiments
    - tcmalloc_internal::thread_safe_getenv
    linkageType: ''
    returnType: bool
    signature: bool * GetSelectedExperiments()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/experiment.cc:112,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:114,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:117,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/experiment.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - labels
    - f
    argTypes:
    - absl::string_view
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: tcmalloc_internal::ParseExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::substr
    - absl::string_view::find
    - f
    linkageType: ''
    returnType: void
    signature: void ParseExperiments(absl::string_view labels, F f)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - exp
    argTypes:
    - Experiment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::HasBrittleTestFailures
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBrittleTestFailures(Experiment exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exp
    argTypes:
    - Experiment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::IsCompilerExperiment
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsCompilerExperiment(Experiment exp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - label
    - exp
    argTypes:
    - absl::string_view
    - Experiment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: tcmalloc_internal::LookupExperimentID
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LookupExperimentID(absl::string_view label, Experiment* exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/experiment.cc:94,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:95,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:96,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:97,1
    - Dst: tcmalloc_internal::SelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: tcmalloc_internal::GetSelectedExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached:
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::SelectExperiments
    - tcmalloc_internal::thread_safe_getenv
    linkageType: ''
    returnType: bool
    signature: bool * GetSelectedExperiments()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/experiment.cc:112,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:114,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:117,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/experiment.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - labels
    - f
    argTypes:
    - absl::string_view
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: tcmalloc_internal::ParseExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::substr
    - absl::string_view::find
    - f
    linkageType: ''
    returnType: void
    signature: void ParseExperiments(absl::string_view labels, F f)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/experiment.cc:131,1
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/experiment.cc:134,1
    - Dst: tcmalloc_internal::ParseExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:137,1
    - Dst: tcmalloc_internal::LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:139,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:140,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/experiment.cc:146,1
    - Dst: tcmalloc_internal::LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:148,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:149,1
    - Dst: tcmalloc_internal::IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:157,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:158,1
    - Dst: tcmalloc_internal::ParseExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:164,1
    - Dst: tcmalloc_internal::LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:166,1
    - Dst: tcmalloc_internal::IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:166,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:167,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:181,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/experiment.cc:182,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:182,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:182,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:184,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/experiment.cc:184,1
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/experiment.cc:185,1
    - Dst: tcmalloc_internal::IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:195,1
    - Dst: tcmalloc_internal::HasBrittleTestFailures
      Src: /src/tcmalloc/tcmalloc/experiment.cc:196,1
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/experiment.cc:204,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:205,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/experiment.cc:212,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:212,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:213,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 5
    argNames:
    - buffer
    - test_target
    - active
    - disabled
    - unset
    argTypes:
    - bool*
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 218
    functionName: tcmalloc_internal::SelectExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::LookupExperimentID
    - absl::HashOf
    - tcmalloc_internal::HasBrittleTestFailures
    - absl::StrContains
    - static_cast<uint64_t>
    - tcmalloc_internal::IsCompilerExperiment
    - std::fill
    - tcmalloc_internal::ParseExperiments
    - absl::string_view::empty
    - absl::base_internal::CycleClock::Now
    - memset
    - TC_CHECK
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: "bool * SelectExperiments(bool* buffer, absl::string_view test_target,\n
      \                             absl::string_view active,\n                              absl::string_view
      disabled,\n                              bool unset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/experiment.cc:223,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:223,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/experiment.cc:224,1
    - Dst: tcmalloc_internal::GetSelectedExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:226,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - exp
    argTypes:
    - Experiment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: IsExperimentActive
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 14
    functionsReached:
    - tcmalloc_internal::GetSelectedExperiments
    - static_cast<int>
    - TC_ASSERT_GE
    - TC_ASSERT_LT
    linkageType: ''
    returnType: bool
    signature: bool IsExperimentActive(Experiment exp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: FindExperimentByName
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Experiment>
    signature: std::optional<Experiment> FindExperimentByName(absl::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback
      Src: /src/tcmalloc/tcmalloc/experiment.cc:242,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/experiment.cc:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - callback
    argTypes:
    - absl::FunctionRef<void(absl::string_view name, bool active)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: WalkExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached:
    - callback
    - IsExperimentActive
    linkageType: ''
    returnType: void
    signature: "void WalkExperiments(\n    absl::FunctionRef<void(absl::string_view
      name, bool active)> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalkExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:248,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/experiment.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::map<std::string, MallocExtension::Property>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 4
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: MallocExtension_Internal_GetExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - WalkExperiments
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_GetExperiments(\n    std::map<std::string,
      MallocExtension::Property>* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:30,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:35,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:36,1
    - Dst: reinterpret_cast<const SizeClassInfo*>
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:39,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:40,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:40,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:48,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:48,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:49,1
    - Dst: CHECK_LT
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:50,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:52,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:53,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:54,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::FuzzSizeMap
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc
    functionUses: 0
    functionsReached:
    - CHECK_LT
    - data
    - empty
    - CHECK_GT
    - absl::MakeSpan
    - SizeMap::class_to_size
    - size
    - reinterpret_cast<const SizeClassInfo*>
    - SizeMap::Init
    - SizeMap::SizeClass
    - CHECK_NE
    - CppPolicy
    - CHECK_LE
    linkageType: ''
    returnType: void
    signature: void FuzzSizeMap(const std::string& s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:30,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:35,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:36,1
    - Dst: reinterpret_cast<const SizeClassInfo*>
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:39,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:40,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:40,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:48,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:48,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:49,1
    - Dst: CHECK_LT
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:50,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:52,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:53,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:54,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::FuzzSizeMap
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc
    functionUses: 0
    functionsReached:
    - CHECK_LT
    - data
    - empty
    - CHECK_GT
    - absl::MakeSpan
    - SizeMap::class_to_size
    - size
    - reinterpret_cast<const SizeClassInfo*>
    - SizeMap::Init
    - SizeMap::SizeClass
    - CHECK_NE
    - CppPolicy
    - CHECK_LE
    linkageType: ''
    returnType: void
    signature: void FuzzSizeMap(const std::string& s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:30,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:35,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:36,1
    - Dst: reinterpret_cast<const SizeClassInfo*>
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:39,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:40,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:40,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:48,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:48,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:49,1
    - Dst: CHECK_LT
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:50,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:52,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:53,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:54,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::FuzzSizeMap
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc
    functionUses: 0
    functionsReached:
    - CHECK_LT
    - data
    - empty
    - CHECK_GT
    - absl::MakeSpan
    - SizeMap::class_to_size
    - size
    - reinterpret_cast<const SizeClassInfo*>
    - SizeMap::Init
    - SizeMap::SizeClass
    - CHECK_NE
    - CppPolicy
    - CHECK_LE
    linkageType: ''
    returnType: void
    signature: void FuzzSizeMap(const std::string& s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:30,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:35,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:36,1
    - Dst: reinterpret_cast<const SizeClassInfo*>
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:39,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:40,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:40,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:48,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:48,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:49,1
    - Dst: CHECK_LT
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:50,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:52,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:53,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:54,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::FuzzSizeMap
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc
    functionUses: 0
    functionsReached:
    - CHECK_LT
    - data
    - empty
    - CHECK_GT
    - absl::MakeSpan
    - SizeMap::class_to_size
    - size
    - reinterpret_cast<const SizeClassInfo*>
    - SizeMap::Init
    - SizeMap::SizeClass
    - CHECK_NE
    - CppPolicy
    - CHECK_LE
    linkageType: ''
    returnType: void
    signature: void FuzzSizeMap(const std::string& s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:39,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:43,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:48,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:51,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:52,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:53,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:56,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:57,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:57,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:59,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:60,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:60,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:62,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:62,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:64,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:64,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:71,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:71,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:72,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:73,1
    - Dst: TCMalloc_Internal_ForceCpuCacheActivation
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:74,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:75,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:75,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:77,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:79,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc
    functionUses: 0
    functionsReached:
    - Capacity
    - absl::Notification::Notify
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - TotalUsedBytes
    - NumCPUs
    - absl::Notification::HasBeenNotified
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - benchmark::DoNotOptimize
    - tcmalloc_internal::subtle::percpu::IsFast
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::Uniform
    - TCMalloc_Internal_ForceCpuCacheActivation
    - UsedBytes
    - cpu_cache
    - absl::SleepFor
    - std::thread::join
    - CacheLimit
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheActivateTest, GlobalInstance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:39,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:43,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:48,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:51,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:52,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:53,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:56,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:57,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:57,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:59,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:60,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:60,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:62,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:62,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:64,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:64,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:71,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:71,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:72,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:73,1
    - Dst: TCMalloc_Internal_ForceCpuCacheActivation
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:74,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:75,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:75,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:77,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:79,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc
    functionUses: 0
    functionsReached:
    - Capacity
    - absl::Notification::Notify
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - TotalUsedBytes
    - NumCPUs
    - absl::Notification::HasBeenNotified
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - benchmark::DoNotOptimize
    - tcmalloc_internal::subtle::percpu::IsFast
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::Uniform
    - TCMalloc_Internal_ForceCpuCacheActivation
    - UsedBytes
    - cpu_cache
    - absl::SleepFor
    - std::thread::join
    - CacheLimit
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheActivateTest, GlobalInstance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:39,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:43,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:48,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:51,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:52,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:53,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:56,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:57,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:57,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:59,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:60,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:60,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:62,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:62,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:64,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:64,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:71,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:71,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:72,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:73,1
    - Dst: TCMalloc_Internal_ForceCpuCacheActivation
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:74,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:75,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:75,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:77,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:79,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc
    functionUses: 0
    functionsReached:
    - Capacity
    - absl::Notification::Notify
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - TotalUsedBytes
    - NumCPUs
    - absl::Notification::HasBeenNotified
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - benchmark::DoNotOptimize
    - tcmalloc_internal::subtle::percpu::IsFast
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::Uniform
    - TCMalloc_Internal_ForceCpuCacheActivation
    - UsedBytes
    - cpu_cache
    - absl::SleepFor
    - std::thread::join
    - CacheLimit
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheActivateTest, GlobalInstance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:39,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:43,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:48,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:51,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:52,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:53,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:56,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:57,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:57,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:59,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:60,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:60,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:62,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:62,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:64,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:64,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:71,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:71,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:72,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:73,1
    - Dst: TCMalloc_Internal_ForceCpuCacheActivation
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:74,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:75,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:75,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:77,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:79,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc
    functionUses: 0
    functionsReached:
    - Capacity
    - absl::Notification::Notify
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - TotalUsedBytes
    - NumCPUs
    - absl::Notification::HasBeenNotified
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - benchmark::DoNotOptimize
    - tcmalloc_internal::subtle::percpu::IsFast
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::Uniform
    - TCMalloc_Internal_ForceCpuCacheActivation
    - UsedBytes
    - cpu_cache
    - absl::SleepFor
    - std::thread::join
    - CacheLimit
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheActivateTest, GlobalInstance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:39,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:43,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:48,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:51,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:52,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:53,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:56,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:57,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:57,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:59,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:60,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:60,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:62,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:62,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:64,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:64,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:71,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:71,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:72,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:73,1
    - Dst: TCMalloc_Internal_ForceCpuCacheActivation
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:74,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:75,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:75,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:77,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:79,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc
    functionUses: 0
    functionsReached:
    - Capacity
    - absl::Notification::Notify
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - TotalUsedBytes
    - NumCPUs
    - absl::Notification::HasBeenNotified
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - benchmark::DoNotOptimize
    - tcmalloc_internal::subtle::percpu::IsFast
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::Uniform
    - TCMalloc_Internal_ForceCpuCacheActivation
    - UsedBytes
    - cpu_cache
    - absl::SleepFor
    - std::thread::join
    - CacheLimit
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheActivateTest, GlobalInstance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:39,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:43,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:48,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:51,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:52,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:53,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:56,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:57,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:57,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:59,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:60,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:60,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:62,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:62,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:64,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:64,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:71,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:71,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:72,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:73,1
    - Dst: TCMalloc_Internal_ForceCpuCacheActivation
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:74,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:75,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:75,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:77,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:79,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc
    functionUses: 0
    functionsReached:
    - Capacity
    - absl::Notification::Notify
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - TotalUsedBytes
    - NumCPUs
    - absl::Notification::HasBeenNotified
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - benchmark::DoNotOptimize
    - tcmalloc_internal::subtle::percpu::IsFast
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::Uniform
    - TCMalloc_Internal_ForceCpuCacheActivation
    - UsedBytes
    - cpu_cache
    - absl::SleepFor
    - std::thread::join
    - CacheLimit
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheActivateTest, GlobalInstance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:39,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:43,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:48,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:51,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:52,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:53,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:56,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:57,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:57,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:59,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:60,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:60,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:62,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:62,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:64,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:64,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:71,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:71,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:72,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:73,1
    - Dst: TCMalloc_Internal_ForceCpuCacheActivation
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:74,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:75,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:75,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:77,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:79,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc
    functionUses: 0
    functionsReached:
    - Capacity
    - absl::Notification::Notify
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - TotalUsedBytes
    - NumCPUs
    - absl::Notification::HasBeenNotified
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - benchmark::DoNotOptimize
    - tcmalloc_internal::subtle::percpu::IsFast
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::Uniform
    - TCMalloc_Internal_ForceCpuCacheActivation
    - UsedBytes
    - cpu_cache
    - absl::SleepFor
    - std::thread::join
    - CacheLimit
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheActivateTest, GlobalInstance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:39,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:43,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:48,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:51,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:52,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:53,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:56,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:57,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:57,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:59,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:60,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:60,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:62,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:62,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:64,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:64,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:71,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:71,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:72,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:73,1
    - Dst: TCMalloc_Internal_ForceCpuCacheActivation
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:74,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:75,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:75,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:77,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:79,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc
    functionUses: 0
    functionsReached:
    - Capacity
    - absl::Notification::Notify
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - TotalUsedBytes
    - NumCPUs
    - absl::Notification::HasBeenNotified
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - benchmark::DoNotOptimize
    - tcmalloc_internal::subtle::percpu::IsFast
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::Uniform
    - TCMalloc_Internal_ForceCpuCacheActivation
    - UsedBytes
    - cpu_cache
    - absl::SleepFor
    - std::thread::join
    - CacheLimit
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheActivateTest, GlobalInstance)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:65,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:68,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:71,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:74,1
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:78,1
    - Dst: tcmalloc_internal::Parameters::huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:82,1
    - Dst: tcmalloc_internal::Parameters::huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:86,1
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:89,1
    - Dst: huge_region_option
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:137,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:139,1
    - Dst: tcmalloc_internal::Parameters::huge_cache_release_time
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:142,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:226,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:231,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:235,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:245,1
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:278,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:280,1
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:297,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:299,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:300,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:301,1
    - Dst: forwarder_::CollapsePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:317,1
    - Dst: forwarder_::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:332,1
    - Dst: AllocAndReport
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:358,1
    - Dst: forwarder_::arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:373,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:478,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:479,1
    - Dst: GetHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:489,1
    - Dst: reinterpret_cast<FillerType::Tracker*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:490,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:491,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:491,1
    - Dst: SetHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:498,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:504,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:504,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:505,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:506,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:507,1
    - Dst: FillerType::Tracker*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:507,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:508,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:508,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:511,1
    - Dst: FillerType::Tracker*::set_abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:512,1
    - Dst: FillerType::Tracker*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:514,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:516,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:517,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:518,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:518,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:525,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:526,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:535,1
    - Dst: AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:536,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:536,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:543,1
    - Dst: RecordAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:544,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:545,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:548,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:549,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:550,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:550,1
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:564,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:566,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:567,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:567,1
    - Dst: RefillFiller
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:570,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:571,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:574,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:574,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:583,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:584,1
    - Dst: AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:585,1
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:591,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:593,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:594,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:594,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:600,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:601,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:601,1
    - Dst: slack
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:614,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:616,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:618,1
    - Dst: AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:619,1
    - Dst: small
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:628,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:629,1
    - Dst: AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:630,1
    - Dst: AddRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:635,1
    - Dst: AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:636,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:639,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:639,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:640,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:640,1
    - Dst: AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:648,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:655,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:657,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:658,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:664,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:666,1
    - Dst: SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:667,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:668,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:668,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:669,1
    - Dst: SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:670,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:671,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:671,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:671,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:677,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:677,1
    - Dst: AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:678,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:679,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:679,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:679,1
    - Dst: auto::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:681,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:693,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:693,1
    - Dst: LockAndAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:695,1
    - Dst: Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:697,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:699,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:699,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:701,1
    - Dst: Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:704,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    - Dst: AllocSmall
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:718,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:723,1
    - Dst: AllocLarge
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:724,1
    - Dst: AllocEnormous
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:729,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:736,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:737,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:742,1
    - Dst: AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:747,1
    - Dst: Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:750,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:752,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:752,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:753,1
    - Dst: Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:756,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:757,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:757,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:757,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:766,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:770,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:771,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:772,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:772,1
    - Dst: Span*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:773,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:781,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:782,1
    - Dst: FinalizeType::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:782,1
    - Dst: FinalizeType::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:782,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:791,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:791,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:794,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:795,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:795,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:796,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:797,1
    - Dst: ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:801,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:806,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:806,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:807,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:808,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:809,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: auto::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: auto::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:817,1
    - Dst: auto::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:818,1
    - Dst: auto::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:820,1
    - Dst: DeleteSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:821,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:823,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:830,1
    - Dst: RecordFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:832,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:832,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:836,1
    - Dst: GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:842,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:845,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:846,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:846,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:846,1
    - Dst: DeleteFromHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:847,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:847,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:853,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:853,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:858,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:859,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:860,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:861,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:862,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:863,1
    - Dst: GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:863,1
    - Dst: GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:865,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:866,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:867,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:867,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:869,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:869,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:873,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:877,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:877,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:884,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:885,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:891,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:891,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:892,1
    - Dst: ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:894,1
    - Dst: SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:899,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:899,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:900,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:906,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:908,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:914,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    - Dst: FillerType::Tracker*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:918,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:920,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:921,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:928,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:928,1
    - Dst: SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:929,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:929,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:931,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:936,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:938,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:941,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:947,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:949,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:950,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:951,1
    - Dst: GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:963,1
    - Dst: GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:970,1
    - Dst: SmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:977,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:980,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:983,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:984,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:985,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:986,1
    - Dst: cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:999,1
    - Dst: cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1001,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1006,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1008,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1009,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1013,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1013,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1020,1
    - Dst: huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1021,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1022,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1023,1
    - Dst: filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1027,1
    - Dst: filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1029,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1032,1
    - Dst: hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1040,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1042,1
    - Dst: filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1046,1
    - Dst: filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1048,1
    - Dst: release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1049,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1054,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1062,1
    - Dst: FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1064,1
    - Dst: ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1065,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1076,1
    - Dst: BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1077,1
    - Dst: BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1078,1
    - Dst: BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1078,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1084,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1085,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1086,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1087,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1094,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1105,1
    - Dst: GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1106,1
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1107,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1108,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1111,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1113,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1114,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1116,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1117,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1119,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1123,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1125,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1129,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1130,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1132,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1135,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1135,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1140,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1141,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1143,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1144,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1145,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1146,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1147,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1150,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1153,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1154,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1155,1
    - Dst: hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1155,1
    - Dst: GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1164,1
    - Dst: PrintStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1165,1
    - Dst: HugeRegion*::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1167,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1168,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1169,1
    - Dst: hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1169,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1170,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1171,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1174,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1175,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1177,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1178,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1180,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1184,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1186,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1191,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1193,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1194,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1195,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1196,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1199,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1201,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1201,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    - Dst: AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1209,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1211,1
    - Dst: BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1212,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1213,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1213,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1213,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1228,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1229,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1230,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1235,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1235,1
    - Dst: huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1239,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1240,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1243,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1247,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1251,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1255,1
    - Dst: GetRecordedReleases
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1262,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1269,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1271,1
    - Dst: hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1282,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 399
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 1293
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - forwarder_::arena
    - ReleaseUnbacked
    - FillerType::Tracker*::released
    - BytesToMiB
    - GetMemoryTag
    - AddSpanStats
    - small
    - TC_CHECK_LE
    - TC_CHECK_GT
    - HugeLength::in_pages
    - AllocLarge
    - huge_region_option
    - PrintStats
    - AllocatePages
    - CreateSubRegion
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - Put
    - FillerType::Tracker*::set_abandoned
    - auto::first_page
    - huge_cache_demand_based_release
    - FillerType::Tracker*::set_abandoned_count
    - BreakdownStatsInPbtxt
    - ReleasePagesByPeakDemand
    - filler_skip_subrelease_short_interval
    - reinterpret_cast<FillerType::Tracker*>
    - absl::base_internal::CycleClock::Now
    - GetSpanStats
    - Print
    - Unspanify
    - TC_CHECK
    - Ensure
    - auto::donated
    - GetHugepage
    - ABSL_PREDICT_FALSE
    - NewSpan
    - UseHugeRegionMoreOften
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - printf
    - ShrinkToUsageLimit
    - MaybeGet
    - auto::start_address
    - NHugePages
    - AllocEnormous
    - PageIdContaining
    - raw_num
    - New
    - FillerType::Tracker*::Get
    - Unlock
    - HLFromBytes
    - FillerType::Tracker*::was_donated
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - auto::num_pages
    - DeleteSpan
    - tcmalloc_internal::Parameters::huge_cache_demand_based_release
    - FillerType::Tracker*::used_pages
    - GetTracker
    - SmallSpanStats
    - auto::set_donated
    - tcmalloc_internal::Parameters::huge_region_demand_based_release
    - TC_ASSERT_NE
    - HugeRange::len
    - stats
    - PrefetchW
    - DeleteFromHugepage
    - TC_ASSERT_GT
    - HugeRange::valid
    - LockAndAlloc
    - SetTracker
    - AllocRawHugepages
    - ReleaseCachedPages
    - ReleaseHugepage
    - AssertHeld
    - BreakdownStats
    - FillerType::Tracker*::longest_free_range
    - RecordFree
    - FetchFullyFreedTracker
    - MaybePut
    - Span*::start_address
    - PrintStatsInPbtxt
    - GetRecordedReleases
    - auto::PrintI64
    - Lock
    - HLFromPages
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - cache_demand_release_short_interval
    - filler_skip_subrelease_long_interval
    - Contribute
    - FillerType::Tracker*::abandoned_count
    - hpaa_subrelease
    - tcmalloc_internal::Parameters::huge_cache_release_time
    - HugeRange::start
    - Finalize
    - TC_ASSERT
    - Set
    - ReleasePages
    - PageId::start_addr
    - Range
    - slack
    - RecordAlloc
    - RefillFiller
    - PrintInPbtxt
    - Get
    - tcmalloc_internal::HugeRegion::size
    - tcmalloc_internal::Parameters::cache_demand_release_long_interval
    - FillerType::Tracker*::location
    - cache_demand_release_long_interval
    - TC_ASSERT_GE
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    - HugePageContaining
    - auto::PrintBool
    - AllocAndContribute
    - SetHugepage
    - Range::p::start_addr
    - FillerType::Tracker*::abandoned
    - Length
    - Spanify
    - free_backed
    - FinalizeType::num_pages
    - forwarder_::ReleasePages
    - forwarder_::SetAnonVmaName
    - Back
    - Span*::set_donated
    - release_partial_alloc_pages
    - HugeRegion*::CreateSubRegion
    - FinalizeType::first_page
    - tcmalloc_internal::Parameters::cache_demand_release_short_interval
    - AllocAndReport
    - huge_region_demand_based_release
    - TC_ASSERT_EQ
    - ABSL_PREDICT_TRUE
    - first_page
    - TreatHugepageTrackers
    - HugePage::first_page
    - RecordRelease
    - Span*::sampled
    - TryGet
    - Release
    - start_addr
    - BytesToLengthFloor
    - TC_CHECK_NE
    - forwarder_::CollapsePages
    - arena
    - AllocSmall
    - LargeSpanStats
    - Delete
    - ReportDoubleFree
    - ReleaseCachedPagesByDemand
    - AddRegion
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::filler_skip_subrelease_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration filler_skip_subrelease_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration filler_skip_subrelease_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::cache_demand_release_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::cache_demand_release_short_interval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration cache_demand_release_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::cache_demand_release_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::cache_demand_release_long_interval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration cache_demand_release_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::release_partial_alloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    linkageType: ''
    returnType: bool
    signature: bool release_partial_alloc_pages()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::huge_region_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::huge_region_demand_based_release
    linkageType: ''
    returnType: bool
    signature: bool huge_region_demand_based_release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::huge_cache_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::huge_cache_demand_based_release
    linkageType: ''
    returnType: bool
    signature: bool huge_cache_demand_based_release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    linkageType: ''
    returnType: bool
    signature: bool hpaa_subrelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: ~HugePageAwareAllocator() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - free_backed
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::cache
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeCache
    signature: HugeCache * cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::Unback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unback(HugePageAwareAllocator& hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: ~Unback() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Unback() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:278,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - AssertHeld
    - forwarder_::ReleasePages
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::UnbackWithoutLock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnbackWithoutLock(\n        HugePageAwareAllocator& hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: ~UnbackWithoutLock() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UnbackWithoutLock() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:297,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:299,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:300,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - AssertHeld
    - forwarder_::ReleasePages
    - Unlock
    - Lock
    linkageType: ''
    returnType: bool
    signature: bool ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Collapse::Collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Collapse(\n        HugePageAwareAllocator& hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: ~Collapse() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Collapse() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::CollapsePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - forwarder_::CollapsePages
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::SetAnonVmaName::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetAnonVmaName(\n        HugePageAwareAllocator& hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: ~SetAnonVmaName() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetAnonVmaName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: operator()(Range r, std::optional<absl::string_view> name) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - forwarder_::SetAnonVmaName
    linkageType: ''
    returnType: void
    signature: void operator()(Range r, std::optional<absl::string_view> name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::VirtualMemoryAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void VirtualMemoryAllocator(\n        HugePageAwareAllocator& hpaa
      ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 354
    functionName: ~VirtualMemoryAllocator() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VirtualMemoryAllocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocAndReport
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - AllocAndReport
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ArenaMetadataAllocator::ArenaMetadataAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ArenaMetadataAllocator(\n        HugePageAwareAllocator& hpaa
      ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: ~ArenaMetadataAllocator() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArenaMetadataAllocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: '* operator()(size_t bytes) override'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - forwarder_::arena
    linkageType: ''
    returnType: void
    signature: void * operator()(size_t bytes) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:478,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - HugePageAwareAllocatorOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 484
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::HugePageAwareAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - arena
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::HugePageAwareAllocator(\n
      \   const HugePageAwareAllocatorOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:489,1
    - Dst: reinterpret_cast<FillerType::Tracker*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:490,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:491,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 493
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - FillerType::Tracker*::location
    - reinterpret_cast<FillerType::Tracker*>
    - TC_ASSERT
    - GetHugepage
    linkageType: ''
    returnType: HugePageAwareAllocator<Forwarder>::FillerType::Tracker
    signature: 'HugePageAwareAllocator<Forwarder>::FillerType::Tracker *

      HugePageAwareAllocator<Forwarder>::GetTracker(HugePage p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - HugePageAwareAllocator<Forwarder>::FillerType::Tracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - SetHugepage
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::SetTracker(\n    HugePage
      p, HugePageAwareAllocator<Forwarder>::FillerType::Tracker* pt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:504,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:504,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:505,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:506,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:507,1
    - Dst: FillerType::Tracker*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:507,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:508,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:508,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:511,1
    - Dst: FillerType::Tracker*::set_abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:512,1
    - Dst: FillerType::Tracker*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:514,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:516,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:517,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:518,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - p
    - n
    - span_alloc_info
    - donated
    argTypes:
    - HugePage
    - Length
    - SpanAllocInfo
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 520
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - FillerType::Tracker*::set_abandoned_count
    - FillerType::Tracker*::Get
    - Contribute
    - TC_CHECK_NE
    - HugePage::start_addr
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - HugePage::first_page
    - FillerType::Tracker*::was_donated
    - absl::base_internal::CycleClock::Now
    - FillerType::Tracker*::longest_free_range
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - TC_ASSERT_EQ
    - TC_ASSERT_GE
    linkageType: ''
    returnType: PageId
    signature: "PageId HugePageAwareAllocator<Forwarder>::AllocAndContribute(\n    HugePage
      p, Length n, SpanAllocInfo span_alloc_info, bool donated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:525,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:526,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:535,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:536,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 537
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    - Get
    - HugeRange::valid
    - ShrinkToUsageLimit
    - HugeRange::start
    - NHugePages
    linkageType: ''
    returnType: PageId
    signature: "PageId HugePageAwareAllocator<Forwarder>::RefillFiller(\n    Length
      n, SpanAllocInfo span_alloc_info, bool* from_released)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:543,1
    - Dst: RecordAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:544,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:545,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:548,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:549,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:550,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 555
    functionName: tcmalloc_internal::huge_page_allocator_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - Span*::sampled
    - TC_ASSERT_NE
    - NewSpan
    - RecordAlloc
    - ShrinkToUsageLimit
    - TC_ASSERT
    - Set
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:564,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:566,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:567,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:567,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:570,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:571,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:574,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 560
    functionDepth: 4
    functionLinenumber: 560
    functionLinenumberEnd: 575
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
    - ABSL_PREDICT_FALSE
    - TryGet
    - Range
    - Finalize
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::AllocSmall(Length
      n,\n                                              SpanAllocInfo span_alloc_info,\n
      \                                             bool* from_released)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:583,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:584,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:585,1
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:591,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:593,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:594,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:594,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:600,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:601,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:601,1
    - Dst: slack
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:614,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:616,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:618,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:619,1
    - Dst: small
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:628,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:629,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:630,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:635,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:636,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:639,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:639,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:640,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:640,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 641
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - HugeLength::in_pages
    - small
    - Range
    - slack
    - UseHugeRegionMoreOften
    - HLFromBytes
    - HLFromPages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    - Finalize
    - MaybeGet
    - ABSL_PREDICT_TRUE
    - TC_CHECK
    - TryGet
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::AllocLarge(Length
      n,\n                                              SpanAllocInfo span_alloc_info,\n
      \                                             bool* from_released)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 649
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::AllocEnormous(Length
      n,\n                                                 SpanAllocInfo span_alloc_info,\n
      \                                                bool* from_released)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:655,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:657,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:658,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:664,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:666,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:667,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:668,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:668,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:669,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:670,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:671,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:671,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:671,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:677,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:677,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:678,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:679,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:679,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:679,1
    - Dst: auto::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 652
    functionDepth: 3
    functionLinenumber: 652
    functionLinenumberEnd: 687
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - HugeLength::in_pages
    - auto::set_donated
    - Length
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    - HugeRange::len
    - Range
    - Finalize
    - TC_ASSERT_GT
    - HLFromPages
    - Get
    - HugeRange::valid
    - HugeRange::start
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - NHugePages
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::AllocRawHugepages(\n
      \   Length n, SpanAllocInfo span_alloc_info, bool* from_released)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:693,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:693,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:695,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:697,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:699,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:699,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:701,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:704,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 707
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    - TC_CHECK_GT
    - Length
    - PrefetchW
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
    - GetMemoryTag
    - Back
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    - TC_ASSERT
    - Span*::start_address
    - Range::p::start_addr
    linkageType: ''
    returnType: Span
    signature: "Span * HugePageAwareAllocator<Forwarder>::New(\n    Length n, SpanAllocInfo
      span_alloc_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:718,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:723,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:724,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 710
    functionDepth: 5
    functionLinenumber: 710
    functionLinenumberEnd: 730
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugeRegion::size
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::LockAndAlloc(Length
      n,\n                                                SpanAllocInfo span_alloc_info,\n
      \                                               bool* from_released)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:736,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:737,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:742,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:747,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:750,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:752,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:752,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:753,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:756,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:757,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:757,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 734
    functionDepth: 4
    functionLinenumber: 734
    functionLinenumberEnd: 759
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    - Length
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - PrefetchW
    - GetMemoryTag
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    - Back
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    - TC_CHECK_LE
    - TC_ASSERT
    - Span*::start_address
    - Range::p::start_addr
    linkageType: ''
    returnType: Span
    signature: "Span * HugePageAwareAllocator<Forwarder>::NewAligned(\n    Length
      n, Length align, SpanAllocInfo span_alloc_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:766,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:770,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:771,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:772,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:772,1
    - Dst: Span*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - FinalizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 776
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - Span*::sampled
    - ABSL_PREDICT_FALSE
    - NewSpan
    - TC_ASSERT
    - Set
    - Span*::set_donated
    linkageType: ''
    returnType: Span
    signature: Span * HugePageAwareAllocator<Forwarder>::Spanify(FinalizeType f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:781,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:782,1
    - Dst: FinalizeType::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:782,1
    - Dst: FinalizeType::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - FinalizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 786
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - FinalizeType::first_page
    - FinalizeType::num_pages
    - TC_ASSERT
    - Range
    linkageType: ''
    returnType: Range
    signature: Range HugePageAwareAllocator<Forwarder>::Unspanify(FinalizeType f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:791,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:791,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:794,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:795,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:795,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:796,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:797,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pt
    - r
    - might_abandon
    argTypes:
    - FillerType::Tracker*
    - Range
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 802
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - FillerType::Tracker*::abandoned_count
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - Put
    - FillerType::Tracker*::set_abandoned
    - FillerType::Tracker*::was_donated
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::DeleteFromHugepage(\n    FillerType::Tracker*
      pt, Range r, bool might_abandon)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:806,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:806,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:807,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:808,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 811
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - Contribute
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - tcmalloc_internal::HugeRegion::size
    - Get
    - HugeRange::valid
    linkageType: ''
    returnType: bool
    signature: bool HugePageAwareAllocator<Forwarder>::AddRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:817,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:818,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:820,1
    - Dst: DeleteSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:821,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 824
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - Span*::first_page
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - GetMemoryTag
    - Span*::start_address
    - DeleteSpan
    - TC_ASSERT
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocator<Forwarder>::Delete(Span* span)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:830,1
    - Dst: RecordFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:832,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:832,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:836,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:842,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:845,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:846,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:846,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:846,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:847,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:847,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:853,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:853,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:858,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:859,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:860,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:861,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:862,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:863,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:863,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:865,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:866,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:867,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:867,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:869,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:869,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:873,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:877,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:877,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:884,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:885,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:891,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:891,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:892,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:894,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:899,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:899,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:900,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:906,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - s
    argTypes:
    - AllocationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 828
    functionDepth: 3
    functionLinenumber: 828
    functionLinenumberEnd: 909
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - Length
    - ABSL_PREDICT_FALSE
    - FillerType::Tracker*::released
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
    - HLFromPages
    - NHugePages
    - HugeLength::in_pages
    - FillerType::Tracker*::abandoned_count
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - FillerType::Tracker*::was_donated
    - TC_ASSERT
    - TC_ASSERT_EQ
    - Set
    - PageId::start_addr
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - Put
    - Range
    - FillerType::Tracker*::set_abandoned
    - HugePage::first_page
    - FillerType::Tracker*::location
    - TC_ASSERT_GE
    - Release
    - huge_cache_demand_based_release
    - HugePageContaining
    - ReportDoubleFree
    - RecordFree
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - MaybePut
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
    - FillerType::Tracker*::abandoned
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocator<Forwarder>::Delete(AllocationState s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:914,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    - Dst: FillerType::Tracker*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:918,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:920,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:921,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:928,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:928,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:929,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:929,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:931,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:936,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:938,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pt
    argTypes:
    - FillerType::Tracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 942
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - FillerType::Tracker*::abandoned_count
    - ReleaseUnbacked
    - Length
    - Release
    - FillerType::Tracker*::released
    - FillerType::Tracker*::set_abandoned
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - FillerType::Tracker*::was_donated
    - NHugePages
    - FillerType::Tracker*::location
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - TC_ASSERT
    - TC_ASSERT_EQ
    - FillerType::Tracker*::used_pages
    - huge_cache_demand_based_release
    - FillerType::Tracker*::abandoned
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::ReleaseHugepage(\n    FillerType::Tracker*
      pt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:947,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:949,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:950,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats HugePageAwareAllocator<Forwarder>::stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - SmallSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 964
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSmallSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::GetSmallSpanStats(\n    SmallSpanStats*
      result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 971
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetLargeSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::GetLargeSpanStats(\n    LargeSpanStats*
      result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:977,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:980,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:983,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:984,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:985,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 987
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - AddSpanStats
    - SmallSpanStats
    - LargeSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::GetSpanStats(\n    SmallSpanStats*
      small, LargeSpanStats* large)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:999,1
    - Dst: cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1001,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1006,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1008,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1009,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1013,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1013,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1020,1
    - Dst: huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1021,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1022,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1023,1
    - Dst: filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1027,1
    - Dst: filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1029,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1032,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1040,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1042,1
    - Dst: filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1046,1
    - Dst: filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1048,1
    - Dst: release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1049,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1054,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - num_pages
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1056
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - ReleasePagesByPeakDemand
    - ReleaseCachedPages
    - Length
    - filler_skip_subrelease_short_interval
    - UseHugeRegionMoreOften
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - HLFromPages
    - RecordRelease
    - release_partial_alloc_pages
    - cache_demand_release_short_interval
    - huge_region_demand_based_release
    - ReleaseCachedPagesByDemand
    - filler_skip_subrelease_long_interval
    - ReleasePages
    - cache_demand_release_long_interval
    - huge_cache_demand_based_release
    linkageType: ''
    returnType: Length
    signature: "Length HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages(\n
      \   Length num_pages, PageReleaseReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1062,1
    - Dst: FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1064,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - enable_collapse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1059
    functionDepth: 3
    functionLinenumber: 1059
    functionLinenumberEnd: 1067
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - FetchFullyFreedTracker
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers(\n    bool
      enable_collapse)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1072
    functionName: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BytesToMiB(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1076,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1077,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1078,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' out'
    - ' s'
    - label
    argTypes:
    - Printer
    - BackingStats
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1079
    functionName: tcmalloc_internal::huge_page_allocator_internal::BreakdownStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - printf
    - tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
    linkageType: ''
    returnType: void
    signature: "void BreakdownStats(Printer& out, const BackingStats& s,\n                                  const
      char* label)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1084,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1085,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1086,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' hpaa'
    - ' s'
    - key
    argTypes:
    - PbtxtRegion
    - BackingStats
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1088
    functionName: tcmalloc_internal::huge_page_allocator_internal::BreakdownStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - auto::PrintI64
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void BreakdownStatsInPbtxt(PbtxtRegion& hpaa,\n                                         const
      BackingStats& s,\n                                         const char* key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' pageflags'
    argTypes:
    - Printer
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1095
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::Print(Printer& out,\n                                                     PageFlagsBase&
      pageflags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1105,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1106,1
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1107,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1108,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1111,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1113,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1114,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1116,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1117,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1119,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1123,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1125,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1129,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1130,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1132,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1135,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1135,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1140,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1141,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1143,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1144,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1145,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1146,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1147,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1150,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1153,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1154,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1155,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - ' out'
    - everything
    - ' pageflags'
    argTypes:
    - Printer
    - bool
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1156
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - raw_num
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    - UseHugeRegionMoreOften
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - BreakdownStats
    - printf
    - PrintStats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::Print(Printer& out,\n                                                     bool
      everything,\n                                                     PageFlagsBase&
      pageflags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1164,1
    - Dst: PrintStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1165,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1167,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1168,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1169,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1169,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1170,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1171,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1174,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1175,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1177,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1178,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1180,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1184,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1186,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1191,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1193,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1194,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1195,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1196,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1199,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1201,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1201,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - ' region'
    - ' pageflags'
    argTypes:
    - PbtxtRegion
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1159
    functionDepth: 2
    functionLinenumber: 1159
    functionLinenumberEnd: 1204
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - raw_num
    - BreakdownStatsInPbtxt
    - auto::PrintI64
    - UseHugeRegionMoreOften
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - auto::PrintBool
    - CreateSubRegion
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
    - PrintStatsInPbtxt
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::PrintInPbtxt(\n    PbtxtRegion&
      region, PageFlagsBase& pageflags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1209,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1211,1
    - Dst: BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1212,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1213,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1213,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1216
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndReport
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - BytesToLengthFloor
    - Range
    - PageIdContaining
    - TC_CHECK
    - AllocatePages
    - Ensure
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange HugePageAwareAllocator<Forwarder>::AllocAndReport(\n
      \   size_t bytes, size_t align)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1228,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1229,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1230,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1235,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1235,1
    - Dst: huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1239,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1240,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1243,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1247,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1251,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1257
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPagesBreakingHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - ReleasePagesByPeakDemand
    - ReleaseCachedPages
    - HLFromPages
    - huge_region_demand_based_release
    - ReleaseCachedPagesByDemand
    - RecordRelease
    - ReleasePages
    - huge_cache_demand_based_release
    linkageType: ''
    returnType: Length
    signature: "Length HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPagesBreakingHugepages(\n
      \   Length n, PageReleaseReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRecordedReleases
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1263
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetReleaseStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - GetRecordedReleases
    linkageType: ''
    returnType: PageReleaseStats
    signature: "PageReleaseStats HugePageAwareAllocator<Forwarder>::GetReleaseStats()\n
      \   const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1269,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - size
    - pages
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1275
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::IsValidSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: bool
    signature: "bool HugePageAwareAllocator<Forwarder>::IsValidSizeClass(size_t size,\n
      \                                                        size_t pages)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1284
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    linkageType: ''
    returnType: bool
    signature: bool HugePageAwareAllocator<Forwarder>::hpaa_subrelease() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::filler_skip_subrelease_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration filler_skip_subrelease_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration filler_skip_subrelease_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::cache_demand_release_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::cache_demand_release_short_interval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration cache_demand_release_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::cache_demand_release_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::cache_demand_release_long_interval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration cache_demand_release_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::release_partial_alloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    linkageType: ''
    returnType: bool
    signature: bool release_partial_alloc_pages()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::huge_region_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::huge_region_demand_based_release
    linkageType: ''
    returnType: bool
    signature: bool huge_region_demand_based_release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::huge_cache_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::huge_cache_demand_based_release
    linkageType: ''
    returnType: bool
    signature: bool huge_cache_demand_based_release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    linkageType: ''
    returnType: bool
    signature: bool hpaa_subrelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: ~HugePageAwareAllocator() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - free_backed
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::cache
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeCache
    signature: HugeCache * cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::Unback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unback(HugePageAwareAllocator& hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: ~Unback() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Unback() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:278,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - AssertHeld
    - forwarder_::ReleasePages
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::UnbackWithoutLock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnbackWithoutLock(\n        HugePageAwareAllocator& hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: ~UnbackWithoutLock() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UnbackWithoutLock() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:297,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:299,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:300,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - AssertHeld
    - forwarder_::ReleasePages
    - Unlock
    - Lock
    linkageType: ''
    returnType: bool
    signature: bool ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Collapse::Collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Collapse(\n        HugePageAwareAllocator& hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: ~Collapse() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Collapse() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::CollapsePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - forwarder_::CollapsePages
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::SetAnonVmaName::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetAnonVmaName(\n        HugePageAwareAllocator& hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: ~SetAnonVmaName() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetAnonVmaName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: operator()(Range r, std::optional<absl::string_view> name) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - forwarder_::SetAnonVmaName
    linkageType: ''
    returnType: void
    signature: void operator()(Range r, std::optional<absl::string_view> name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::VirtualMemoryAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void VirtualMemoryAllocator(\n        HugePageAwareAllocator& hpaa
      ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 354
    functionName: ~VirtualMemoryAllocator() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VirtualMemoryAllocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocAndReport
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - AllocAndReport
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ArenaMetadataAllocator::ArenaMetadataAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ArenaMetadataAllocator(\n        HugePageAwareAllocator& hpaa
      ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: ~ArenaMetadataAllocator() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArenaMetadataAllocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: '* operator()(size_t bytes) override'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - forwarder_::arena
    linkageType: ''
    returnType: void
    signature: void * operator()(size_t bytes) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:478,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - HugePageAwareAllocatorOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 484
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::HugePageAwareAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - arena
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::HugePageAwareAllocator(\n
      \   const HugePageAwareAllocatorOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:489,1
    - Dst: reinterpret_cast<FillerType::Tracker*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:490,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:491,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 493
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - FillerType::Tracker*::location
    - reinterpret_cast<FillerType::Tracker*>
    - TC_ASSERT
    - GetHugepage
    linkageType: ''
    returnType: HugePageAwareAllocator<Forwarder>::FillerType::Tracker
    signature: 'HugePageAwareAllocator<Forwarder>::FillerType::Tracker *

      HugePageAwareAllocator<Forwarder>::GetTracker(HugePage p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - HugePageAwareAllocator<Forwarder>::FillerType::Tracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - SetHugepage
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::SetTracker(\n    HugePage
      p, HugePageAwareAllocator<Forwarder>::FillerType::Tracker* pt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:504,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:504,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:505,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:506,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:507,1
    - Dst: FillerType::Tracker*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:507,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:508,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:508,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:511,1
    - Dst: FillerType::Tracker*::set_abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:512,1
    - Dst: FillerType::Tracker*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:514,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:516,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:517,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:518,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - p
    - n
    - span_alloc_info
    - donated
    argTypes:
    - HugePage
    - Length
    - SpanAllocInfo
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 520
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - FillerType::Tracker*::set_abandoned_count
    - FillerType::Tracker*::Get
    - Contribute
    - TC_CHECK_NE
    - HugePage::start_addr
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - HugePage::first_page
    - FillerType::Tracker*::was_donated
    - absl::base_internal::CycleClock::Now
    - FillerType::Tracker*::longest_free_range
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - TC_ASSERT_EQ
    - TC_ASSERT_GE
    linkageType: ''
    returnType: PageId
    signature: "PageId HugePageAwareAllocator<Forwarder>::AllocAndContribute(\n    HugePage
      p, Length n, SpanAllocInfo span_alloc_info, bool donated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:525,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:526,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:535,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:536,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 537
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    - Get
    - HugeRange::valid
    - ShrinkToUsageLimit
    - HugeRange::start
    - NHugePages
    linkageType: ''
    returnType: PageId
    signature: "PageId HugePageAwareAllocator<Forwarder>::RefillFiller(\n    Length
      n, SpanAllocInfo span_alloc_info, bool* from_released)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:543,1
    - Dst: RecordAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:544,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:545,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:548,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:549,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:550,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 555
    functionName: tcmalloc_internal::huge_page_allocator_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - Span*::sampled
    - TC_ASSERT_NE
    - NewSpan
    - RecordAlloc
    - ShrinkToUsageLimit
    - TC_ASSERT
    - Set
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:564,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:566,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:567,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:567,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:570,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:571,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:574,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 560
    functionDepth: 4
    functionLinenumber: 560
    functionLinenumberEnd: 575
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
    - ABSL_PREDICT_FALSE
    - TryGet
    - Range
    - Finalize
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::AllocSmall(Length
      n,\n                                              SpanAllocInfo span_alloc_info,\n
      \                                             bool* from_released)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:583,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:584,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:585,1
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:591,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:593,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:594,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:594,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:600,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:601,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:601,1
    - Dst: slack
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:614,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:616,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:618,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:619,1
    - Dst: small
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:628,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:629,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:630,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:635,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:636,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:639,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:639,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:640,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:640,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 578
    functionDepth: 4
    functionLinenumber: 578
    functionLinenumberEnd: 641
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - HugeLength::in_pages
    - small
    - Range
    - slack
    - UseHugeRegionMoreOften
    - HLFromBytes
    - HLFromPages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    - Finalize
    - MaybeGet
    - ABSL_PREDICT_TRUE
    - TC_CHECK
    - TryGet
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::AllocLarge(Length
      n,\n                                              SpanAllocInfo span_alloc_info,\n
      \                                             bool* from_released)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 644
    functionDepth: 4
    functionLinenumber: 644
    functionLinenumberEnd: 649
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::AllocEnormous(Length
      n,\n                                                 SpanAllocInfo span_alloc_info,\n
      \                                                bool* from_released)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:655,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:657,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:658,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:664,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:666,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:667,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:668,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:668,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:669,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:670,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:671,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:671,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:671,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:677,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:677,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:678,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:679,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:679,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:679,1
    - Dst: auto::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 652
    functionDepth: 3
    functionLinenumber: 652
    functionLinenumberEnd: 687
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 5
    functionsReached:
    - HugeLength::in_pages
    - auto::set_donated
    - Length
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    - HugeRange::len
    - Range
    - Finalize
    - TC_ASSERT_GT
    - HLFromPages
    - Get
    - HugeRange::valid
    - HugeRange::start
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - NHugePages
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::AllocRawHugepages(\n
      \   Length n, SpanAllocInfo span_alloc_info, bool* from_released)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:693,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:693,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:695,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:697,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:699,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:699,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:701,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:704,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 691
    functionDepth: 6
    functionLinenumber: 691
    functionLinenumberEnd: 707
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    - TC_CHECK_GT
    - Length
    - PrefetchW
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
    - GetMemoryTag
    - Back
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    - TC_ASSERT
    - Span*::start_address
    - Range::p::start_addr
    linkageType: ''
    returnType: Span
    signature: "Span * HugePageAwareAllocator<Forwarder>::New(\n    Length n, SpanAllocInfo
      span_alloc_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:718,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:723,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:724,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 710
    functionDepth: 5
    functionLinenumber: 710
    functionLinenumberEnd: 730
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugeRegion::size
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::LockAndAlloc(Length
      n,\n                                                SpanAllocInfo span_alloc_info,\n
      \                                               bool* from_released)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:736,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:737,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:742,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:747,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:750,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:752,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:752,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:753,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:756,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:757,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:757,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 734
    functionDepth: 4
    functionLinenumber: 734
    functionLinenumberEnd: 759
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    - Length
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - PrefetchW
    - GetMemoryTag
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    - Back
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    - TC_CHECK_LE
    - TC_ASSERT
    - Span*::start_address
    - Range::p::start_addr
    linkageType: ''
    returnType: Span
    signature: "Span * HugePageAwareAllocator<Forwarder>::NewAligned(\n    Length
      n, Length align, SpanAllocInfo span_alloc_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:766,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:770,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:771,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:772,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:772,1
    - Dst: Span*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - FinalizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 776
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - Span*::sampled
    - ABSL_PREDICT_FALSE
    - NewSpan
    - TC_ASSERT
    - Set
    - Span*::set_donated
    linkageType: ''
    returnType: Span
    signature: Span * HugePageAwareAllocator<Forwarder>::Spanify(FinalizeType f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:781,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:782,1
    - Dst: FinalizeType::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:782,1
    - Dst: FinalizeType::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - FinalizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 786
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - FinalizeType::first_page
    - FinalizeType::num_pages
    - TC_ASSERT
    - Range
    linkageType: ''
    returnType: Range
    signature: Range HugePageAwareAllocator<Forwarder>::Unspanify(FinalizeType f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:791,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:791,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:794,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:795,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:795,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:796,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:797,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pt
    - r
    - might_abandon
    argTypes:
    - FillerType::Tracker*
    - Range
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 789
    functionDepth: 3
    functionLinenumber: 789
    functionLinenumberEnd: 802
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - FillerType::Tracker*::abandoned_count
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - Put
    - FillerType::Tracker*::set_abandoned
    - FillerType::Tracker*::was_donated
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::DeleteFromHugepage(\n    FillerType::Tracker*
      pt, Range r, bool might_abandon)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:806,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:806,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:807,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:808,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 811
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - Contribute
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - tcmalloc_internal::HugeRegion::size
    - Get
    - HugeRange::valid
    linkageType: ''
    returnType: bool
    signature: bool HugePageAwareAllocator<Forwarder>::AddRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:817,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:818,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:820,1
    - Dst: DeleteSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:821,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 824
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - Span*::first_page
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - GetMemoryTag
    - Span*::start_address
    - DeleteSpan
    - TC_ASSERT
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocator<Forwarder>::Delete(Span* span)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:830,1
    - Dst: RecordFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:832,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:832,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:836,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:842,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:845,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:846,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:846,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:846,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:847,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:847,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:853,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:853,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:858,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:859,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:860,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:861,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:862,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:863,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:863,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:865,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:866,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:867,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:867,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:869,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:869,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:873,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:877,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:877,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:884,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:885,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:891,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:891,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:892,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:894,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:899,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:899,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:900,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:906,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - s
    argTypes:
    - AllocationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 828
    functionDepth: 3
    functionLinenumber: 828
    functionLinenumberEnd: 909
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 5
    functionsReached:
    - Length
    - ABSL_PREDICT_FALSE
    - FillerType::Tracker*::released
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
    - HLFromPages
    - NHugePages
    - HugeLength::in_pages
    - FillerType::Tracker*::abandoned_count
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - FillerType::Tracker*::was_donated
    - TC_ASSERT
    - TC_ASSERT_EQ
    - Set
    - PageId::start_addr
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - Put
    - Range
    - FillerType::Tracker*::set_abandoned
    - HugePage::first_page
    - FillerType::Tracker*::location
    - TC_ASSERT_GE
    - Release
    - huge_cache_demand_based_release
    - HugePageContaining
    - ReportDoubleFree
    - RecordFree
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - MaybePut
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
    - FillerType::Tracker*::abandoned
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocator<Forwarder>::Delete(AllocationState s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:914,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    - Dst: FillerType::Tracker*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:918,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:920,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:921,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:928,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:928,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:929,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:929,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:931,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:936,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:938,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pt
    argTypes:
    - FillerType::Tracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 942
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 5
    functionsReached:
    - FillerType::Tracker*::abandoned_count
    - ReleaseUnbacked
    - Length
    - Release
    - FillerType::Tracker*::released
    - FillerType::Tracker*::set_abandoned
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - FillerType::Tracker*::was_donated
    - NHugePages
    - FillerType::Tracker*::location
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - TC_ASSERT
    - TC_ASSERT_EQ
    - FillerType::Tracker*::used_pages
    - huge_cache_demand_based_release
    - FillerType::Tracker*::abandoned
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::ReleaseHugepage(\n    FillerType::Tracker*
      pt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:947,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:949,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:950,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats HugePageAwareAllocator<Forwarder>::stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - SmallSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 964
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSmallSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::GetSmallSpanStats(\n    SmallSpanStats*
      result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 971
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetLargeSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::GetLargeSpanStats(\n    LargeSpanStats*
      result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:977,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:980,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:983,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:984,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:985,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 987
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 6
    functionsReached:
    - AddSpanStats
    - SmallSpanStats
    - LargeSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::GetSpanStats(\n    SmallSpanStats*
      small, LargeSpanStats* large)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:999,1
    - Dst: cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1001,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1006,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1008,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1009,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1013,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1013,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1020,1
    - Dst: huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1021,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1022,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1023,1
    - Dst: filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1027,1
    - Dst: filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1029,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1032,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1040,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1042,1
    - Dst: filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1046,1
    - Dst: filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1048,1
    - Dst: release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1049,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1054,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - num_pages
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 1056
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - ReleasePagesByPeakDemand
    - ReleaseCachedPages
    - Length
    - filler_skip_subrelease_short_interval
    - UseHugeRegionMoreOften
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - HLFromPages
    - RecordRelease
    - release_partial_alloc_pages
    - cache_demand_release_short_interval
    - huge_region_demand_based_release
    - ReleaseCachedPagesByDemand
    - filler_skip_subrelease_long_interval
    - ReleasePages
    - cache_demand_release_long_interval
    - huge_cache_demand_based_release
    linkageType: ''
    returnType: Length
    signature: "Length HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages(\n
      \   Length num_pages, PageReleaseReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1062,1
    - Dst: FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1064,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - enable_collapse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1059
    functionDepth: 3
    functionLinenumber: 1059
    functionLinenumberEnd: 1067
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - FetchFullyFreedTracker
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers(\n    bool
      enable_collapse)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1072
    functionName: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BytesToMiB(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1076,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1077,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1078,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' out'
    - ' s'
    - label
    argTypes:
    - Printer
    - BackingStats
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1079
    functionName: tcmalloc_internal::huge_page_allocator_internal::BreakdownStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - printf
    - tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
    linkageType: ''
    returnType: void
    signature: "void BreakdownStats(Printer& out, const BackingStats& s,\n                                  const
      char* label)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1084,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1085,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1086,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' hpaa'
    - ' s'
    - key
    argTypes:
    - PbtxtRegion
    - BackingStats
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1088
    functionName: tcmalloc_internal::huge_page_allocator_internal::BreakdownStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - auto::PrintI64
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void BreakdownStatsInPbtxt(PbtxtRegion& hpaa,\n                                         const
      BackingStats& s,\n                                         const char* key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' pageflags'
    argTypes:
    - Printer
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1095
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::Print(Printer& out,\n                                                     PageFlagsBase&
      pageflags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1105,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1106,1
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1107,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1108,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1111,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1113,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1114,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1116,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1117,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1119,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1123,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1125,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1129,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1130,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1132,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1135,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1135,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1140,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1141,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1143,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1144,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1145,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1146,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1147,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1150,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1153,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1154,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1155,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - ' out'
    - everything
    - ' pageflags'
    argTypes:
    - Printer
    - bool
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1156
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - raw_num
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    - UseHugeRegionMoreOften
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - BreakdownStats
    - printf
    - PrintStats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::Print(Printer& out,\n                                                     bool
      everything,\n                                                     PageFlagsBase&
      pageflags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1164,1
    - Dst: PrintStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1165,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1167,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1168,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1169,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1169,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1170,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1171,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1174,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1175,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1177,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1178,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1180,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1184,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1186,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1191,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1193,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1194,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1195,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1196,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1199,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1201,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1201,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - ' region'
    - ' pageflags'
    argTypes:
    - PbtxtRegion
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1159
    functionDepth: 2
    functionLinenumber: 1159
    functionLinenumberEnd: 1204
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - raw_num
    - BreakdownStatsInPbtxt
    - auto::PrintI64
    - UseHugeRegionMoreOften
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - auto::PrintBool
    - CreateSubRegion
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
    - PrintStatsInPbtxt
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::PrintInPbtxt(\n    PbtxtRegion&
      region, PageFlagsBase& pageflags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1209,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1211,1
    - Dst: BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1212,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1213,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1213,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1216
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndReport
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - BytesToLengthFloor
    - Range
    - PageIdContaining
    - TC_CHECK
    - AllocatePages
    - Ensure
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange HugePageAwareAllocator<Forwarder>::AllocAndReport(\n
      \   size_t bytes, size_t align)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1228,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1229,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1230,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1235,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1235,1
    - Dst: huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1239,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1240,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1243,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1247,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1251,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1257
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPagesBreakingHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - ReleasePagesByPeakDemand
    - ReleaseCachedPages
    - HLFromPages
    - huge_region_demand_based_release
    - ReleaseCachedPagesByDemand
    - RecordRelease
    - ReleasePages
    - huge_cache_demand_based_release
    linkageType: ''
    returnType: Length
    signature: "Length HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPagesBreakingHugepages(\n
      \   Length n, PageReleaseReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRecordedReleases
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1263
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetReleaseStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - GetRecordedReleases
    linkageType: ''
    returnType: PageReleaseStats
    signature: "PageReleaseStats HugePageAwareAllocator<Forwarder>::GetReleaseStats()\n
      \   const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1269,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - size
    - pages
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1275
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::IsValidSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: bool
    signature: "bool HugePageAwareAllocator<Forwarder>::IsValidSizeClass(size_t size,\n
      \                                                        size_t pages)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1284
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    linkageType: ''
    returnType: bool
    signature: bool HugePageAwareAllocator<Forwarder>::hpaa_subrelease() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::filler_skip_subrelease_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration filler_skip_subrelease_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration filler_skip_subrelease_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::cache_demand_release_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::cache_demand_release_short_interval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration cache_demand_release_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::cache_demand_release_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::cache_demand_release_long_interval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration cache_demand_release_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::release_partial_alloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    linkageType: ''
    returnType: bool
    signature: bool release_partial_alloc_pages()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::huge_region_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::huge_region_demand_based_release
    linkageType: ''
    returnType: bool
    signature: bool huge_region_demand_based_release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::huge_cache_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::huge_cache_demand_based_release
    linkageType: ''
    returnType: bool
    signature: bool huge_cache_demand_based_release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    linkageType: ''
    returnType: bool
    signature: bool hpaa_subrelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: ~HugePageAwareAllocator() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - free_backed
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::cache
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeCache
    signature: HugeCache * cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::Unback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unback(HugePageAwareAllocator& hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: ~Unback() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Unback() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:278,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - AssertHeld
    - forwarder_::ReleasePages
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::UnbackWithoutLock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnbackWithoutLock(\n        HugePageAwareAllocator& hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: ~UnbackWithoutLock() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UnbackWithoutLock() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:297,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:299,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:300,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - AssertHeld
    - forwarder_::ReleasePages
    - Unlock
    - Lock
    linkageType: ''
    returnType: bool
    signature: bool ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Collapse::Collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Collapse(\n        HugePageAwareAllocator& hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: ~Collapse() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Collapse() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::CollapsePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - forwarder_::CollapsePages
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::SetAnonVmaName::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetAnonVmaName(\n        HugePageAwareAllocator& hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: ~SetAnonVmaName() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetAnonVmaName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: operator()(Range r, std::optional<absl::string_view> name) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - forwarder_::SetAnonVmaName
    linkageType: ''
    returnType: void
    signature: void operator()(Range r, std::optional<absl::string_view> name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::VirtualMemoryAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void VirtualMemoryAllocator(\n        HugePageAwareAllocator& hpaa
      ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 354
    functionName: ~VirtualMemoryAllocator() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VirtualMemoryAllocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocAndReport
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - AllocAndReport
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ArenaMetadataAllocator::ArenaMetadataAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ArenaMetadataAllocator(\n        HugePageAwareAllocator& hpaa
      ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: ~ArenaMetadataAllocator() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArenaMetadataAllocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: '* operator()(size_t bytes) override'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - forwarder_::arena
    linkageType: ''
    returnType: void
    signature: void * operator()(size_t bytes) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:478,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - HugePageAwareAllocatorOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 484
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::HugePageAwareAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - arena
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::HugePageAwareAllocator(\n
      \   const HugePageAwareAllocatorOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:489,1
    - Dst: reinterpret_cast<FillerType::Tracker*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:490,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:491,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 493
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - FillerType::Tracker*::location
    - reinterpret_cast<FillerType::Tracker*>
    - TC_ASSERT
    - GetHugepage
    linkageType: ''
    returnType: HugePageAwareAllocator<Forwarder>::FillerType::Tracker
    signature: 'HugePageAwareAllocator<Forwarder>::FillerType::Tracker *

      HugePageAwareAllocator<Forwarder>::GetTracker(HugePage p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - HugePageAwareAllocator<Forwarder>::FillerType::Tracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 8
    functionsReached:
    - SetHugepage
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::SetTracker(\n    HugePage
      p, HugePageAwareAllocator<Forwarder>::FillerType::Tracker* pt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:504,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:504,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:505,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:506,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:507,1
    - Dst: FillerType::Tracker*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:507,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:508,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:508,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:511,1
    - Dst: FillerType::Tracker*::set_abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:512,1
    - Dst: FillerType::Tracker*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:514,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:516,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:517,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:518,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - p
    - n
    - span_alloc_info
    - donated
    argTypes:
    - HugePage
    - Length
    - SpanAllocInfo
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 520
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - FillerType::Tracker*::set_abandoned_count
    - FillerType::Tracker*::Get
    - Contribute
    - TC_CHECK_NE
    - HugePage::start_addr
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - HugePage::first_page
    - FillerType::Tracker*::was_donated
    - absl::base_internal::CycleClock::Now
    - FillerType::Tracker*::longest_free_range
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - TC_ASSERT_EQ
    - TC_ASSERT_GE
    linkageType: ''
    returnType: PageId
    signature: "PageId HugePageAwareAllocator<Forwarder>::AllocAndContribute(\n    HugePage
      p, Length n, SpanAllocInfo span_alloc_info, bool donated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:525,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:526,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:535,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:536,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 537
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    - Get
    - HugeRange::valid
    - ShrinkToUsageLimit
    - HugeRange::start
    - NHugePages
    linkageType: ''
    returnType: PageId
    signature: "PageId HugePageAwareAllocator<Forwarder>::RefillFiller(\n    Length
      n, SpanAllocInfo span_alloc_info, bool* from_released)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:543,1
    - Dst: RecordAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:544,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:545,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:548,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:549,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:550,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 555
    functionName: tcmalloc_internal::huge_page_allocator_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - Span*::sampled
    - TC_ASSERT_NE
    - NewSpan
    - RecordAlloc
    - ShrinkToUsageLimit
    - TC_ASSERT
    - Set
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:564,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:566,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:567,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:567,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:570,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:571,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:574,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 560
    functionDepth: 4
    functionLinenumber: 560
    functionLinenumberEnd: 575
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
    - ABSL_PREDICT_FALSE
    - TryGet
    - Range
    - Finalize
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::AllocSmall(Length
      n,\n                                              SpanAllocInfo span_alloc_info,\n
      \                                             bool* from_released)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:583,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:584,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:585,1
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:591,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:593,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:594,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:594,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:600,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:601,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:601,1
    - Dst: slack
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:614,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:616,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:618,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:619,1
    - Dst: small
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:628,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:629,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:630,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:635,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:636,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:639,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:639,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:640,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:640,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 578
    functionDepth: 4
    functionLinenumber: 578
    functionLinenumberEnd: 641
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - HugeLength::in_pages
    - small
    - Range
    - slack
    - UseHugeRegionMoreOften
    - HLFromBytes
    - HLFromPages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    - Finalize
    - MaybeGet
    - ABSL_PREDICT_TRUE
    - TC_CHECK
    - TryGet
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::AllocLarge(Length
      n,\n                                              SpanAllocInfo span_alloc_info,\n
      \                                             bool* from_released)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 644
    functionDepth: 4
    functionLinenumber: 644
    functionLinenumberEnd: 649
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::AllocEnormous(Length
      n,\n                                                 SpanAllocInfo span_alloc_info,\n
      \                                                bool* from_released)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:655,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:657,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:658,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:664,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:666,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:667,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:668,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:668,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:669,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:670,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:671,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:671,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:671,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:677,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:677,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:678,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:679,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:679,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:679,1
    - Dst: auto::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 652
    functionDepth: 3
    functionLinenumber: 652
    functionLinenumberEnd: 687
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 8
    functionsReached:
    - HugeLength::in_pages
    - auto::set_donated
    - Length
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    - HugeRange::len
    - Range
    - Finalize
    - TC_ASSERT_GT
    - HLFromPages
    - Get
    - HugeRange::valid
    - HugeRange::start
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - NHugePages
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::AllocRawHugepages(\n
      \   Length n, SpanAllocInfo span_alloc_info, bool* from_released)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:693,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:693,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:695,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:697,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:699,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:699,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:701,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:704,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 691
    functionDepth: 6
    functionLinenumber: 691
    functionLinenumberEnd: 707
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 7
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    - TC_CHECK_GT
    - Length
    - PrefetchW
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
    - GetMemoryTag
    - Back
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    - TC_ASSERT
    - Span*::start_address
    - Range::p::start_addr
    linkageType: ''
    returnType: Span
    signature: "Span * HugePageAwareAllocator<Forwarder>::New(\n    Length n, SpanAllocInfo
      span_alloc_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:718,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:723,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:724,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 710
    functionDepth: 5
    functionLinenumber: 710
    functionLinenumberEnd: 730
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::HugeRegion::size
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::LockAndAlloc(Length
      n,\n                                                SpanAllocInfo span_alloc_info,\n
      \                                               bool* from_released)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:736,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:737,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:742,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:747,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:750,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:752,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:752,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:753,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:756,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:757,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:757,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 734
    functionDepth: 4
    functionLinenumber: 734
    functionLinenumberEnd: 759
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    - Length
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - PrefetchW
    - GetMemoryTag
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    - Back
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    - TC_CHECK_LE
    - TC_ASSERT
    - Span*::start_address
    - Range::p::start_addr
    linkageType: ''
    returnType: Span
    signature: "Span * HugePageAwareAllocator<Forwarder>::NewAligned(\n    Length
      n, Length align, SpanAllocInfo span_alloc_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:766,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:770,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:771,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:772,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:772,1
    - Dst: Span*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - FinalizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 776
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 6
    functionsReached:
    - Span*::sampled
    - ABSL_PREDICT_FALSE
    - NewSpan
    - TC_ASSERT
    - Set
    - Span*::set_donated
    linkageType: ''
    returnType: Span
    signature: Span * HugePageAwareAllocator<Forwarder>::Spanify(FinalizeType f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:781,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:782,1
    - Dst: FinalizeType::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:782,1
    - Dst: FinalizeType::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - FinalizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 786
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 6
    functionsReached:
    - FinalizeType::first_page
    - FinalizeType::num_pages
    - TC_ASSERT
    - Range
    linkageType: ''
    returnType: Range
    signature: Range HugePageAwareAllocator<Forwarder>::Unspanify(FinalizeType f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:791,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:791,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:794,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:795,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:795,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:796,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:797,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pt
    - r
    - might_abandon
    argTypes:
    - FillerType::Tracker*
    - Range
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 789
    functionDepth: 3
    functionLinenumber: 789
    functionLinenumberEnd: 802
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - FillerType::Tracker*::abandoned_count
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - Put
    - FillerType::Tracker*::set_abandoned
    - FillerType::Tracker*::was_donated
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::DeleteFromHugepage(\n    FillerType::Tracker*
      pt, Range r, bool might_abandon)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:806,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:806,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:807,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:808,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 811
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - Contribute
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - tcmalloc_internal::HugeRegion::size
    - Get
    - HugeRange::valid
    linkageType: ''
    returnType: bool
    signature: bool HugePageAwareAllocator<Forwarder>::AddRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:817,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:818,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:820,1
    - Dst: DeleteSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:821,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 824
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 7
    functionsReached:
    - Span*::first_page
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - GetMemoryTag
    - Span*::start_address
    - DeleteSpan
    - TC_ASSERT
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocator<Forwarder>::Delete(Span* span)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:830,1
    - Dst: RecordFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:832,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:832,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:836,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:842,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:845,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:846,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:846,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:846,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:847,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:847,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:853,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:853,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:858,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:859,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:860,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:861,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:862,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:863,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:863,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:865,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:866,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:867,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:867,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:869,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:869,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:873,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:877,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:877,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:884,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:885,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:891,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:891,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:892,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:894,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:899,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:899,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:900,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:906,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - s
    argTypes:
    - AllocationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 828
    functionDepth: 3
    functionLinenumber: 828
    functionLinenumberEnd: 909
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 8
    functionsReached:
    - Length
    - ABSL_PREDICT_FALSE
    - FillerType::Tracker*::released
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
    - HLFromPages
    - NHugePages
    - HugeLength::in_pages
    - FillerType::Tracker*::abandoned_count
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - FillerType::Tracker*::was_donated
    - TC_ASSERT
    - TC_ASSERT_EQ
    - Set
    - PageId::start_addr
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - Put
    - Range
    - FillerType::Tracker*::set_abandoned
    - HugePage::first_page
    - FillerType::Tracker*::location
    - TC_ASSERT_GE
    - Release
    - huge_cache_demand_based_release
    - HugePageContaining
    - ReportDoubleFree
    - RecordFree
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - MaybePut
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
    - FillerType::Tracker*::abandoned
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocator<Forwarder>::Delete(AllocationState s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:914,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    - Dst: FillerType::Tracker*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:918,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:920,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:921,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:928,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:928,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:929,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:929,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:931,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:936,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:938,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pt
    argTypes:
    - FillerType::Tracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 942
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 8
    functionsReached:
    - FillerType::Tracker*::abandoned_count
    - ReleaseUnbacked
    - Length
    - Release
    - FillerType::Tracker*::released
    - FillerType::Tracker*::set_abandoned
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - FillerType::Tracker*::was_donated
    - NHugePages
    - FillerType::Tracker*::location
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - TC_ASSERT
    - TC_ASSERT_EQ
    - FillerType::Tracker*::used_pages
    - huge_cache_demand_based_release
    - FillerType::Tracker*::abandoned
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::ReleaseHugepage(\n    FillerType::Tracker*
      pt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:947,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:949,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:950,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 7
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats HugePageAwareAllocator<Forwarder>::stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - SmallSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 964
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSmallSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::GetSmallSpanStats(\n    SmallSpanStats*
      result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 971
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetLargeSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::GetLargeSpanStats(\n    LargeSpanStats*
      result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:977,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:980,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:983,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:984,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:985,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 987
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 10
    functionsReached:
    - AddSpanStats
    - SmallSpanStats
    - LargeSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::GetSpanStats(\n    SmallSpanStats*
      small, LargeSpanStats* large)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:999,1
    - Dst: cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1001,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1006,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1008,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1009,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1013,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1013,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1020,1
    - Dst: huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1021,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1022,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1023,1
    - Dst: filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1027,1
    - Dst: filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1029,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1032,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1040,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1042,1
    - Dst: filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1046,1
    - Dst: filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1048,1
    - Dst: release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1049,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1054,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - num_pages
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 1056
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - ReleasePagesByPeakDemand
    - ReleaseCachedPages
    - Length
    - filler_skip_subrelease_short_interval
    - UseHugeRegionMoreOften
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - HLFromPages
    - RecordRelease
    - release_partial_alloc_pages
    - cache_demand_release_short_interval
    - huge_region_demand_based_release
    - ReleaseCachedPagesByDemand
    - filler_skip_subrelease_long_interval
    - ReleasePages
    - cache_demand_release_long_interval
    - huge_cache_demand_based_release
    linkageType: ''
    returnType: Length
    signature: "Length HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages(\n
      \   Length num_pages, PageReleaseReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1062,1
    - Dst: FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1064,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - enable_collapse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1059
    functionDepth: 3
    functionLinenumber: 1059
    functionLinenumberEnd: 1067
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - FetchFullyFreedTracker
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers(\n    bool
      enable_collapse)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1072
    functionName: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BytesToMiB(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1076,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1077,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1078,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' out'
    - ' s'
    - label
    argTypes:
    - Printer
    - BackingStats
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1079
    functionName: tcmalloc_internal::huge_page_allocator_internal::BreakdownStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - printf
    - tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
    linkageType: ''
    returnType: void
    signature: "void BreakdownStats(Printer& out, const BackingStats& s,\n                                  const
      char* label)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1084,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1085,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1086,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' hpaa'
    - ' s'
    - key
    argTypes:
    - PbtxtRegion
    - BackingStats
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1088
    functionName: tcmalloc_internal::huge_page_allocator_internal::BreakdownStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - auto::PrintI64
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void BreakdownStatsInPbtxt(PbtxtRegion& hpaa,\n                                         const
      BackingStats& s,\n                                         const char* key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' pageflags'
    argTypes:
    - Printer
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1095
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::Print(Printer& out,\n                                                     PageFlagsBase&
      pageflags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1105,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1106,1
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1107,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1108,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1111,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1113,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1114,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1116,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1117,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1119,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1123,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1125,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1129,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1130,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1132,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1135,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1135,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1140,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1141,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1143,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1144,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1145,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1146,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1147,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1150,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1153,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1154,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1155,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - ' out'
    - everything
    - ' pageflags'
    argTypes:
    - Printer
    - bool
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1156
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 6
    functionsReached:
    - raw_num
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    - UseHugeRegionMoreOften
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - BreakdownStats
    - printf
    - PrintStats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::Print(Printer& out,\n                                                     bool
      everything,\n                                                     PageFlagsBase&
      pageflags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1164,1
    - Dst: PrintStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1165,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1167,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1168,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1169,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1169,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1170,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1171,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1174,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1175,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1177,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1178,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1180,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1184,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1186,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1191,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1193,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1194,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1195,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1196,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1199,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1201,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1201,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - ' region'
    - ' pageflags'
    argTypes:
    - PbtxtRegion
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1159
    functionDepth: 2
    functionLinenumber: 1159
    functionLinenumberEnd: 1204
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - raw_num
    - BreakdownStatsInPbtxt
    - auto::PrintI64
    - UseHugeRegionMoreOften
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - auto::PrintBool
    - CreateSubRegion
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
    - PrintStatsInPbtxt
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::PrintInPbtxt(\n    PbtxtRegion&
      region, PageFlagsBase& pageflags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1209,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1211,1
    - Dst: BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1212,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1213,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1213,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1216
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndReport
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - BytesToLengthFloor
    - Range
    - PageIdContaining
    - TC_CHECK
    - AllocatePages
    - Ensure
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange HugePageAwareAllocator<Forwarder>::AllocAndReport(\n
      \   size_t bytes, size_t align)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1228,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1229,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1230,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1235,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1235,1
    - Dst: huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1239,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1240,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1243,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1247,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1251,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1257
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPagesBreakingHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - ReleasePagesByPeakDemand
    - ReleaseCachedPages
    - HLFromPages
    - huge_region_demand_based_release
    - ReleaseCachedPagesByDemand
    - RecordRelease
    - ReleasePages
    - huge_cache_demand_based_release
    linkageType: ''
    returnType: Length
    signature: "Length HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPagesBreakingHugepages(\n
      \   Length n, PageReleaseReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRecordedReleases
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1263
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetReleaseStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - GetRecordedReleases
    linkageType: ''
    returnType: PageReleaseStats
    signature: "PageReleaseStats HugePageAwareAllocator<Forwarder>::GetReleaseStats()\n
      \   const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1269,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - size
    - pages
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1275
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::IsValidSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: bool
    signature: "bool HugePageAwareAllocator<Forwarder>::IsValidSizeClass(size_t size,\n
      \                                                        size_t pages)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1284
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    linkageType: ''
    returnType: bool
    signature: bool HugePageAwareAllocator<Forwarder>::hpaa_subrelease() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::filler_skip_subrelease_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration filler_skip_subrelease_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration filler_skip_subrelease_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::cache_demand_release_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::cache_demand_release_short_interval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration cache_demand_release_short_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::cache_demand_release_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::cache_demand_release_long_interval
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration cache_demand_release_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::release_partial_alloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    linkageType: ''
    returnType: bool
    signature: bool release_partial_alloc_pages()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::huge_region_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::huge_region_demand_based_release
    linkageType: ''
    returnType: bool
    signature: bool huge_region_demand_based_release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::huge_cache_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::huge_cache_demand_based_release
    linkageType: ''
    returnType: bool
    signature: bool huge_cache_demand_based_release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::hpaa_subrelease
    linkageType: ''
    returnType: bool
    signature: bool hpaa_subrelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: ~HugePageAwareAllocator() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - free_backed
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::cache
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeCache
    signature: HugeCache * cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::Unback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unback(HugePageAwareAllocator& hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: ~Unback() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Unback() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:278,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - AssertHeld
    - forwarder_::ReleasePages
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::UnbackWithoutLock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnbackWithoutLock(\n        HugePageAwareAllocator& hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: ~UnbackWithoutLock() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UnbackWithoutLock() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:297,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:299,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:300,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - AssertHeld
    - forwarder_::ReleasePages
    - Unlock
    - Lock
    linkageType: ''
    returnType: bool
    signature: bool ABSL_NO_THREAD_SAFETY_ANALYSIS
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Collapse::Collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Collapse(\n        HugePageAwareAllocator& hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: ~Collapse() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Collapse() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::CollapsePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - forwarder_::CollapsePages
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::SetAnonVmaName::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetAnonVmaName(\n        HugePageAwareAllocator& hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: ~SetAnonVmaName() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetAnonVmaName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: operator()(Range r, std::optional<absl::string_view> name) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - forwarder_::SetAnonVmaName
    linkageType: ''
    returnType: void
    signature: void operator()(Range r, std::optional<absl::string_view> name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::VirtualMemoryAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void VirtualMemoryAllocator(\n        HugePageAwareAllocator& hpaa
      ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 354
    functionName: ~VirtualMemoryAllocator() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VirtualMemoryAllocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocAndReport
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - AllocAndReport
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hpaa ABSL_ATTRIBUTE_LIFETIME_BOUND'
    argTypes:
    - HugePageAwareAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ArenaMetadataAllocator::ArenaMetadataAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ArenaMetadataAllocator(\n        HugePageAwareAllocator& hpaa
      ABSL_ATTRIBUTE_LIFETIME_BOUND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: ~ArenaMetadataAllocator() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArenaMetadataAllocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: '* operator()(size_t bytes) override'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - forwarder_::arena
    linkageType: ''
    returnType: void
    signature: void * operator()(size_t bytes) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:478,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - HugePageAwareAllocatorOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 484
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::HugePageAwareAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - arena
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::HugePageAwareAllocator(\n
      \   const HugePageAwareAllocatorOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:489,1
    - Dst: reinterpret_cast<FillerType::Tracker*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:490,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:491,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 493
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - FillerType::Tracker*::location
    - reinterpret_cast<FillerType::Tracker*>
    - TC_ASSERT
    - GetHugepage
    linkageType: ''
    returnType: HugePageAwareAllocator<Forwarder>::FillerType::Tracker
    signature: 'HugePageAwareAllocator<Forwarder>::FillerType::Tracker *

      HugePageAwareAllocator<Forwarder>::GetTracker(HugePage p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - HugePageAwareAllocator<Forwarder>::FillerType::Tracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 12
    functionsReached:
    - SetHugepage
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::SetTracker(\n    HugePage
      p, HugePageAwareAllocator<Forwarder>::FillerType::Tracker* pt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:504,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:504,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:505,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:506,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:507,1
    - Dst: FillerType::Tracker*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:507,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:508,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:508,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:511,1
    - Dst: FillerType::Tracker*::set_abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:512,1
    - Dst: FillerType::Tracker*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:514,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:516,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:517,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:518,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - p
    - n
    - span_alloc_info
    - donated
    argTypes:
    - HugePage
    - Length
    - SpanAllocInfo
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 520
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 6
    functionsReached:
    - FillerType::Tracker*::set_abandoned_count
    - FillerType::Tracker*::Get
    - Contribute
    - TC_CHECK_NE
    - HugePage::start_addr
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - HugePage::first_page
    - FillerType::Tracker*::was_donated
    - absl::base_internal::CycleClock::Now
    - FillerType::Tracker*::longest_free_range
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - TC_ASSERT_EQ
    - TC_ASSERT_GE
    linkageType: ''
    returnType: PageId
    signature: "PageId HugePageAwareAllocator<Forwarder>::AllocAndContribute(\n    HugePage
      p, Length n, SpanAllocInfo span_alloc_info, bool donated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:525,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:526,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:535,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:536,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 537
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    - Get
    - HugeRange::valid
    - ShrinkToUsageLimit
    - HugeRange::start
    - NHugePages
    linkageType: ''
    returnType: PageId
    signature: "PageId HugePageAwareAllocator<Forwarder>::RefillFiller(\n    Length
      n, SpanAllocInfo span_alloc_info, bool* from_released)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:543,1
    - Dst: RecordAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:544,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:545,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:548,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:549,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:550,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 555
    functionName: tcmalloc_internal::huge_page_allocator_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - Span*::sampled
    - TC_ASSERT_NE
    - NewSpan
    - RecordAlloc
    - ShrinkToUsageLimit
    - TC_ASSERT
    - Set
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:564,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:566,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:567,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:567,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:570,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:571,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:574,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 560
    functionDepth: 4
    functionLinenumber: 560
    functionLinenumberEnd: 575
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
    - ABSL_PREDICT_FALSE
    - TryGet
    - Range
    - Finalize
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::AllocSmall(Length
      n,\n                                              SpanAllocInfo span_alloc_info,\n
      \                                             bool* from_released)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:583,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:584,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:585,1
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:591,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:593,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:594,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:594,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:600,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:601,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:601,1
    - Dst: slack
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:614,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:616,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:618,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:619,1
    - Dst: small
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:628,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:629,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:630,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:635,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:636,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:639,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:639,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:640,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:640,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 578
    functionDepth: 4
    functionLinenumber: 578
    functionLinenumberEnd: 641
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - HugeLength::in_pages
    - small
    - Range
    - slack
    - UseHugeRegionMoreOften
    - HLFromBytes
    - HLFromPages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    - Finalize
    - MaybeGet
    - ABSL_PREDICT_TRUE
    - TC_CHECK
    - TryGet
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::AllocLarge(Length
      n,\n                                              SpanAllocInfo span_alloc_info,\n
      \                                             bool* from_released)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 644
    functionDepth: 4
    functionLinenumber: 644
    functionLinenumberEnd: 649
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::AllocEnormous(Length
      n,\n                                                 SpanAllocInfo span_alloc_info,\n
      \                                                bool* from_released)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:655,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:657,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:658,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:664,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:666,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:667,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:668,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:668,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:669,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:670,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:671,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:671,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:671,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:677,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:677,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:678,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:679,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:679,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:679,1
    - Dst: auto::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 652
    functionDepth: 3
    functionLinenumber: 652
    functionLinenumberEnd: 687
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 11
    functionsReached:
    - HugeLength::in_pages
    - auto::set_donated
    - Length
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    - HugeRange::len
    - Range
    - Finalize
    - TC_ASSERT_GT
    - HLFromPages
    - Get
    - HugeRange::valid
    - HugeRange::start
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - NHugePages
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::AllocRawHugepages(\n
      \   Length n, SpanAllocInfo span_alloc_info, bool* from_released)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:693,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:693,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:695,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:697,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:699,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:699,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:701,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:704,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 691
    functionDepth: 6
    functionLinenumber: 691
    functionLinenumberEnd: 707
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 10
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    - TC_CHECK_GT
    - Length
    - PrefetchW
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
    - GetMemoryTag
    - Back
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    - TC_ASSERT
    - Span*::start_address
    - Range::p::start_addr
    linkageType: ''
    returnType: Span
    signature: "Span * HugePageAwareAllocator<Forwarder>::New(\n    Length n, SpanAllocInfo
      span_alloc_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:718,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:723,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:724,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - from_released
    argTypes:
    - Length
    - SpanAllocInfo
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 710
    functionDepth: 5
    functionLinenumber: 710
    functionLinenumberEnd: 730
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::HugeRegion::size
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
    linkageType: ''
    returnType: typename HugePageAwareAllocator<Forwarder>::FinalizeType
    signature: "typename HugePageAwareAllocator<Forwarder>::FinalizeType HugePageAwareAllocator<Forwarder>::LockAndAlloc(Length
      n,\n                                                SpanAllocInfo span_alloc_info,\n
      \                                               bool* from_released)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:736,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:737,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:742,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:747,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:750,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:752,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:752,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:753,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:756,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:757,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:757,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 734
    functionDepth: 4
    functionLinenumber: 734
    functionLinenumberEnd: 759
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    - Length
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - PrefetchW
    - GetMemoryTag
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    - Back
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    - TC_CHECK_LE
    - TC_ASSERT
    - Span*::start_address
    - Range::p::start_addr
    linkageType: ''
    returnType: Span
    signature: "Span * HugePageAwareAllocator<Forwarder>::NewAligned(\n    Length
      n, Length align, SpanAllocInfo span_alloc_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:766,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:770,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:771,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:772,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:772,1
    - Dst: Span*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - FinalizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 776
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 8
    functionsReached:
    - Span*::sampled
    - ABSL_PREDICT_FALSE
    - NewSpan
    - TC_ASSERT
    - Set
    - Span*::set_donated
    linkageType: ''
    returnType: Span
    signature: Span * HugePageAwareAllocator<Forwarder>::Spanify(FinalizeType f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:781,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:782,1
    - Dst: FinalizeType::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:782,1
    - Dst: FinalizeType::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - FinalizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 786
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 8
    functionsReached:
    - FinalizeType::first_page
    - FinalizeType::num_pages
    - TC_ASSERT
    - Range
    linkageType: ''
    returnType: Range
    signature: Range HugePageAwareAllocator<Forwarder>::Unspanify(FinalizeType f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:791,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:791,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:794,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:795,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:795,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:796,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:797,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pt
    - r
    - might_abandon
    argTypes:
    - FillerType::Tracker*
    - Range
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 789
    functionDepth: 3
    functionLinenumber: 789
    functionLinenumberEnd: 802
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - FillerType::Tracker*::abandoned_count
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - Put
    - FillerType::Tracker*::set_abandoned
    - FillerType::Tracker*::was_donated
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::DeleteFromHugepage(\n    FillerType::Tracker*
      pt, Range r, bool might_abandon)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:806,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:806,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:807,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:808,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 811
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - Contribute
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - tcmalloc_internal::HugeRegion::size
    - Get
    - HugeRange::valid
    linkageType: ''
    returnType: bool
    signature: bool HugePageAwareAllocator<Forwarder>::AddRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:817,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:818,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:820,1
    - Dst: DeleteSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:821,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 824
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 10
    functionsReached:
    - Span*::first_page
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - GetMemoryTag
    - Span*::start_address
    - DeleteSpan
    - TC_ASSERT
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocator<Forwarder>::Delete(Span* span)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:830,1
    - Dst: RecordFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:832,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:832,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:836,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:842,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:845,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:846,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:846,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:846,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:847,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:847,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:853,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:853,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:858,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:859,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:860,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:861,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:862,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:863,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:863,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:865,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:866,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:867,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:867,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:869,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:869,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:873,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:877,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:877,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:884,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:885,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:891,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:891,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:892,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:894,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:899,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:899,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:900,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:906,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - s
    argTypes:
    - AllocationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 828
    functionDepth: 3
    functionLinenumber: 828
    functionLinenumberEnd: 909
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 11
    functionsReached:
    - Length
    - ABSL_PREDICT_FALSE
    - FillerType::Tracker*::released
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
    - HLFromPages
    - NHugePages
    - HugeLength::in_pages
    - FillerType::Tracker*::abandoned_count
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - FillerType::Tracker*::was_donated
    - TC_ASSERT
    - TC_ASSERT_EQ
    - Set
    - PageId::start_addr
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - Put
    - Range
    - FillerType::Tracker*::set_abandoned
    - HugePage::first_page
    - FillerType::Tracker*::location
    - TC_ASSERT_GE
    - Release
    - huge_cache_demand_based_release
    - HugePageContaining
    - ReportDoubleFree
    - RecordFree
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - MaybePut
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
    - FillerType::Tracker*::abandoned
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocator<Forwarder>::Delete(AllocationState s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:914,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    - Dst: FillerType::Tracker*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:918,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:920,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:921,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:928,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:928,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:929,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:929,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:931,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:936,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:938,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pt
    argTypes:
    - FillerType::Tracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 942
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 11
    functionsReached:
    - FillerType::Tracker*::abandoned_count
    - ReleaseUnbacked
    - Length
    - Release
    - FillerType::Tracker*::released
    - FillerType::Tracker*::set_abandoned
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - FillerType::Tracker*::was_donated
    - NHugePages
    - FillerType::Tracker*::location
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - TC_ASSERT
    - TC_ASSERT_EQ
    - FillerType::Tracker*::used_pages
    - huge_cache_demand_based_release
    - FillerType::Tracker*::abandoned
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::ReleaseHugepage(\n    FillerType::Tracker*
      pt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:947,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:949,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:950,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 10
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats HugePageAwareAllocator<Forwarder>::stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - SmallSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 964
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSmallSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::GetSmallSpanStats(\n    SmallSpanStats*
      result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 971
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetLargeSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::GetLargeSpanStats(\n    LargeSpanStats*
      result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:977,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:980,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:983,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:984,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:985,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 987
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 14
    functionsReached:
    - AddSpanStats
    - SmallSpanStats
    - LargeSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::GetSpanStats(\n    SmallSpanStats*
      small, LargeSpanStats* large)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:999,1
    - Dst: cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1001,1
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1006,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1008,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1009,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1013,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1013,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1020,1
    - Dst: huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1021,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1022,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1023,1
    - Dst: filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1027,1
    - Dst: filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1029,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1032,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1040,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1042,1
    - Dst: filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1046,1
    - Dst: filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1048,1
    - Dst: release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1049,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1054,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - num_pages
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 1056
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - ReleasePagesByPeakDemand
    - ReleaseCachedPages
    - Length
    - filler_skip_subrelease_short_interval
    - UseHugeRegionMoreOften
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - HLFromPages
    - RecordRelease
    - release_partial_alloc_pages
    - cache_demand_release_short_interval
    - huge_region_demand_based_release
    - ReleaseCachedPagesByDemand
    - filler_skip_subrelease_long_interval
    - ReleasePages
    - cache_demand_release_long_interval
    - huge_cache_demand_based_release
    linkageType: ''
    returnType: Length
    signature: "Length HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages(\n
      \   Length num_pages, PageReleaseReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1062,1
    - Dst: FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1064,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - enable_collapse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1059
    functionDepth: 3
    functionLinenumber: 1059
    functionLinenumberEnd: 1067
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - FetchFullyFreedTracker
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers(\n    bool
      enable_collapse)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1072
    functionName: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BytesToMiB(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1076,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1077,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1078,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' out'
    - ' s'
    - label
    argTypes:
    - Printer
    - BackingStats
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1079
    functionName: tcmalloc_internal::huge_page_allocator_internal::BreakdownStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - printf
    - tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
    linkageType: ''
    returnType: void
    signature: "void BreakdownStats(Printer& out, const BackingStats& s,\n                                  const
      char* label)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1084,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1085,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1086,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' hpaa'
    - ' s'
    - key
    argTypes:
    - PbtxtRegion
    - BackingStats
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1088
    functionName: tcmalloc_internal::huge_page_allocator_internal::BreakdownStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - auto::PrintI64
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void BreakdownStatsInPbtxt(PbtxtRegion& hpaa,\n                                         const
      BackingStats& s,\n                                         const char* key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' pageflags'
    argTypes:
    - Printer
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1095
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 7
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::Print(Printer& out,\n                                                     PageFlagsBase&
      pageflags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1105,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1106,1
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1107,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1108,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1111,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1113,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1114,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1116,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1117,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1119,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1123,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1125,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1129,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1130,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1132,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1135,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1135,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1140,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1141,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1143,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1144,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1145,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1146,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1147,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1150,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1153,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1154,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1155,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - ' out'
    - everything
    - ' pageflags'
    argTypes:
    - Printer
    - bool
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1156
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 8
    functionsReached:
    - raw_num
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    - UseHugeRegionMoreOften
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - BreakdownStats
    - printf
    - PrintStats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::Print(Printer& out,\n                                                     bool
      everything,\n                                                     PageFlagsBase&
      pageflags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1164,1
    - Dst: PrintStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1165,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1167,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1168,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1169,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1169,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1170,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1171,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1174,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1175,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1177,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1178,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1180,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1184,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1186,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1191,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1193,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1194,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1195,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1196,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1199,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1201,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1201,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - ' region'
    - ' pageflags'
    argTypes:
    - PbtxtRegion
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1159
    functionDepth: 2
    functionLinenumber: 1159
    functionLinenumberEnd: 1204
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - raw_num
    - BreakdownStatsInPbtxt
    - auto::PrintI64
    - UseHugeRegionMoreOften
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - auto::PrintBool
    - CreateSubRegion
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
    - PrintStatsInPbtxt
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::PrintInPbtxt(\n    PbtxtRegion&
      region, PageFlagsBase& pageflags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1209,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1211,1
    - Dst: BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1212,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1213,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1213,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1216
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndReport
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - BytesToLengthFloor
    - Range
    - PageIdContaining
    - TC_CHECK
    - AllocatePages
    - Ensure
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange HugePageAwareAllocator<Forwarder>::AllocAndReport(\n
      \   size_t bytes, size_t align)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1228,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1229,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1230,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1235,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1235,1
    - Dst: huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1239,1
    - Dst: ReleasePagesByPeakDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1240,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1243,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1247,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1251,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1257
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPagesBreakingHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - ReleasePagesByPeakDemand
    - ReleaseCachedPages
    - HLFromPages
    - huge_region_demand_based_release
    - ReleaseCachedPagesByDemand
    - RecordRelease
    - ReleasePages
    - huge_cache_demand_based_release
    linkageType: ''
    returnType: Length
    signature: "Length HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPagesBreakingHugepages(\n
      \   Length n, PageReleaseReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRecordedReleases
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1263
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetReleaseStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - GetRecordedReleases
    linkageType: ''
    returnType: PageReleaseStats
    signature: "PageReleaseStats HugePageAwareAllocator<Forwarder>::GetReleaseStats()\n
      \   const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1269,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - size
    - pages
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1275
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::IsValidSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: bool
    signature: "bool HugePageAwareAllocator<Forwarder>::IsValidSizeClass(size_t size,\n
      \                                                        size_t pages)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1284
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 16
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    linkageType: ''
    returnType: bool
    signature: bool HugePageAwareAllocator<Forwarder>::hpaa_subrelease() const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:30,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:31,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:32,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:33,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:33,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:34,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:38,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:39,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:39,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:40,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:40,1
    - Dst: root
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:44,1
    - Dst: HugeAddressMap::Node*::longest
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:50,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:51,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:52,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:52,1
    - Dst: HugeAddressMap::Node*::left
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:59,1
    - Dst: HugeAddressMap::Node*::right
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:60,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:61,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:66,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:72,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:72,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:73,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:73,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:78,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:78,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:91,1
    - Dst: nranges
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:92,1
    - Dst: total_mapped
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:93,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:94,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:95,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:97,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:98,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:99,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:99,1
    - Dst: HugeLength::overflows
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:103,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:103,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:104,1
    - Dst: allocate_
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:106,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:109,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:111,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:113,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:114,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:116,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:116,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:120,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:120,1
    - Dst: Find
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:121,1
    - Dst: AllocateRange
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:124,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:125,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:126,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:127,1
    - Dst: Find
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:128,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:129,1
    - Dst: auto*::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:133,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:134,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:135,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:136,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:137,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:137,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:138,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:138,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:139,1
    - Dst: HugeRange::precedes
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:139,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:140,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:140,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:140,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:141,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:142,1
    - Dst: DebugCheckFreelist
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:145,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:152,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:154,1
    - Dst: DebugCheckFreelist
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:155,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:160,1
    - Dst: HugeAddressMap::Node*::next
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:161,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:162,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:165,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 171
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 0
    functionsReached:
    - Find
    - first
    - AllocateRange
    - HugeAddressMap::Node*::range
    - root
    - AddSpanStats
    - printf
    - auto::range
    - Remove
    - tcmalloc_internal::Make
    - NHugePages
    - allocate_
    - HugeAddressMap::Node*::right
    - Check
    - raw_num
    - TC_CHECK_GT
    - HugeLength::in_pages
    - HugeAddressMap::Node*::next
    - HLFromBytes
    - HugeAddressMap::Node*::left
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    - HugeRange::start
    - HugeRange::precedes
    - TC_ASSERT
    - TC_ASSERT_EQ
    - auto*::range
    - total_mapped
    - auto::longest
    - HugeRange::len
    - PrintI64
    - Insert
    - PrintInPbtxt
    - TC_CHECK_EQ
    - HugeRange::valid
    - HugeLength::in_bytes
    - Release
    - DebugCheckFreelist
    - nranges
    - TC_CHECK_NE
    - HugePageContaining
    - HugeLength::overflows
    - HugeAddressMap::Node*::longest
    - Print
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:30,1
    - Dst: tcmalloc_internal::HugeAllocator::Print
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:31,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:32,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:33,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:33,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: tcmalloc_internal::HugeAllocator::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 1
    functionsReached:
    - raw_num
    - tcmalloc_internal::HugeAllocator::Print
    - printf
    linkageType: ''
    returnType: void
    signature: void HugeAllocator::Print(Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeAllocator::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:38,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:39,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:39,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:40,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::HugeAllocator::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 1
    functionsReached:
    - raw_num
    - tcmalloc_internal::HugeAllocator::PrintInPbtxt
    - PrintI64
    linkageType: ''
    returnType: void
    signature: void HugeAllocator::PrintInPbtxt(PbtxtRegion& hpaa) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: root
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:44,1
    - Dst: HugeAddressMap::Node*::longest
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:50,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:51,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:52,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:52,1
    - Dst: HugeAddressMap::Node*::left
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:59,1
    - Dst: HugeAddressMap::Node*::right
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:60,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:61,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:66,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:72,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:72,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:73,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:73,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:78,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:78,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 88
    functionName: tcmalloc_internal::HugeAllocator::Find
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 0
    functionsReached:
    - auto::longest
    - HugeAddressMap::Node*::range
    - root
    - HugeAddressMap::Node*::longest
    - HugeAddressMap::Node*::left
    - auto::range
    - HugeAddressMap::Node*::right
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAllocator::Find(HugeLength n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:91,1
    - Dst: nranges
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:92,1
    - Dst: total_mapped
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:93,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:94,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:95,1
    - Dst: tcmalloc_internal::HugeAllocator::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:97,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:98,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:99,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: tcmalloc_internal::HugeAllocator::CheckFreelist
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 2
    functionsReached:
    - Check
    - HugeLength::in_pages
    - nranges
    - total_mapped
    - TC_CHECK_EQ
    - tcmalloc_internal::HugeAllocator::AddSpanStats
    linkageType: ''
    returnType: void
    signature: void HugeAllocator::CheckFreelist()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HugeLength::overflows
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:103,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:103,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:104,1
    - Dst: allocate_
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:106,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:109,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:111,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:113,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:114,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:116,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::HugeAllocator::AllocateRange
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - HugePageContaining
    - HugeLength::overflows
    - HugeLength::in_bytes
    - HLFromBytes
    - TC_CHECK_EQ
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    - tcmalloc_internal::Make
    - allocate_
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange HugeAllocator::AllocateRange(HugeLength n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:120,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:120,1
    - Dst: tcmalloc_internal::HugeAllocator::Find
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:121,1
    - Dst: tcmalloc_internal::HugeAllocator::AllocateRange
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:124,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:125,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:126,1
    - Dst: tcmalloc_internal::HugeAllocator::Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:127,1
    - Dst: tcmalloc_internal::HugeAllocator::Find
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:128,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:129,1
    - Dst: auto*::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:133,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:134,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:135,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:136,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:137,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:137,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:138,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:138,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:139,1
    - Dst: HugeRange::precedes
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:139,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:140,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:140,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:140,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:141,1
    - Dst: tcmalloc_internal::HugeAllocator::Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:142,1
    - Dst: tcmalloc_internal::HugeAllocator::DebugCheckFreelist
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 149
    functionName: tcmalloc_internal::HugeAllocator::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeAllocator::DebugCheckFreelist
    - auto*::range
    - TC_CHECK_GT
    - tcmalloc_internal::HugeAllocator::Find
    - TC_CHECK_NE
    - HugeRange::len
    - HugeRange::precedes
    - HugeRange::valid
    - tcmalloc_internal::HugeAllocator::Release
    - tcmalloc_internal::HugeAllocator::AllocateRange
    - Remove
    - tcmalloc_internal::Make
    - NHugePages
    - TC_ASSERT_EQ
    - TC_ASSERT
    - HugeRange::start
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange HugeAllocator::Get(HugeLength n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:152,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:154,1
    - Dst: tcmalloc_internal::HugeAllocator::DebugCheckFreelist
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: tcmalloc_internal::HugeAllocator::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugeAllocator::DebugCheckFreelist
    - HugeRange::len
    - Insert
    linkageType: ''
    returnType: void
    signature: void HugeAllocator::Release(HugeRange r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:160,1
    - Dst: HugeAddressMap::Node*::next
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:161,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:162,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: tcmalloc_internal::HugeAllocator::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 1
    functionsReached:
    - first
    - HugeAddressMap::Node*::range
    - HugeLength::in_pages
    - HugeAddressMap::Node*::next
    linkageType: ''
    returnType: void
    signature: "void HugeAllocator::AddSpanStats(SmallSpanStats* small,\n                                 LargeSpanStats*
      large) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:30,1
    - Dst: tcmalloc_internal::HugeAllocator::Print
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:31,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:32,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:33,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:33,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: tcmalloc_internal::HugeAllocator::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 2
    functionsReached:
    - raw_num
    - tcmalloc_internal::HugeAllocator::Print
    - printf
    linkageType: ''
    returnType: void
    signature: void HugeAllocator::Print(Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeAllocator::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:38,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:39,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:39,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:40,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::HugeAllocator::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 2
    functionsReached:
    - raw_num
    - tcmalloc_internal::HugeAllocator::PrintInPbtxt
    - PrintI64
    linkageType: ''
    returnType: void
    signature: void HugeAllocator::PrintInPbtxt(PbtxtRegion& hpaa) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: root
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:44,1
    - Dst: HugeAddressMap::Node*::longest
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:50,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:51,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:52,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:52,1
    - Dst: HugeAddressMap::Node*::left
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:59,1
    - Dst: HugeAddressMap::Node*::right
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:60,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:61,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:66,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:72,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:72,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:73,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:73,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:78,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:78,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 88
    functionName: tcmalloc_internal::HugeAllocator::Find
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 1
    functionsReached:
    - auto::longest
    - HugeAddressMap::Node*::range
    - root
    - HugeAddressMap::Node*::longest
    - HugeAddressMap::Node*::left
    - auto::range
    - HugeAddressMap::Node*::right
    linkageType: ''
    returnType: HugeAddressMap::Node
    signature: HugeAddressMap::Node * HugeAllocator::Find(HugeLength n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:91,1
    - Dst: nranges
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:92,1
    - Dst: total_mapped
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:93,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:94,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:95,1
    - Dst: tcmalloc_internal::HugeAllocator::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:97,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:98,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:99,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: tcmalloc_internal::HugeAllocator::CheckFreelist
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 2
    functionsReached:
    - Check
    - HugeLength::in_pages
    - nranges
    - total_mapped
    - TC_CHECK_EQ
    - tcmalloc_internal::HugeAllocator::AddSpanStats
    linkageType: ''
    returnType: void
    signature: void HugeAllocator::CheckFreelist()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HugeLength::overflows
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:103,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:103,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:104,1
    - Dst: allocate_
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:106,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:109,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:111,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:113,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:114,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:116,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::HugeAllocator::AllocateRange
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 1
    functionsReached:
    - TC_CHECK_NE
    - HugePageContaining
    - HugeLength::overflows
    - HugeLength::in_bytes
    - HLFromBytes
    - TC_CHECK_EQ
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    - tcmalloc_internal::Make
    - allocate_
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange HugeAllocator::AllocateRange(HugeLength n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:120,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:120,1
    - Dst: tcmalloc_internal::HugeAllocator::Find
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:121,1
    - Dst: tcmalloc_internal::HugeAllocator::AllocateRange
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:124,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:125,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:126,1
    - Dst: tcmalloc_internal::HugeAllocator::Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:127,1
    - Dst: tcmalloc_internal::HugeAllocator::Find
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:128,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:129,1
    - Dst: auto*::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:133,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:134,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:135,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:136,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:137,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:137,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:138,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:138,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:139,1
    - Dst: HugeRange::precedes
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:139,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:140,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:140,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:140,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:141,1
    - Dst: tcmalloc_internal::HugeAllocator::Release
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:142,1
    - Dst: tcmalloc_internal::HugeAllocator::DebugCheckFreelist
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 149
    functionName: tcmalloc_internal::HugeAllocator::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeAllocator::DebugCheckFreelist
    - auto*::range
    - TC_CHECK_GT
    - tcmalloc_internal::HugeAllocator::Find
    - TC_CHECK_NE
    - HugeRange::len
    - HugeRange::precedes
    - HugeRange::valid
    - tcmalloc_internal::HugeAllocator::Release
    - tcmalloc_internal::HugeAllocator::AllocateRange
    - Remove
    - tcmalloc_internal::Make
    - NHugePages
    - TC_ASSERT_EQ
    - TC_ASSERT
    - HugeRange::start
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange HugeAllocator::Get(HugeLength n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:152,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:154,1
    - Dst: tcmalloc_internal::HugeAllocator::DebugCheckFreelist
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: tcmalloc_internal::HugeAllocator::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugeAllocator::DebugCheckFreelist
    - HugeRange::len
    - Insert
    linkageType: ''
    returnType: void
    signature: void HugeAllocator::Release(HugeRange r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:160,1
    - Dst: HugeAddressMap::Node*::next
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:161,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:162,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_allocator.cc:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: tcmalloc_internal::HugeAllocator::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_allocator.cc
    functionUses: 2
    functionsReached:
    - first
    - HugeAddressMap::Node*::range
    - HugeLength::in_pages
    - HugeAddressMap::Node*::next
    linkageType: ''
    returnType: void
    signature: "void HugeAllocator::AddSpanStats(SmallSpanStats* small,\n                                 LargeSpanStats*
      large) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:53,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:54,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:54,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:63,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:67,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:67,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:69,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:74,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:76,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:81,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:83,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:90,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:91,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:91,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:93,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:98,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:100,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:105,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:107,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:115,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:115,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:117,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:121,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:123,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - EXPECT_LE
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, IsolatedSmoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:133,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:133,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:134,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:134,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:138,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:139,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:142,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:147,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:152,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:153,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:154,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:159,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:160,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:161,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:162,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:163,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:164,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:165,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:169,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:169,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:170,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:172,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 174
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::atomic::load
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - std::thread::join
    - std::atomic::store
    - TypeParam::central_freelist
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, ReadStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:182,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:183,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:183,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:185,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:187,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:187,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:188,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:190,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - GTEST_SKIP
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, SingleItemSmoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:196,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:197,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:197,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:199,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:200,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, FetchesFromFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:206,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:206,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:207,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:207,1
    - Dst: static_cast<FakeCentralFreeList&>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:211,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:211,1
    - Dst: subspan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:212,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:213,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:213,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:216,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:216,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:217,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:221,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:222,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - data
    - std::min<size_t>
    - EXPECT_EQ
    - size
    - TypeParam::transfer_cache
    - TypeParam::central_freelist
    - static_cast<FakeCentralFreeList&>
    - memset
    - TypeParam::Remove
    - subspan
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, PartialFetchFromFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:230,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:230,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:232,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:233,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:235,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:237,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:238,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:239,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, PushesToFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:246,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:246,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:247,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:247,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:249,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:250,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:253,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:254,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:257,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, WrappingWorks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:266,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:268,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:268,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:271,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:271,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:274,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:274,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:276,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:278,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:278,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:282,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:282,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:289,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:289,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:291,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:291,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:294,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:294,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:298,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:298,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:301,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:302,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:306,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:306,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:307,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:309,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:313,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:315,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:315,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:316,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:320,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 321
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - TypeParam::Insert
    - TypeParam::transfer_cache
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, Plunder)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - max_batch_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t PickCoprimeBatchSize(size_t max_batch_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:346,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:349,1
    - Dst: tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:358,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:359,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:360,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:374,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:374,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: tcmalloc::tcmalloc_internal::BM_MixAndReturn
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:379,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:380,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:387,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:392,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:392,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:393,1
    - Dst: testing::SizeIs
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:393,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::Le
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::AnyNumber
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:395,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:397,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:402,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:404,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:405,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:406,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:407,1
    - Dst: testing::Le
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:407,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:408,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:411,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 412
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - testing::SizeIs
    - testing::AllOf
    - testing::AnyNumber
    - std::min
    - ASSERT_NE
    - EXPECT_CALL
    - ON_CALL
    - ASSERT_EQ
    - testing::Le
    - absl::MakeSpan
    - tcmalloc::tcmalloc_internal::BM_MixAndReturn
    - ASSERT_THAT
    - TypeParam::transfer_cache
    - std::vector::reserve
    - ASSERT_GT
    - std::vector::push_back
    - GTEST_SKIP
    - TypeParam::central_freelist
    - testing::Gt
    - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    - std::vector::data
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, b172283201)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:426,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:426,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:428,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedUnbiased)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:438,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:438,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:440,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 443
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Insert
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedInsert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:450,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:450,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:452,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Remove
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:460,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:460,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:462,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: TypeParam::Shrink
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - TypeParam::Shrink
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedShrink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:470,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:470,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:472,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: TypeParam::Grow
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 475
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Grow
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedGrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:483,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:489,1
    - Dst: ShardedTransferCacheManager::should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ShardedTransferCacheManager::should_use
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, DefaultConstructorDisables)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:494,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:500,1
    - Dst: FakeShardedTransferCacheEnvironment::sharded_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:503,1
    - Dst: FakeShardedTransferCacheEnvironment::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:506,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:508,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:508,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:509,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:509,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:511,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:511,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:514,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:518,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:525,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:525,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:526,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:527,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:531,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:531,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:532,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:533,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:534,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:535,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:536,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:536,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:537,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:537,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:538,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:544,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:545,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:546,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:547,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:547,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:548,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:549,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:550,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:551,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:552,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:553,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:553,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:560,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:561,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:562,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:563,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:563,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:564,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:565,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:565,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:566,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:567,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:567,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:568,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:568,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:570,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:570,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:578,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:579,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:580,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:581,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:581,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:582,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:583,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:584,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:585,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:586,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:586,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:587,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 589
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - Push
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - ASSERT_NE
    - should_use
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - EXPECT_FALSE
    - shard_initialized
    - absl::MakeSpan
    - EXPECT_TRUE
    - EXPECT_EQ
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - EXPECT_GT
    - TC_ASSERT_GT
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - Pop
    - FakeShardedTransferCacheEnvironment::central_freelist
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, MinimumNumShards)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:592,1
    - Dst: FakeShardedTransferCacheEnvironment::sharded_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:600,1
    - Dst: FakeShardedTransferCacheEnvironment::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:603,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:605,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:605,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:606,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:606,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:607,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:607,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:609,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:611,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:616,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:617,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:618,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:619,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:620,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:621,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:621,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:622,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:622,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:623,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:623,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:624,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:629,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:630,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:631,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:632,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:633,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:633,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:634,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:634,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:635,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:636,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:636,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:642,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:643,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:644,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:645,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:645,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:646,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:647,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:647,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:648,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:650,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:650,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:656,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:657,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:658,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:659,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:659,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:660,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:661,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:662,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:662,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:663,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 666
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - FakeShardedTransferCacheEnvironment::central_freelist
    - EXPECT_FALSE
    - shard_initialized
    - EXPECT_TRUE
    - EXPECT_EQ
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - EXPECT_GT
    - Push
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - ASSERT_NE
    - Pop
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, ShardsOnDemand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:706,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:713,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:728,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - IncreaseCacheCapacity
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, ResizeOccurs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:736,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:741,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:743,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:746,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:751,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:753,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:756,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:761,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:763,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:767,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, DoesNotLeakCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:783,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:785,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:791,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:798,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - count_batches
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - TypeParam::transfer_cache_manager
    - absl::Now
    - absl::Milliseconds
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:706,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:713,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:728,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - IncreaseCacheCapacity
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, ResizeOccurs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:736,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:741,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:743,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:746,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:751,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:753,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:756,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:761,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:763,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:767,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, DoesNotLeakCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:783,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:785,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:791,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:798,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - count_batches
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - TypeParam::transfer_cache_manager
    - absl::Now
    - absl::Milliseconds
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:53,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:54,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:54,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:63,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:67,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:67,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:69,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:74,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:76,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:81,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:83,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:90,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:91,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:91,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:93,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:98,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:100,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:105,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:107,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:115,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:115,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:117,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:121,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:123,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - EXPECT_LE
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, IsolatedSmoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:133,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:133,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:134,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:134,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:138,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:139,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:142,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:147,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:152,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:153,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:154,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:159,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:160,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:161,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:162,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:163,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:164,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:165,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:169,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:169,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:170,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:172,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 174
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::atomic::load
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - std::thread::join
    - std::atomic::store
    - TypeParam::central_freelist
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, ReadStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:182,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:183,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:183,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:185,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:187,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:187,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:188,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:190,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - GTEST_SKIP
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, SingleItemSmoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:196,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:197,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:197,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:199,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:200,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, FetchesFromFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:206,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:206,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:207,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:207,1
    - Dst: static_cast<FakeCentralFreeList&>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:211,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:211,1
    - Dst: subspan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:212,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:213,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:213,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:216,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:216,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:217,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:221,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:222,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - data
    - std::min<size_t>
    - EXPECT_EQ
    - size
    - TypeParam::transfer_cache
    - TypeParam::central_freelist
    - static_cast<FakeCentralFreeList&>
    - memset
    - TypeParam::Remove
    - subspan
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, PartialFetchFromFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:230,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:230,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:232,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:233,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:235,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:237,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:238,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:239,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, PushesToFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:246,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:246,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:247,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:247,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:249,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:250,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:253,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:254,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:257,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, WrappingWorks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:266,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:268,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:268,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:271,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:271,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:274,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:274,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:276,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:278,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:278,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:282,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:282,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:289,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:289,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:291,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:291,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:294,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:294,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:298,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:298,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:301,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:302,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:306,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:306,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:307,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:309,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:313,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:315,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:315,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:316,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:320,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 321
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - TypeParam::Insert
    - TypeParam::transfer_cache
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, Plunder)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - max_batch_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t PickCoprimeBatchSize(size_t max_batch_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:346,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:349,1
    - Dst: tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:358,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:359,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:360,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:374,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:374,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: tcmalloc::tcmalloc_internal::BM_MixAndReturn
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:379,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:380,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:387,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:392,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:392,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:393,1
    - Dst: testing::SizeIs
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:393,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::Le
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::AnyNumber
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:395,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:397,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:402,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:404,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:405,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:406,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:407,1
    - Dst: testing::Le
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:407,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:408,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:411,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 412
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - testing::SizeIs
    - testing::AllOf
    - testing::AnyNumber
    - std::min
    - ASSERT_NE
    - EXPECT_CALL
    - ON_CALL
    - ASSERT_EQ
    - testing::Le
    - absl::MakeSpan
    - tcmalloc::tcmalloc_internal::BM_MixAndReturn
    - ASSERT_THAT
    - TypeParam::transfer_cache
    - std::vector::reserve
    - ASSERT_GT
    - std::vector::push_back
    - GTEST_SKIP
    - TypeParam::central_freelist
    - testing::Gt
    - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    - std::vector::data
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, b172283201)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:426,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:426,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:428,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedUnbiased)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:438,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:438,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:440,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 443
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Insert
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedInsert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:450,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:450,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:452,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Remove
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:460,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:460,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:462,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: TypeParam::Shrink
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - TypeParam::Shrink
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedShrink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:470,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:470,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:472,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: TypeParam::Grow
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 475
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Grow
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedGrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:483,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:489,1
    - Dst: ShardedTransferCacheManager::should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ShardedTransferCacheManager::should_use
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, DefaultConstructorDisables)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:494,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:500,1
    - Dst: FakeShardedTransferCacheEnvironment::sharded_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:503,1
    - Dst: FakeShardedTransferCacheEnvironment::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:506,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:508,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:508,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:509,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:509,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:511,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:511,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:514,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:518,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:525,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:525,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:526,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:527,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:531,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:531,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:532,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:533,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:534,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:535,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:536,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:536,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:537,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:537,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:538,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:544,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:545,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:546,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:547,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:547,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:548,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:549,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:550,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:551,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:552,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:553,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:553,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:560,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:561,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:562,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:563,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:563,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:564,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:565,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:565,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:566,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:567,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:567,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:568,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:568,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:570,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:570,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:578,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:579,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:580,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:581,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:581,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:582,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:583,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:584,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:585,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:586,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:586,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:587,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 589
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - Push
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - ASSERT_NE
    - should_use
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - EXPECT_FALSE
    - shard_initialized
    - absl::MakeSpan
    - EXPECT_TRUE
    - EXPECT_EQ
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - EXPECT_GT
    - TC_ASSERT_GT
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - Pop
    - FakeShardedTransferCacheEnvironment::central_freelist
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, MinimumNumShards)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:592,1
    - Dst: FakeShardedTransferCacheEnvironment::sharded_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:600,1
    - Dst: FakeShardedTransferCacheEnvironment::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:603,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:605,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:605,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:606,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:606,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:607,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:607,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:609,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:611,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:616,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:617,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:618,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:619,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:620,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:621,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:621,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:622,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:622,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:623,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:623,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:624,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:629,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:630,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:631,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:632,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:633,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:633,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:634,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:634,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:635,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:636,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:636,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:642,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:643,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:644,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:645,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:645,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:646,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:647,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:647,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:648,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:650,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:650,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:656,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:657,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:658,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:659,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:659,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:660,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:661,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:662,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:662,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:663,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 666
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - FakeShardedTransferCacheEnvironment::central_freelist
    - EXPECT_FALSE
    - shard_initialized
    - EXPECT_TRUE
    - EXPECT_EQ
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - EXPECT_GT
    - Push
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - ASSERT_NE
    - Pop
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, ShardsOnDemand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:706,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:713,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:728,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - IncreaseCacheCapacity
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, ResizeOccurs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:736,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:741,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:743,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:746,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:751,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:753,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:756,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:761,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:763,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:767,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, DoesNotLeakCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:783,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:785,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:791,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:798,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - count_batches
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - TypeParam::transfer_cache_manager
    - absl::Now
    - absl::Milliseconds
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:706,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:713,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:728,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - IncreaseCacheCapacity
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, ResizeOccurs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:736,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:741,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:743,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:746,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:751,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:753,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:756,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:761,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:763,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:767,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, DoesNotLeakCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:783,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:785,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:791,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:798,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - count_batches
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - TypeParam::transfer_cache_manager
    - absl::Now
    - absl::Milliseconds
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:53,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:54,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:54,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:63,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:67,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:67,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:69,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:74,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:76,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:81,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:83,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:90,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:91,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:91,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:93,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:98,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:100,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:105,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:107,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:115,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:115,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:117,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:121,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:123,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - EXPECT_LE
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, IsolatedSmoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:133,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:133,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:134,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:134,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:138,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:139,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:142,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:147,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:152,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:153,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:154,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:159,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:160,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:161,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:162,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:163,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:164,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:165,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:169,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:169,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:170,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:172,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 174
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::atomic::load
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - std::thread::join
    - std::atomic::store
    - TypeParam::central_freelist
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, ReadStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:182,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:183,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:183,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:185,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:187,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:187,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:188,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:190,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - GTEST_SKIP
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, SingleItemSmoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:196,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:197,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:197,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:199,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:200,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, FetchesFromFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:206,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:206,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:207,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:207,1
    - Dst: static_cast<FakeCentralFreeList&>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:211,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:211,1
    - Dst: subspan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:212,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:213,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:213,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:216,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:216,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:217,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:221,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:222,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - data
    - std::min<size_t>
    - EXPECT_EQ
    - size
    - TypeParam::transfer_cache
    - TypeParam::central_freelist
    - static_cast<FakeCentralFreeList&>
    - memset
    - TypeParam::Remove
    - subspan
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, PartialFetchFromFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:230,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:230,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:232,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:233,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:235,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:237,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:238,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:239,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, PushesToFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:246,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:246,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:247,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:247,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:249,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:250,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:253,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:254,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:257,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, WrappingWorks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:266,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:268,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:268,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:271,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:271,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:274,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:274,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:276,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:278,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:278,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:282,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:282,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:289,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:289,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:291,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:291,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:294,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:294,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:298,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:298,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:301,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:302,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:306,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:306,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:307,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:309,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:313,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:315,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:315,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:316,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:320,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 321
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - TypeParam::Insert
    - TypeParam::transfer_cache
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, Plunder)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - max_batch_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t PickCoprimeBatchSize(size_t max_batch_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:346,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:349,1
    - Dst: tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:358,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:359,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:360,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:374,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:374,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: tcmalloc::tcmalloc_internal::BM_MixAndReturn
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:379,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:380,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:387,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:392,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:392,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:393,1
    - Dst: testing::SizeIs
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:393,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::Le
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::AnyNumber
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:395,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:397,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:402,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:404,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:405,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:406,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:407,1
    - Dst: testing::Le
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:407,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:408,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:411,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 412
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - testing::SizeIs
    - testing::AllOf
    - testing::AnyNumber
    - std::min
    - ASSERT_NE
    - EXPECT_CALL
    - ON_CALL
    - ASSERT_EQ
    - testing::Le
    - absl::MakeSpan
    - tcmalloc::tcmalloc_internal::BM_MixAndReturn
    - ASSERT_THAT
    - TypeParam::transfer_cache
    - std::vector::reserve
    - ASSERT_GT
    - std::vector::push_back
    - GTEST_SKIP
    - TypeParam::central_freelist
    - testing::Gt
    - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    - std::vector::data
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, b172283201)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:426,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:426,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:428,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedUnbiased)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:438,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:438,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:440,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 443
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Insert
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedInsert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:450,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:450,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:452,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Remove
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:460,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:460,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:462,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: TypeParam::Shrink
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - TypeParam::Shrink
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedShrink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:470,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:470,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:472,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: TypeParam::Grow
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 475
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Grow
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedGrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:483,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:489,1
    - Dst: ShardedTransferCacheManager::should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ShardedTransferCacheManager::should_use
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, DefaultConstructorDisables)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:494,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:500,1
    - Dst: FakeShardedTransferCacheEnvironment::sharded_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:503,1
    - Dst: FakeShardedTransferCacheEnvironment::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:506,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:508,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:508,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:509,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:509,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:511,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:511,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:514,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:518,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:525,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:525,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:526,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:527,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:531,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:531,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:532,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:533,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:534,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:535,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:536,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:536,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:537,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:537,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:538,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:544,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:545,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:546,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:547,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:547,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:548,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:549,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:550,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:551,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:552,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:553,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:553,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:560,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:561,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:562,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:563,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:563,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:564,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:565,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:565,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:566,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:567,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:567,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:568,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:568,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:570,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:570,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:578,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:579,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:580,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:581,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:581,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:582,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:583,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:584,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:585,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:586,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:586,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:587,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 589
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - Push
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - ASSERT_NE
    - should_use
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - EXPECT_FALSE
    - shard_initialized
    - absl::MakeSpan
    - EXPECT_TRUE
    - EXPECT_EQ
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - EXPECT_GT
    - TC_ASSERT_GT
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - Pop
    - FakeShardedTransferCacheEnvironment::central_freelist
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, MinimumNumShards)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:592,1
    - Dst: FakeShardedTransferCacheEnvironment::sharded_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:600,1
    - Dst: FakeShardedTransferCacheEnvironment::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:603,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:605,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:605,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:606,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:606,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:607,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:607,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:609,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:611,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:616,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:617,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:618,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:619,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:620,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:621,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:621,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:622,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:622,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:623,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:623,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:624,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:629,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:630,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:631,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:632,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:633,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:633,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:634,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:634,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:635,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:636,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:636,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:642,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:643,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:644,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:645,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:645,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:646,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:647,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:647,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:648,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:650,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:650,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:656,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:657,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:658,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:659,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:659,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:660,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:661,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:662,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:662,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:663,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 666
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - FakeShardedTransferCacheEnvironment::central_freelist
    - EXPECT_FALSE
    - shard_initialized
    - EXPECT_TRUE
    - EXPECT_EQ
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - EXPECT_GT
    - Push
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - ASSERT_NE
    - Pop
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, ShardsOnDemand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:706,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:713,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:728,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - IncreaseCacheCapacity
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, ResizeOccurs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:736,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:741,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:743,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:746,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:751,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:753,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:756,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:761,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:763,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:767,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, DoesNotLeakCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:783,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:785,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:791,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:798,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - count_batches
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - TypeParam::transfer_cache_manager
    - absl::Now
    - absl::Milliseconds
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:706,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:713,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:728,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - IncreaseCacheCapacity
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, ResizeOccurs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:736,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:741,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:743,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:746,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:751,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:753,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:756,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:761,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:763,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:767,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, DoesNotLeakCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:783,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:785,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:791,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:798,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - count_batches
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - TypeParam::transfer_cache_manager
    - absl::Now
    - absl::Milliseconds
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:53,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:54,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:54,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:63,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:67,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:67,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:69,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:74,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:76,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:81,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:83,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:90,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:91,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:91,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:93,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:98,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:100,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:105,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:107,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:115,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:115,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:117,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:121,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:123,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - EXPECT_LE
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, IsolatedSmoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:133,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:133,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:134,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:134,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:138,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:139,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:142,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:147,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:152,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:153,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:154,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:159,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:160,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:161,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:162,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:163,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:164,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:165,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:169,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:169,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:170,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:172,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 174
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::atomic::load
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - std::thread::join
    - std::atomic::store
    - TypeParam::central_freelist
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, ReadStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:182,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:183,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:183,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:185,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:187,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:187,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:188,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:190,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - GTEST_SKIP
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, SingleItemSmoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:196,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:197,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:197,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:199,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:200,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, FetchesFromFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:206,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:206,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:207,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:207,1
    - Dst: static_cast<FakeCentralFreeList&>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:211,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:211,1
    - Dst: subspan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:212,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:213,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:213,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:216,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:216,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:217,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:221,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:222,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - data
    - std::min<size_t>
    - EXPECT_EQ
    - size
    - TypeParam::transfer_cache
    - TypeParam::central_freelist
    - static_cast<FakeCentralFreeList&>
    - memset
    - TypeParam::Remove
    - subspan
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, PartialFetchFromFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:230,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:230,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:232,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:233,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:235,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:237,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:238,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:239,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, PushesToFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:246,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:246,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:247,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:247,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:249,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:250,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:253,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:254,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:257,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, WrappingWorks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:266,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:268,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:268,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:271,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:271,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:274,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:274,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:276,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:278,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:278,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:282,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:282,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:289,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:289,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:291,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:291,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:294,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:294,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:298,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:298,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:301,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:302,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:306,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:306,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:307,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:309,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:313,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:315,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:315,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:316,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:320,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 321
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - TypeParam::Insert
    - TypeParam::transfer_cache
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, Plunder)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - max_batch_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t PickCoprimeBatchSize(size_t max_batch_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:346,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:349,1
    - Dst: tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:358,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:359,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:360,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:374,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:374,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: tcmalloc::tcmalloc_internal::BM_MixAndReturn
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:379,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:380,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:387,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:392,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:392,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:393,1
    - Dst: testing::SizeIs
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:393,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::Le
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::AnyNumber
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:395,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:397,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:402,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:404,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:405,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:406,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:407,1
    - Dst: testing::Le
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:407,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:408,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:411,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 412
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - testing::SizeIs
    - testing::AllOf
    - testing::AnyNumber
    - std::min
    - ASSERT_NE
    - EXPECT_CALL
    - ON_CALL
    - ASSERT_EQ
    - testing::Le
    - absl::MakeSpan
    - tcmalloc::tcmalloc_internal::BM_MixAndReturn
    - ASSERT_THAT
    - TypeParam::transfer_cache
    - std::vector::reserve
    - ASSERT_GT
    - std::vector::push_back
    - GTEST_SKIP
    - TypeParam::central_freelist
    - testing::Gt
    - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    - std::vector::data
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, b172283201)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:426,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:426,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:428,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedUnbiased)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:438,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:438,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:440,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 443
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Insert
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedInsert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:450,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:450,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:452,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Remove
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:460,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:460,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:462,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: TypeParam::Shrink
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - TypeParam::Shrink
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedShrink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:470,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:470,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:472,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: TypeParam::Grow
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 475
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Grow
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedGrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:483,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:489,1
    - Dst: ShardedTransferCacheManager::should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ShardedTransferCacheManager::should_use
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, DefaultConstructorDisables)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:494,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:500,1
    - Dst: FakeShardedTransferCacheEnvironment::sharded_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:503,1
    - Dst: FakeShardedTransferCacheEnvironment::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:506,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:508,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:508,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:509,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:509,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:511,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:511,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:514,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:518,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:525,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:525,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:526,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:527,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:531,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:531,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:532,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:533,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:534,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:535,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:536,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:536,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:537,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:537,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:538,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:544,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:545,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:546,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:547,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:547,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:548,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:549,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:550,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:551,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:552,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:553,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:553,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:560,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:561,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:562,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:563,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:563,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:564,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:565,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:565,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:566,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:567,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:567,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:568,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:568,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:570,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:570,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:578,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:579,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:580,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:581,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:581,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:582,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:583,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:584,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:585,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:586,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:586,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:587,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 589
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - Push
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - ASSERT_NE
    - should_use
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - EXPECT_FALSE
    - shard_initialized
    - absl::MakeSpan
    - EXPECT_TRUE
    - EXPECT_EQ
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - EXPECT_GT
    - TC_ASSERT_GT
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - Pop
    - FakeShardedTransferCacheEnvironment::central_freelist
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, MinimumNumShards)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:592,1
    - Dst: FakeShardedTransferCacheEnvironment::sharded_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:600,1
    - Dst: FakeShardedTransferCacheEnvironment::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:603,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:605,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:605,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:606,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:606,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:607,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:607,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:609,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:611,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:616,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:617,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:618,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:619,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:620,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:621,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:621,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:622,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:622,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:623,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:623,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:624,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:629,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:630,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:631,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:632,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:633,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:633,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:634,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:634,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:635,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:636,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:636,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:642,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:643,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:644,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:645,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:645,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:646,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:647,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:647,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:648,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:650,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:650,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:656,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:657,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:658,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:659,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:659,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:660,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:661,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:662,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:662,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:663,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 666
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - FakeShardedTransferCacheEnvironment::central_freelist
    - EXPECT_FALSE
    - shard_initialized
    - EXPECT_TRUE
    - EXPECT_EQ
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - EXPECT_GT
    - Push
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - ASSERT_NE
    - Pop
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, ShardsOnDemand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:706,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:713,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:728,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - IncreaseCacheCapacity
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, ResizeOccurs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:736,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:741,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:743,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:746,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:751,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:753,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:756,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:761,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:763,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:767,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, DoesNotLeakCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:783,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:785,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:791,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:798,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - count_batches
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - TypeParam::transfer_cache_manager
    - absl::Now
    - absl::Milliseconds
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:706,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:713,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:728,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - IncreaseCacheCapacity
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, ResizeOccurs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:736,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:741,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:743,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:746,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:751,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:753,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:756,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:761,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:763,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:767,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, DoesNotLeakCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:783,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:785,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:791,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:798,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - count_batches
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - TypeParam::transfer_cache_manager
    - absl::Now
    - absl::Milliseconds
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:53,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:54,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:54,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:63,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:67,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:67,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:69,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:74,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:76,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:81,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:83,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:90,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:91,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:91,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:93,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:98,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:100,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:105,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:107,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:115,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:115,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:117,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:121,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:123,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - EXPECT_LE
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, IsolatedSmoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:133,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:133,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:134,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:134,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:138,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:139,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:142,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:147,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:152,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:153,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:154,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:159,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:160,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:161,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:162,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:163,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:164,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:165,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:169,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:169,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:170,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:172,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 174
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::atomic::load
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - std::thread::join
    - std::atomic::store
    - TypeParam::central_freelist
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, ReadStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:182,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:183,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:183,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:185,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:187,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:187,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:188,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:190,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - GTEST_SKIP
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, SingleItemSmoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:196,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:197,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:197,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:199,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:200,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, FetchesFromFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:206,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:206,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:207,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:207,1
    - Dst: static_cast<FakeCentralFreeList&>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:211,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:211,1
    - Dst: subspan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:212,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:213,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:213,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:216,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:216,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:217,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:221,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:222,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - data
    - std::min<size_t>
    - EXPECT_EQ
    - size
    - TypeParam::transfer_cache
    - TypeParam::central_freelist
    - static_cast<FakeCentralFreeList&>
    - memset
    - TypeParam::Remove
    - subspan
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, PartialFetchFromFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:230,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:230,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:232,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:233,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:235,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:237,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:238,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:239,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, PushesToFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:246,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:246,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:247,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:247,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:249,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:250,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:253,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:254,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:257,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, WrappingWorks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:266,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:268,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:268,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:271,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:271,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:274,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:274,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:276,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:278,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:278,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:282,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:282,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:289,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:289,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:291,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:291,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:294,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:294,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:298,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:298,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:301,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:302,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:306,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:306,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:307,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:309,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:313,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:315,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:315,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:316,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:320,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 321
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - TypeParam::Insert
    - TypeParam::transfer_cache
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, Plunder)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - max_batch_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t PickCoprimeBatchSize(size_t max_batch_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:346,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:349,1
    - Dst: tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:358,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:359,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:360,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:374,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:374,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: tcmalloc::tcmalloc_internal::BM_MixAndReturn
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:379,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:380,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:387,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:392,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:392,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:393,1
    - Dst: testing::SizeIs
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:393,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::Le
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::AnyNumber
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:395,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:397,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:402,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:404,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:405,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:406,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:407,1
    - Dst: testing::Le
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:407,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:408,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:411,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 412
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - testing::SizeIs
    - testing::AllOf
    - testing::AnyNumber
    - std::min
    - ASSERT_NE
    - EXPECT_CALL
    - ON_CALL
    - ASSERT_EQ
    - testing::Le
    - absl::MakeSpan
    - tcmalloc::tcmalloc_internal::BM_MixAndReturn
    - ASSERT_THAT
    - TypeParam::transfer_cache
    - std::vector::reserve
    - ASSERT_GT
    - std::vector::push_back
    - GTEST_SKIP
    - TypeParam::central_freelist
    - testing::Gt
    - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    - std::vector::data
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, b172283201)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:426,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:426,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:428,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedUnbiased)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:438,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:438,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:440,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 443
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Insert
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedInsert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:450,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:450,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:452,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Remove
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:460,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:460,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:462,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: TypeParam::Shrink
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - TypeParam::Shrink
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedShrink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:470,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:470,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:472,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: TypeParam::Grow
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 475
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Grow
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedGrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:483,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:489,1
    - Dst: ShardedTransferCacheManager::should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ShardedTransferCacheManager::should_use
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, DefaultConstructorDisables)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:494,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:500,1
    - Dst: FakeShardedTransferCacheEnvironment::sharded_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:503,1
    - Dst: FakeShardedTransferCacheEnvironment::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:506,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:508,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:508,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:509,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:509,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:511,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:511,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:514,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:518,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:525,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:525,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:526,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:527,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:531,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:531,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:532,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:533,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:534,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:535,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:536,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:536,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:537,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:537,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:538,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:544,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:545,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:546,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:547,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:547,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:548,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:549,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:550,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:551,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:552,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:553,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:553,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:560,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:561,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:562,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:563,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:563,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:564,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:565,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:565,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:566,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:567,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:567,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:568,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:568,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:570,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:570,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:578,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:579,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:580,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:581,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:581,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:582,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:583,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:584,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:585,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:586,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:586,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:587,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 589
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - Push
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - ASSERT_NE
    - should_use
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - EXPECT_FALSE
    - shard_initialized
    - absl::MakeSpan
    - EXPECT_TRUE
    - EXPECT_EQ
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - EXPECT_GT
    - TC_ASSERT_GT
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - Pop
    - FakeShardedTransferCacheEnvironment::central_freelist
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, MinimumNumShards)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:592,1
    - Dst: FakeShardedTransferCacheEnvironment::sharded_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:600,1
    - Dst: FakeShardedTransferCacheEnvironment::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:603,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:605,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:605,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:606,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:606,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:607,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:607,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:609,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:611,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:616,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:617,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:618,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:619,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:620,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:621,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:621,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:622,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:622,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:623,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:623,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:624,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:629,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:630,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:631,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:632,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:633,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:633,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:634,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:634,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:635,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:636,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:636,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:642,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:643,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:644,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:645,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:645,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:646,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:647,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:647,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:648,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:650,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:650,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:656,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:657,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:658,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:659,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:659,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:660,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:661,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:662,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:662,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:663,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 666
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - FakeShardedTransferCacheEnvironment::central_freelist
    - EXPECT_FALSE
    - shard_initialized
    - EXPECT_TRUE
    - EXPECT_EQ
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - EXPECT_GT
    - Push
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - ASSERT_NE
    - Pop
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, ShardsOnDemand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:706,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:713,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:728,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - IncreaseCacheCapacity
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, ResizeOccurs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:736,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:741,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:743,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:746,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:751,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:753,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:756,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:761,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:763,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:767,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, DoesNotLeakCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:783,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:785,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:791,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:798,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - count_batches
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - TypeParam::transfer_cache_manager
    - absl::Now
    - absl::Milliseconds
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:706,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:713,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:728,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - IncreaseCacheCapacity
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, ResizeOccurs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:736,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:741,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:743,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:746,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:751,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:753,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:756,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:761,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:763,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:767,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, DoesNotLeakCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:783,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:785,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:791,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:798,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - count_batches
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - TypeParam::transfer_cache_manager
    - absl::Now
    - absl::Milliseconds
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:53,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:54,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:54,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:63,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:67,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:67,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:69,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:74,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:76,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:81,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:83,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:90,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:91,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:91,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:93,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:98,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:100,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:105,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:107,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:115,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:115,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:117,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:121,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:123,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - EXPECT_LE
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, IsolatedSmoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:133,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:133,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:134,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:134,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:138,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:139,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:142,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:147,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:152,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:153,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:154,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:159,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:160,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:161,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:162,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:163,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:164,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:165,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:169,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:169,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:170,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:172,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 174
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::atomic::load
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - std::thread::join
    - std::atomic::store
    - TypeParam::central_freelist
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, ReadStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:182,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:183,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:183,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:185,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:187,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:187,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:188,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:190,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - GTEST_SKIP
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, SingleItemSmoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:196,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:197,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:197,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:199,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:200,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, FetchesFromFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:206,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:206,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:207,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:207,1
    - Dst: static_cast<FakeCentralFreeList&>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:211,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:211,1
    - Dst: subspan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:212,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:213,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:213,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:216,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:216,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:217,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:221,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:222,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - data
    - std::min<size_t>
    - EXPECT_EQ
    - size
    - TypeParam::transfer_cache
    - TypeParam::central_freelist
    - static_cast<FakeCentralFreeList&>
    - memset
    - TypeParam::Remove
    - subspan
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, PartialFetchFromFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:230,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:230,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:232,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:233,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:235,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:237,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:238,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:239,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, PushesToFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:246,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:246,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:247,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:247,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:249,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:250,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:253,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:254,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:257,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, WrappingWorks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:266,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:268,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:268,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:271,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:271,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:274,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:274,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:276,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:278,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:278,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:282,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:282,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:289,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:289,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:291,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:291,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:294,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:294,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:298,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:298,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:301,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:302,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:306,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:306,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:307,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:309,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:313,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:315,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:315,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:316,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:320,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 321
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - TypeParam::Insert
    - TypeParam::transfer_cache
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, Plunder)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - max_batch_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t PickCoprimeBatchSize(size_t max_batch_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:346,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:349,1
    - Dst: tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:358,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:359,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:360,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:374,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:374,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: tcmalloc::tcmalloc_internal::BM_MixAndReturn
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:379,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:380,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:387,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:392,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:392,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:393,1
    - Dst: testing::SizeIs
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:393,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::Le
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::AnyNumber
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:395,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:397,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:402,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:404,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:405,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:406,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:407,1
    - Dst: testing::Le
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:407,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:408,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:411,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 412
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - testing::SizeIs
    - testing::AllOf
    - testing::AnyNumber
    - std::min
    - ASSERT_NE
    - EXPECT_CALL
    - ON_CALL
    - ASSERT_EQ
    - testing::Le
    - absl::MakeSpan
    - tcmalloc::tcmalloc_internal::BM_MixAndReturn
    - ASSERT_THAT
    - TypeParam::transfer_cache
    - std::vector::reserve
    - ASSERT_GT
    - std::vector::push_back
    - GTEST_SKIP
    - TypeParam::central_freelist
    - testing::Gt
    - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    - std::vector::data
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, b172283201)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:426,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:426,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:428,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedUnbiased)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:438,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:438,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:440,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 443
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Insert
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedInsert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:450,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:450,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:452,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Remove
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:460,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:460,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:462,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: TypeParam::Shrink
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - TypeParam::Shrink
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedShrink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:470,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:470,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:472,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: TypeParam::Grow
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 475
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Grow
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedGrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:483,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:489,1
    - Dst: ShardedTransferCacheManager::should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ShardedTransferCacheManager::should_use
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, DefaultConstructorDisables)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:494,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:500,1
    - Dst: FakeShardedTransferCacheEnvironment::sharded_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:503,1
    - Dst: FakeShardedTransferCacheEnvironment::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:506,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:508,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:508,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:509,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:509,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:511,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:511,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:514,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:518,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:525,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:525,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:526,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:527,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:531,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:531,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:532,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:533,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:534,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:535,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:536,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:536,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:537,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:537,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:538,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:544,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:545,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:546,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:547,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:547,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:548,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:549,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:550,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:551,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:552,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:553,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:553,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:560,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:561,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:562,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:563,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:563,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:564,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:565,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:565,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:566,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:567,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:567,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:568,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:568,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:570,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:570,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:578,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:579,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:580,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:581,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:581,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:582,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:583,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:584,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:585,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:586,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:586,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:587,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 589
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - Push
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - ASSERT_NE
    - should_use
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - EXPECT_FALSE
    - shard_initialized
    - absl::MakeSpan
    - EXPECT_TRUE
    - EXPECT_EQ
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - EXPECT_GT
    - TC_ASSERT_GT
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - Pop
    - FakeShardedTransferCacheEnvironment::central_freelist
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, MinimumNumShards)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:592,1
    - Dst: FakeShardedTransferCacheEnvironment::sharded_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:600,1
    - Dst: FakeShardedTransferCacheEnvironment::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:603,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:605,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:605,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:606,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:606,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:607,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:607,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:609,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:611,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:616,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:617,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:618,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:619,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:620,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:621,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:621,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:622,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:622,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:623,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:623,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:624,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:629,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:630,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:631,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:632,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:633,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:633,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:634,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:634,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:635,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:636,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:636,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:642,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:643,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:644,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:645,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:645,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:646,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:647,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:647,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:648,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:650,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:650,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:656,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:657,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:658,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:659,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:659,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:660,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:661,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:662,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:662,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:663,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 666
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - FakeShardedTransferCacheEnvironment::central_freelist
    - EXPECT_FALSE
    - shard_initialized
    - EXPECT_TRUE
    - EXPECT_EQ
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - EXPECT_GT
    - Push
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - ASSERT_NE
    - Pop
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, ShardsOnDemand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:706,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:713,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:728,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - IncreaseCacheCapacity
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, ResizeOccurs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:736,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:741,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:743,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:746,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:751,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:753,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:756,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:761,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:763,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:767,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, DoesNotLeakCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:783,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:785,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:791,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:798,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - count_batches
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - TypeParam::transfer_cache_manager
    - absl::Now
    - absl::Milliseconds
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:706,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:713,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:728,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - IncreaseCacheCapacity
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, ResizeOccurs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:736,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:741,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:743,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:746,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:751,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:753,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:756,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:761,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:763,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:767,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, DoesNotLeakCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:783,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:785,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:791,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:798,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - count_batches
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - TypeParam::transfer_cache_manager
    - absl::Now
    - absl::Milliseconds
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:53,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:54,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:54,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:63,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:67,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:67,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:69,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:74,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:76,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:81,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:83,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:90,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:91,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:91,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:93,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:98,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:100,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:105,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:107,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:115,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:115,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:117,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:121,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:123,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - EXPECT_LE
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, IsolatedSmoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:133,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:133,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:134,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:134,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:138,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:139,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:142,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:147,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:152,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:153,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:154,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:159,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:160,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:161,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:162,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:163,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:164,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:165,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:169,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:169,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:170,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:172,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 174
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::atomic::load
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - std::thread::join
    - std::atomic::store
    - TypeParam::central_freelist
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, ReadStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:182,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:183,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:183,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:185,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:187,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:187,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:188,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:190,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - GTEST_SKIP
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, SingleItemSmoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:196,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:197,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:197,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:199,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:200,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, FetchesFromFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:206,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:206,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:207,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:207,1
    - Dst: static_cast<FakeCentralFreeList&>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:211,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:211,1
    - Dst: subspan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:212,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:213,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:213,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:216,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:216,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:217,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:221,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:222,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - data
    - std::min<size_t>
    - EXPECT_EQ
    - size
    - TypeParam::transfer_cache
    - TypeParam::central_freelist
    - static_cast<FakeCentralFreeList&>
    - memset
    - TypeParam::Remove
    - subspan
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, PartialFetchFromFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:230,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:230,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:232,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:233,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:235,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:237,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:238,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:239,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, PushesToFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:246,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:246,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:247,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:247,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:249,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:250,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:253,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:254,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:257,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, WrappingWorks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:266,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:268,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:268,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:271,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:271,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:274,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:274,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:276,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:278,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:278,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:282,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:282,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:289,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:289,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:291,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:291,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:294,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:294,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:298,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:298,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:301,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:302,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:306,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:306,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:307,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:309,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:313,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:315,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:315,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:316,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:320,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 321
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - TypeParam::Insert
    - TypeParam::transfer_cache
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, Plunder)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - max_batch_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t PickCoprimeBatchSize(size_t max_batch_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:346,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:349,1
    - Dst: tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:358,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:359,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:360,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:374,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:374,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: tcmalloc::tcmalloc_internal::BM_MixAndReturn
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:379,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:380,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:387,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:392,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:392,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:393,1
    - Dst: testing::SizeIs
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:393,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::Le
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::AnyNumber
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:395,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:397,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:402,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:404,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:405,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:406,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:407,1
    - Dst: testing::Le
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:407,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:408,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:411,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 412
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - testing::SizeIs
    - testing::AllOf
    - testing::AnyNumber
    - std::min
    - ASSERT_NE
    - EXPECT_CALL
    - ON_CALL
    - ASSERT_EQ
    - testing::Le
    - absl::MakeSpan
    - tcmalloc::tcmalloc_internal::BM_MixAndReturn
    - ASSERT_THAT
    - TypeParam::transfer_cache
    - std::vector::reserve
    - ASSERT_GT
    - std::vector::push_back
    - GTEST_SKIP
    - TypeParam::central_freelist
    - testing::Gt
    - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    - std::vector::data
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, b172283201)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:426,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:426,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:428,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedUnbiased)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:438,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:438,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:440,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 443
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Insert
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedInsert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:450,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:450,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:452,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Remove
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:460,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:460,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:462,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: TypeParam::Shrink
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - TypeParam::Shrink
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedShrink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:470,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:470,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:472,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: TypeParam::Grow
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 475
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Grow
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedGrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:483,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:489,1
    - Dst: ShardedTransferCacheManager::should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ShardedTransferCacheManager::should_use
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, DefaultConstructorDisables)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:494,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:500,1
    - Dst: FakeShardedTransferCacheEnvironment::sharded_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:503,1
    - Dst: FakeShardedTransferCacheEnvironment::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:506,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:508,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:508,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:509,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:509,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:511,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:511,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:514,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:518,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:525,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:525,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:526,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:527,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:531,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:531,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:532,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:533,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:534,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:535,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:536,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:536,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:537,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:537,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:538,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:544,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:545,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:546,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:547,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:547,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:548,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:549,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:550,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:551,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:552,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:553,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:553,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:560,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:561,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:562,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:563,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:563,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:564,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:565,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:565,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:566,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:567,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:567,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:568,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:568,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:570,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:570,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:578,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:579,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:580,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:581,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:581,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:582,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:583,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:584,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:585,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:586,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:586,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:587,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 589
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - Push
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - ASSERT_NE
    - should_use
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - EXPECT_FALSE
    - shard_initialized
    - absl::MakeSpan
    - EXPECT_TRUE
    - EXPECT_EQ
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - EXPECT_GT
    - TC_ASSERT_GT
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - Pop
    - FakeShardedTransferCacheEnvironment::central_freelist
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, MinimumNumShards)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:592,1
    - Dst: FakeShardedTransferCacheEnvironment::sharded_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:600,1
    - Dst: FakeShardedTransferCacheEnvironment::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:603,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:605,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:605,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:606,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:606,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:607,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:607,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:609,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:611,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:616,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:617,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:618,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:619,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:620,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:621,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:621,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:622,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:622,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:623,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:623,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:624,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:629,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:630,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:631,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:632,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:633,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:633,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:634,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:634,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:635,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:636,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:636,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:642,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:643,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:644,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:645,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:645,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:646,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:647,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:647,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:648,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:650,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:650,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:656,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:657,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:658,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:659,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:659,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:660,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:661,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:662,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:662,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:663,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 666
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - FakeShardedTransferCacheEnvironment::central_freelist
    - EXPECT_FALSE
    - shard_initialized
    - EXPECT_TRUE
    - EXPECT_EQ
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - EXPECT_GT
    - Push
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - ASSERT_NE
    - Pop
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, ShardsOnDemand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:706,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:713,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:728,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - IncreaseCacheCapacity
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, ResizeOccurs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:736,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:741,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:743,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:746,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:751,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:753,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:756,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:761,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:763,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:767,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, DoesNotLeakCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:783,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:785,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:791,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:798,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - count_batches
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - TypeParam::transfer_cache_manager
    - absl::Now
    - absl::Milliseconds
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:706,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:713,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:728,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - IncreaseCacheCapacity
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, ResizeOccurs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:736,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:741,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:743,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:746,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:751,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:753,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:756,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:761,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:763,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:767,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, DoesNotLeakCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:783,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:785,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:791,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:798,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - count_batches
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - TypeParam::transfer_cache_manager
    - absl::Now
    - absl::Milliseconds
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:53,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:54,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:54,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:63,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:67,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:67,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:69,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:74,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:76,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:81,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:83,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:90,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:91,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:91,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:93,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:98,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:100,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:105,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:107,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:115,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:115,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:117,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:121,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:123,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - EXPECT_LE
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, IsolatedSmoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:133,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:133,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:134,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:134,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:138,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:139,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:142,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:147,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:152,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:153,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:154,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:159,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:160,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:161,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:162,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:163,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:164,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:165,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:169,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:169,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:170,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:172,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 174
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::atomic::load
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - std::thread::join
    - std::atomic::store
    - TypeParam::central_freelist
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, ReadStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:182,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:183,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:183,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:185,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:187,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:187,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:188,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:190,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - GTEST_SKIP
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, SingleItemSmoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:196,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:197,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:197,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:199,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:200,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, FetchesFromFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:206,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:206,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:207,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:207,1
    - Dst: static_cast<FakeCentralFreeList&>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:211,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:211,1
    - Dst: subspan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:212,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:213,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:213,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:216,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:216,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:217,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:221,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:222,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - data
    - std::min<size_t>
    - EXPECT_EQ
    - size
    - TypeParam::transfer_cache
    - TypeParam::central_freelist
    - static_cast<FakeCentralFreeList&>
    - memset
    - TypeParam::Remove
    - subspan
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, PartialFetchFromFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:230,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:230,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:232,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:233,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:235,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:237,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:238,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:239,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - EXPECT_EQ
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, PushesToFreelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:246,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:246,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:247,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:247,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:249,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:250,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:253,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:254,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:257,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - TypeParam::central_freelist
    - TypeParam::Insert
    - TypeParam::transfer_cache
    - TypeParam::Remove
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, WrappingWorks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:266,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:268,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:268,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:271,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:271,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:274,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:274,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:276,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:278,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:278,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:282,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:282,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:289,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:289,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:291,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:291,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:294,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:294,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:298,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:298,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:301,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:302,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:306,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:306,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:307,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:309,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:313,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:315,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:315,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:316,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:320,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 321
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - TypeParam::Insert
    - TypeParam::transfer_cache
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, Plunder)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - max_batch_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t PickCoprimeBatchSize(size_t max_batch_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:346,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:349,1
    - Dst: tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:358,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:359,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:360,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:374,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:374,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: tcmalloc::tcmalloc_internal::BM_MixAndReturn
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:376,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:379,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:380,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:387,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:392,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:392,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:393,1
    - Dst: testing::SizeIs
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:393,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::Le
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:394,1
    - Dst: testing::AnyNumber
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:395,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:397,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:402,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:404,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:405,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:406,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:407,1
    - Dst: testing::Le
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:407,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:408,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:411,1
    - Dst: TypeParam::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 412
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - testing::SizeIs
    - testing::AllOf
    - testing::AnyNumber
    - std::min
    - ASSERT_NE
    - EXPECT_CALL
    - ON_CALL
    - ASSERT_EQ
    - testing::Le
    - absl::MakeSpan
    - tcmalloc::tcmalloc_internal::BM_MixAndReturn
    - ASSERT_THAT
    - TypeParam::transfer_cache
    - std::vector::reserve
    - ASSERT_GT
    - std::vector::push_back
    - GTEST_SKIP
    - TypeParam::central_freelist
    - testing::Gt
    - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    - std::vector::data
    - InsertRange
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(TransferCacheTest, b172283201)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:426,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:426,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:428,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:429,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedUnbiased)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:438,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:438,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:440,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: TypeParam::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:441,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 443
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Insert
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedInsert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:450,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:450,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:452,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: TypeParam::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:453,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Remove
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:460,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:460,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:462,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: TypeParam::Shrink
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:463,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - TypeParam::Shrink
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedShrink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:470,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:470,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:472,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: TypeParam::Grow
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:473,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 475
    functionName: tcmalloc::tcmalloc_internal::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Now
    - TypeParam::Grow
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(FuzzTest, MultiThreadedBiasedGrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:483,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:489,1
    - Dst: ShardedTransferCacheManager::should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ShardedTransferCacheManager::should_use
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, DefaultConstructorDisables)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:494,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:500,1
    - Dst: FakeShardedTransferCacheEnvironment::sharded_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:503,1
    - Dst: FakeShardedTransferCacheEnvironment::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:506,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:508,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:508,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:509,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:509,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:511,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:511,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:514,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:518,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:525,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:525,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:526,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:527,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:531,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:531,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:532,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:533,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:534,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:535,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:536,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:536,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:537,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:537,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:538,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:544,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:545,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:546,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:547,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:547,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:548,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:549,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:550,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:551,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:552,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:553,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:553,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:560,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:561,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:562,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:563,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:563,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:564,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:565,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:565,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:566,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:567,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:567,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:568,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:568,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:570,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:570,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:578,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:579,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:580,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:581,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:581,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:582,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:583,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:584,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:585,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:586,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:586,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:587,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 589
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - Push
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - ASSERT_NE
    - should_use
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - EXPECT_FALSE
    - shard_initialized
    - absl::MakeSpan
    - EXPECT_TRUE
    - EXPECT_EQ
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - EXPECT_GT
    - TC_ASSERT_GT
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - Pop
    - FakeShardedTransferCacheEnvironment::central_freelist
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, MinimumNumShards)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:592,1
    - Dst: FakeShardedTransferCacheEnvironment::sharded_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:600,1
    - Dst: FakeShardedTransferCacheEnvironment::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:603,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:605,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:605,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:606,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:606,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:607,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:607,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:609,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:611,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:616,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:617,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:618,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:619,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:620,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:621,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:621,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:622,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:622,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:623,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:623,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:624,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:629,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:630,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:631,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:632,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:633,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:633,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:634,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:634,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:635,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:636,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:636,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:642,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:643,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:644,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:645,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:645,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:646,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:647,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:647,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:648,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:650,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:650,1
    - Dst: FakeShardedTransferCacheEnvironment::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:656,1
    - Dst: FakeShardedTransferCacheEnvironment::SetCurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:657,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:658,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:659,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:659,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:660,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:661,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:662,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:662,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:663,1
    - Dst: FakeShardedTransferCacheEnvironment::MetadataAllocated
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 666
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - FakeShardedTransferCacheEnvironment::central_freelist
    - EXPECT_FALSE
    - shard_initialized
    - EXPECT_TRUE
    - EXPECT_EQ
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - EXPECT_GT
    - Push
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - tcmalloc_internal::subtle::percpu::IsFast
    - tc_length
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - ASSERT_NE
    - Pop
    linkageType: ''
    returnType: void
    signature: void TEST(ShardedTransferCacheManagerTest, ShardsOnDemand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:706,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:713,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:728,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - IncreaseCacheCapacity
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, ResizeOccurs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:736,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:741,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:743,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:746,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:751,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:753,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:756,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:761,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:763,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:767,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, DoesNotLeakCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:783,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:785,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:791,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:798,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - count_batches
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - TypeParam::transfer_cache_manager
    - absl::Now
    - absl::Milliseconds
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:706,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:709,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:710,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:711,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:713,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:716,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:718,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:719,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:724,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:725,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:726,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:728,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - IncreaseCacheCapacity
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, ResizeOccurs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:736,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:739,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:740,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:741,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:743,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:744,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:746,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:749,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:750,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:751,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:753,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:754,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:756,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:759,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:760,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:761,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:763,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:764,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:767,1
    - Dst: MockMemoryInterface::VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - MockMemoryInterface::VerifyAndClear
    - EXPECT_CALL
    - CanIncreaseCapacity
    - ShrinkCache
    - Return
    - TryResizingCaches
    linkageType: ''
    returnType: void
    signature: void TEST(RealTransferCacheTest, DoesNotLeakCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:783,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:785,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:791,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: TypeParam::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:794,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:797,1
    - Dst: TypeParam::transfer_cache_manager
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:798,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:799,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    - Dst: count_batches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_test.cc:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    functionUses: 0
    functionsReached:
    - count_batches
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - EXPECT_EQ
    - TypeParam::transfer_cache_manager
    - absl::Now
    - absl::Milliseconds
    - TypeParam::RandomlyPoke
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Static
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Static()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/static_vars.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: '& central_freelist(int size_class)'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached:
    - transfer_cache
    linkageType: ''
    returnType: CentralFreeList
    signature: CentralFreeList & central_freelist(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: '& transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TransferCacheManager
    signature: TransferCacheManager & transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '& sharded_transfer_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ShardedTransferCacheManager
    signature: ShardedTransferCacheManager & sharded_transfer_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '& sizemap()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SizeMap
    signature: SizeMap & sizemap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: '& cpu_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CpuCache
    signature: CpuCache & cpu_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& peak_heap_tracker()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PeakHeapTracker
    signature: PeakHeapTracker & peak_heap_tracker()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: '& numa_topology()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: "&\n  system_allocator()"
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SystemAllocator<NumaTopology<kNumaPartitions, kNumBaseClasses>>
    signature: "SystemAllocator<NumaTopology<kNumaPartitions, kNumBaseClasses>> &\n
      \ system_allocator()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '& arena()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena & arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PageAllocator*>
      Src: /src/tcmalloc/tcmalloc/static_vars.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: '& page_allocator()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<PageAllocator*>
    linkageType: ''
    returnType: PageAllocator
    signature: PageAllocator & page_allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: '& pagemap()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PageMap
    signature: PageMap & pagemap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: '& guardedpage_allocator()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GuardedPageAllocator
    signature: GuardedPageAllocator & guardedpage_allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: "&\n  sampledallocation_allocator()"
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MetadataObjectAllocator<SampledAllocation>
    signature: "MetadataObjectAllocator<SampledAllocation> &\n  sampledallocation_allocator()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: '& span_allocator()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MetadataObjectAllocator<Span>
    signature: MetadataObjectAllocator<Span> & span_allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: '& threadcache_allocator()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MetadataObjectAllocator<ThreadCache>
    signature: MetadataObjectAllocator<ThreadCache> & threadcache_allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: '& sampled_allocation_recorder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SampledAllocationRecorder
    signature: SampledAllocationRecorder & sampled_allocation_recorder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: '& per_size_class_counts()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerSizeClassCounts
    signature: PerSizeClassCounts & per_size_class_counts()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: "&\n  linked_sample_allocator()"
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MetadataObjectAllocator<StackTraceTable::LinkedSample>
    signature: "MetadataObjectAllocator<StackTraceTable::LinkedSample> &\n  linked_sample_allocator()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/static_vars.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: CpuCacheActive
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 15
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void CpuCacheActive()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/static_vars.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: ActivateCpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 3
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void ActivateCpuCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/static_vars.h:185,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/static_vars.h:185,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/static_vars.h:186,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/static_vars.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: HaveHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 9
    functionsReached:
    - empty
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void HaveHooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: '& gwp_asan_state()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GwpAsanState
    signature: GwpAsanState & gwp_asan_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: PageAllocatorStorage
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageAllocatorStorage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/static_vars.h:256,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/static_vars.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: Static
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached:
    - load
    - IsInited
    linkageType: ''
    returnType: bool
    signature: bool Static
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/static_vars.h:260,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/static_vars.h:261,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/static_vars.h:261,1
    - Dst: SlowInitIfNecessary
      Src: /src/tcmalloc/tcmalloc/static_vars.h:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: Static
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached:
    - SlowInitIfNecessary
    - IsInited
    - InitIfNecessary
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void Static
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/static_vars.h:289,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/static_vars.h:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/static_vars.h:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/static_vars.h:294,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/static_vars.h:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - num_bytes
    - reason
    argTypes:
    - size_t
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 312
    functionName: ConstantRatePageAllocatorReleaser::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached:
    - Length
    - page_allocator
    - BytesToLengthCeil
    - TC_ASSERT_GT
    linkageType: ''
    returnType: size_t
    signature: size_t Release(size_t num_bytes, PageReleaseReason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::FakeStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - class_size
    - pages
    - num_objects_to_move
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: void
    signature: void Init(size_t class_size, size_t pages, size_t num_objects_to_move)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_now
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t clock_now() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:44,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double clock_frequency() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:47,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AdvanceClock
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void AdvanceClock(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length class_to_pages(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:56,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - batch
    - spans
    - expected_size_class
    argTypes:
    - absl::Span<void*>
    - Span**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - absl::Span<void*>::size
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
    linkageType: ''
    returnType: void
    signature: "void MapObjectsToSpans(absl::Span<void*> batch, Span** spans,\n                         int
      expected_size_class)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:62,1
    - Dst: lower_bound
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:65,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:66,1
    - Dst: auto::second::span::last_page
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 1
    functionsReached:
    - auto::second::span::last_page
    - PageIdContaining
    - begin
    - lower_bound
    linkageType: ''
    returnType: Span
    signature: Span * MapObjectToSpan(const void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:80,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:80,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:80,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:81,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:83,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:83,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - objects_per_span
    - pages_per_span
    argTypes:
    - size_t
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - emplace
    - Range
    - Span::Span
    - PageIdContaining
    - std::align_val_t
    - ::operator new
    - Length::in_bytes
    linkageType: ''
    returnType: Span
    signature: "Span * AllocateSpan(int, size_t objects_per_span,\n                                   Length
      pages_per_span)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:100,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:100,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:101,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:101,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:102,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:107,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:107,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - free_spans
    argTypes:
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - erase
    - find
    - EXPECT_NE
    - start_address
    - end
    - ::operator delete
    - std::align_val_t
    - first_page
    linkageType: ''
    returnType: void
    signature: void DeallocateSpans(size_t, absl::Span<Span*> free_spans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:129,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:130,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:132,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:133,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:135,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:136,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:138,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:141,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:144,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:147,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:150,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:153,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:156,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::RawMockStaticForwarder::RawMockStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
    - ON_CALL
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
    linkageType: ''
    returnType: void
    signature: void RawMockStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:193,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::objects_per_span
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: size_t
    signature: size_t objects_per_span()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::batch_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: size_t
    signature: size_t batch_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:200,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - class_size
    - pages
    - num_objects_to_move
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::FakeCentralFreeListEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - forwarder
    - Init
    linkageType: ''
    returnType: void
    signature: "void FakeCentralFreeListEnvironment(size_t class_size, size_t pages,\n
      \                                         size_t num_objects_to_move)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:204,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: ~FakeCentralFreeListEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - length
    linkageType: ''
    returnType: void
    signature: void ~FakeCentralFreeListEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: '& central_freelist()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CentralFreeList
    signature: CentralFreeList & central_freelist()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::FakeStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - class_size
    - pages
    - num_objects_to_move
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 1
    functionsReached:
    - Length
    linkageType: ''
    returnType: void
    signature: void Init(size_t class_size, size_t pages, size_t num_objects_to_move)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_now
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t clock_now() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:44,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double clock_frequency() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:47,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AdvanceClock
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void AdvanceClock(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length class_to_pages(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:56,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - batch
    - spans
    - expected_size_class
    argTypes:
    - absl::Span<void*>
    - Span**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 1
    functionsReached:
    - absl::Span<void*>::size
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
    linkageType: ''
    returnType: void
    signature: "void MapObjectsToSpans(absl::Span<void*> batch, Span** spans,\n                         int
      expected_size_class)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:62,1
    - Dst: lower_bound
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:65,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:66,1
    - Dst: auto::second::span::last_page
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 2
    functionsReached:
    - auto::second::span::last_page
    - PageIdContaining
    - begin
    - lower_bound
    linkageType: ''
    returnType: Span
    signature: Span * MapObjectToSpan(const void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:80,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:80,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:80,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:81,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:83,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:83,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - objects_per_span
    - pages_per_span
    argTypes:
    - size_t
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 1
    functionsReached:
    - emplace
    - Range
    - Span::Span
    - PageIdContaining
    - std::align_val_t
    - ::operator new
    - Length::in_bytes
    linkageType: ''
    returnType: Span
    signature: "Span * AllocateSpan(int, size_t objects_per_span,\n                                   Length
      pages_per_span)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:100,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:100,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:101,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:101,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:102,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:107,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:107,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - free_spans
    argTypes:
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 1
    functionsReached:
    - erase
    - find
    - EXPECT_NE
    - start_address
    - end
    - ::operator delete
    - std::align_val_t
    - first_page
    linkageType: ''
    returnType: void
    signature: void DeallocateSpans(size_t, absl::Span<Span*> free_spans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:129,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:130,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:132,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:133,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:135,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:136,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:138,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:141,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:144,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:147,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:150,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:153,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:156,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::RawMockStaticForwarder::RawMockStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
    - ON_CALL
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
    linkageType: ''
    returnType: void
    signature: void RawMockStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:193,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::objects_per_span
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: size_t
    signature: size_t objects_per_span()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::batch_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: size_t
    signature: size_t batch_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:200,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - class_size
    - pages
    - num_objects_to_move
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::FakeCentralFreeListEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - forwarder
    - Init
    linkageType: ''
    returnType: void
    signature: "void FakeCentralFreeListEnvironment(size_t class_size, size_t pages,\n
      \                                         size_t num_objects_to_move)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:204,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: ~FakeCentralFreeListEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - length
    linkageType: ''
    returnType: void
    signature: void ~FakeCentralFreeListEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: '& central_freelist()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CentralFreeList
    signature: CentralFreeList & central_freelist()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::FakeStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - class_size
    - pages
    - num_objects_to_move
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 2
    functionsReached:
    - Length
    linkageType: ''
    returnType: void
    signature: void Init(size_t class_size, size_t pages, size_t num_objects_to_move)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_now
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t clock_now() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:44,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double clock_frequency() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:47,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AdvanceClock
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void AdvanceClock(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length class_to_pages(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:56,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - batch
    - spans
    - expected_size_class
    argTypes:
    - absl::Span<void*>
    - Span**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 2
    functionsReached:
    - absl::Span<void*>::size
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
    linkageType: ''
    returnType: void
    signature: "void MapObjectsToSpans(absl::Span<void*> batch, Span** spans,\n                         int
      expected_size_class)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:62,1
    - Dst: lower_bound
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:65,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:66,1
    - Dst: auto::second::span::last_page
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 3
    functionsReached:
    - auto::second::span::last_page
    - PageIdContaining
    - begin
    - lower_bound
    linkageType: ''
    returnType: Span
    signature: Span * MapObjectToSpan(const void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:80,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:80,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:80,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:81,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:83,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:83,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - objects_per_span
    - pages_per_span
    argTypes:
    - size_t
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 2
    functionsReached:
    - emplace
    - Range
    - Span::Span
    - PageIdContaining
    - std::align_val_t
    - ::operator new
    - Length::in_bytes
    linkageType: ''
    returnType: Span
    signature: "Span * AllocateSpan(int, size_t objects_per_span,\n                                   Length
      pages_per_span)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:100,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:100,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:101,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:101,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:102,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:107,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:107,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - free_spans
    argTypes:
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 2
    functionsReached:
    - erase
    - find
    - EXPECT_NE
    - start_address
    - end
    - ::operator delete
    - std::align_val_t
    - first_page
    linkageType: ''
    returnType: void
    signature: void DeallocateSpans(size_t, absl::Span<Span*> free_spans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:129,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:130,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:132,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:133,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:135,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:136,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:138,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:141,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:144,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:147,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:150,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:153,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:156,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::RawMockStaticForwarder::RawMockStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
    - ON_CALL
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
    linkageType: ''
    returnType: void
    signature: void RawMockStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:193,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::objects_per_span
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: size_t
    signature: size_t objects_per_span()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::batch_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: size_t
    signature: size_t batch_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:200,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - class_size
    - pages
    - num_objects_to_move
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::FakeCentralFreeListEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - forwarder
    - Init
    linkageType: ''
    returnType: void
    signature: "void FakeCentralFreeListEnvironment(size_t class_size, size_t pages,\n
      \                                         size_t num_objects_to_move)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:204,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: ~FakeCentralFreeListEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - length
    linkageType: ''
    returnType: void
    signature: void ~FakeCentralFreeListEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: '& central_freelist()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CentralFreeList
    signature: CentralFreeList & central_freelist()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::FakeStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - class_size
    - pages
    - num_objects_to_move
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 3
    functionsReached:
    - Length
    linkageType: ''
    returnType: void
    signature: void Init(size_t class_size, size_t pages, size_t num_objects_to_move)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_now
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t clock_now() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:44,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double clock_frequency() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:47,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AdvanceClock
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void AdvanceClock(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t class_to_size(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length class_to_pages(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_objects_to_move() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:56,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - batch
    - spans
    - expected_size_class
    argTypes:
    - absl::Span<void*>
    - Span**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 3
    functionsReached:
    - absl::Span<void*>::size
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
    linkageType: ''
    returnType: void
    signature: "void MapObjectsToSpans(absl::Span<void*> batch, Span** spans,\n                         int
      expected_size_class)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:62,1
    - Dst: lower_bound
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:65,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:66,1
    - Dst: auto::second::span::last_page
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 4
    functionsReached:
    - auto::second::span::last_page
    - PageIdContaining
    - begin
    - lower_bound
    linkageType: ''
    returnType: Span
    signature: Span * MapObjectToSpan(const void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:80,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:80,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:80,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:81,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:83,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:83,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - objects_per_span
    - pages_per_span
    argTypes:
    - size_t
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 3
    functionsReached:
    - emplace
    - Range
    - Span::Span
    - PageIdContaining
    - std::align_val_t
    - ::operator new
    - Length::in_bytes
    linkageType: ''
    returnType: Span
    signature: "Span * AllocateSpan(int, size_t objects_per_span,\n                                   Length
      pages_per_span)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:100,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:100,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:101,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:101,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:102,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:107,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:107,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - free_spans
    argTypes:
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 3
    functionsReached:
    - erase
    - find
    - EXPECT_NE
    - start_address
    - end
    - ::operator delete
    - std::align_val_t
    - first_page
    linkageType: ''
    returnType: void
    signature: void DeallocateSpans(size_t, absl::Span<Span*> free_spans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:129,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:130,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:132,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:133,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:135,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:136,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:138,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:141,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:144,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:147,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:150,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:153,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:156,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::RawMockStaticForwarder::RawMockStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
    - ON_CALL
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
    linkageType: ''
    returnType: void
    signature: void RawMockStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:193,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::objects_per_span
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: size_t
    signature: size_t objects_per_span()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::batch_size
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: size_t
    signature: size_t batch_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:200,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - class_size
    - pages
    - num_objects_to_move
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::FakeCentralFreeListEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - forwarder
    - Init
    linkageType: ''
    returnType: void
    signature: "void FakeCentralFreeListEnvironment(size_t class_size, size_t pages,\n
      \                                         size_t num_objects_to_move)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:204,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: ~FakeCentralFreeListEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - length
    linkageType: ''
    returnType: void
    signature: void ~FakeCentralFreeListEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: '& central_freelist()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CentralFreeList
    signature: CentralFreeList & central_freelist()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/transfer_cache.cc:34,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/transfer_cache.cc:37,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/transfer_cache.cc:40,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.cc:48,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 59
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.cc
    functionUses: 0
    functionsReached:
    - arena
    - transfer_cache
    - sizemap
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/transfer_cache.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: tcmalloc_internal::StaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.cc
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: size_t
    signature: size_t StaticForwarder::class_to_size(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/transfer_cache.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: tcmalloc_internal::StaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.cc
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: size_t
    signature: size_t StaticForwarder::num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/transfer_cache.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::StaticForwarder::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.cc
    functionUses: 0
    functionsReached:
    - arena
    linkageType: ''
    returnType: void
    signature: void *StaticForwarder::Alloc(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: tcmalloc_internal::BackingTransferCache::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.cc
    functionUses: 0
    functionsReached:
    - transfer_cache
    linkageType: ''
    returnType: void
    signature: void BackingTransferCache::InsertRange(absl::Span<void *> batch) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tcmalloc_internal::BackingTransferCache::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.cc
    functionUses: 0
    functionsReached:
    - transfer_cache
    linkageType: ''
    returnType: int
    signature: "int BackingTransferCache::RemoveRange(\n    const absl::Span<void
      *> batch) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/transfer_cache.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: tcmalloc_internal::StaticForwarder::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.cc
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: size_t
    signature: size_t StaticForwarder::class_to_size(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/transfer_cache.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: tcmalloc_internal::StaticForwarder::num_objects_to_move
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.cc
    functionUses: 0
    functionsReached:
    - sizemap
    linkageType: ''
    returnType: size_t
    signature: size_t StaticForwarder::num_objects_to_move(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/transfer_cache.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::StaticForwarder::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.cc
    functionUses: 0
    functionsReached:
    - arena
    linkageType: ''
    returnType: void
    signature: void *StaticForwarder::Alloc(size_t size, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: tcmalloc_internal::BackingTransferCache::InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.cc
    functionUses: 0
    functionsReached:
    - transfer_cache
    linkageType: ''
    returnType: void
    signature: void BackingTransferCache::InsertRange(absl::Span<void *> batch) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tcmalloc_internal::BackingTransferCache::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.cc
    functionUses: 0
    functionsReached:
    - transfer_cache
    linkageType: ''
    returnType: int
    signature: "int BackingTransferCache::RemoveRange(\n    const absl::Span<void
      *> batch) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:37,1
    - Dst: TCMalloc_Internal_SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/parameters.h:42,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/parameters.h:42,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:56,1
    - Dst: TCMalloc_Internal_SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:60,1
    - Dst: TCMalloc_Internal_SetMaxPerCpuCacheSize
      Src: /src/tcmalloc/tcmalloc/parameters.h:66,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:70,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:74,1
    - Dst: TCMalloc_Internal_SetMinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/parameters.h:78,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/parameters.h:78,1
    - Dst: TCMalloc_Internal_SetMaxTotalThreadCacheBytes
      Src: /src/tcmalloc/tcmalloc/parameters.h:82,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:86,1
    - Dst: TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
      Src: /src/tcmalloc/tcmalloc/parameters.h:90,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:94,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:98,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:104,1
    - Dst: TCMalloc_Internal_SetHugeCacheDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/parameters.h:108,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:112,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:116,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:120,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/parameters.h:126,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesEnabled
      Src: /src/tcmalloc/tcmalloc/parameters.h:133,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:137,1
    - Dst: TCMalloc_Internal_SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:141,1
    - Dst: TCMalloc_Internal_SetHugePageFillerSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:148,1
    - Dst: TCMalloc_Internal_SetHugePageFillerSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:154,1
    - Dst: TCMalloc_Internal_SetHugeCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:160,1
    - Dst: TCMalloc_Internal_SetHugeCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:166,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:172,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesDynamicSlabEnabled
      Src: /src/tcmalloc/tcmalloc/parameters.h:175,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:179,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesDynamicSlabGrowThreshold
      Src: /src/tcmalloc/tcmalloc/parameters.h:183,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:187,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesDynamicSlabShrinkThreshold
      Src: /src/tcmalloc/tcmalloc/parameters.h:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 252
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetMaxTotalThreadCacheBytes
    - TCMalloc_Internal_SetProfileSamplingInterval
    - TCMalloc_Internal_SetHugeCacheDemandReleaseShortInterval
    - TCMalloc_Internal_SetPerCpuCachesDynamicSlabShrinkThreshold
    - TCMalloc_Internal_SetBackgroundReleaseRate
    - TCMalloc_Internal_SetPerCpuCachesDynamicSlabGrowThreshold
    - load
    - TCMalloc_Internal_SetGuardedSamplingInterval
    - TCMalloc_Internal_SetHugePageFillerSkipSubreleaseShortInterval
    - TCMalloc_Internal_SetHugePageFillerSkipSubreleaseLongInterval
    - TCMalloc_Internal_SetMinHotAccessHint
    - TCMalloc_Internal_SetHugeCacheDemandBasedRelease
    - TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
    - TCMalloc_Internal_SetPerCpuCachesDynamicSlabEnabled
    - TCMalloc_Internal_SetMaxPerCpuCacheSize
    - TCMalloc_Internal_SetHugeCacheDemandReleaseLongInterval
    - static_cast<size_t>
    - TCMalloc_Internal_SetPerCpuCachesEnabled
    - static_cast<uint8_t>
    - TC_LOG
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: tcmalloc_internal::Parameters::background_release_rate
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: MallocExtension::BytesPerSecond
    signature: MallocExtension::BytesPerSecond background_release_rate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/parameters.h:42,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/parameters.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MallocExtension::BytesPerSecond
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tcmalloc_internal::Parameters::set_background_release_rate
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - TCMalloc_Internal_SetBackgroundReleaseRate
    linkageType: ''
    returnType: void
    signature: "void set_background_release_rate(\n      MallocExtension::BytesPerSecond
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: tcmalloc_internal::Parameters::guarded_sampling_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 6
    functionsReached:
    - load
    linkageType: ''
    returnType: int64_t
    signature: int64_t guarded_sampling_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: tcmalloc_internal::Parameters::set_guarded_sampling_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void set_guarded_sampling_interval(int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetMaxPerCpuCacheSize
      Src: /src/tcmalloc/tcmalloc/parameters.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetMaxPerCpuCacheSize
    linkageType: ''
    returnType: void
    signature: void set_max_per_cpu_cache_size(int32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: int64_t
    signature: int64_t max_total_thread_cache_bytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: tcmalloc_internal::Parameters::min_hot_access_hint
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 4
    functionsReached:
    - load
    linkageType: ''
    returnType: tcmalloc::hot_cold_t
    signature: tcmalloc::hot_cold_t min_hot_access_hint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetMinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/parameters.h:78,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/parameters.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - tcmalloc::hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::Parameters::set_min_hot_access_hint
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - TCMalloc_Internal_SetMinHotAccessHint
    linkageType: ''
    returnType: void
    signature: void set_min_hot_access_hint(tcmalloc::hot_cold_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetMaxTotalThreadCacheBytes
      Src: /src/tcmalloc/tcmalloc/parameters.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetMaxTotalThreadCacheBytes
    linkageType: ''
    returnType: void
    signature: void set_max_total_thread_cache_bytes(int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: double
    signature: double peak_sampling_heap_growth_fraction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
      Src: /src/tcmalloc/tcmalloc/parameters.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::Parameters::set_peak_sampling_heap_growth_fraction
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
    linkageType: ''
    returnType: void
    signature: void set_peak_sampling_heap_growth_fraction(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::Parameters::release_partial_alloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 6
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool release_partial_alloc_pages()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: tcmalloc_internal::Parameters::huge_region_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 6
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool huge_region_demand_based_release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: tcmalloc_internal::Parameters::huge_cache_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 6
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool huge_cache_demand_based_release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetHugeCacheDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/parameters.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: tcmalloc_internal::Parameters::set_huge_cache_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetHugeCacheDemandBasedRelease
    linkageType: ''
    returnType: void
    signature: void set_huge_cache_demand_based_release(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: tcmalloc_internal::Parameters::release_pages_from_huge_region
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool release_pages_from_huge_region()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::Parameters::resize_size_class_max_capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool resize_size_class_max_capacity()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: tcmalloc_internal::Parameters::per_cpu_caches
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 4
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool per_cpu_caches()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/parameters.h:126,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesEnabled
      Src: /src/tcmalloc/tcmalloc/parameters.h:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: tcmalloc_internal::Parameters::set_per_cpu_caches
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 8
    functionsReached:
    - TC_LOG
    - TCMalloc_Internal_SetPerCpuCachesEnabled
    linkageType: ''
    returnType: void
    signature: void set_per_cpu_caches(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: tcmalloc_internal::Parameters::profile_sampling_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 25
    functionsReached:
    - load
    linkageType: ''
    returnType: int64_t
    signature: int64_t profile_sampling_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::Parameters::set_profile_sampling_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetProfileSamplingInterval
    linkageType: ''
    returnType: void
    signature: void set_profile_sampling_interval(int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetHugePageFillerSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetHugePageFillerSkipSubreleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void set_filler_skip_subrelease_short_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetHugePageFillerSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetHugePageFillerSkipSubreleaseLongInterval
    linkageType: ''
    returnType: void
    signature: void set_filler_skip_subrelease_long_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetHugeCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetHugeCacheDemandReleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void set_cache_demand_release_short_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetHugeCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetHugeCacheDemandReleaseLongInterval
    linkageType: ''
    returnType: void
    signature: void set_cache_demand_release_long_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 6
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool per_cpu_caches_dynamic_slab_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetPerCpuCachesDynamicSlabEnabled
      Src: /src/tcmalloc/tcmalloc/parameters.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: tcmalloc_internal::Parameters::set_per_cpu_caches_dynamic_slab_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPerCpuCachesDynamicSlabEnabled
    linkageType: ''
    returnType: void
    signature: void set_per_cpu_caches_dynamic_slab_enabled(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 6
    functionsReached:
    - load
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_grow_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetPerCpuCachesDynamicSlabGrowThreshold
      Src: /src/tcmalloc/tcmalloc/parameters.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: tcmalloc_internal::Parameters::set_per_cpu_caches_dynamic_slab_grow_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPerCpuCachesDynamicSlabGrowThreshold
    linkageType: ''
    returnType: void
    signature: void set_per_cpu_caches_dynamic_slab_grow_threshold(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 6
    functionsReached:
    - load
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_shrink_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetPerCpuCachesDynamicSlabShrinkThreshold
      Src: /src/tcmalloc/tcmalloc/parameters.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::Parameters::set_per_cpu_caches_dynamic_slab_shrink_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPerCpuCachesDynamicSlabShrinkThreshold
    linkageType: ''
    returnType: void
    signature: void set_per_cpu_caches_dynamic_slab_shrink_threshold(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: tcmalloc_internal::Parameters::background_release_rate
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: MallocExtension::BytesPerSecond
    signature: MallocExtension::BytesPerSecond background_release_rate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/parameters.h:42,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/parameters.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MallocExtension::BytesPerSecond
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tcmalloc_internal::Parameters::set_background_release_rate
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - TCMalloc_Internal_SetBackgroundReleaseRate
    linkageType: ''
    returnType: void
    signature: "void set_background_release_rate(\n      MallocExtension::BytesPerSecond
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: tcmalloc_internal::Parameters::guarded_sampling_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 6
    functionsReached:
    - load
    linkageType: ''
    returnType: int64_t
    signature: int64_t guarded_sampling_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: tcmalloc_internal::Parameters::set_guarded_sampling_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void set_guarded_sampling_interval(int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetMaxPerCpuCacheSize
      Src: /src/tcmalloc/tcmalloc/parameters.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetMaxPerCpuCacheSize
    linkageType: ''
    returnType: void
    signature: void set_max_per_cpu_cache_size(int32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: int64_t
    signature: int64_t max_total_thread_cache_bytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: tcmalloc_internal::Parameters::min_hot_access_hint
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 4
    functionsReached:
    - load
    linkageType: ''
    returnType: tcmalloc::hot_cold_t
    signature: tcmalloc::hot_cold_t min_hot_access_hint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetMinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/parameters.h:78,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/parameters.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - tcmalloc::hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::Parameters::set_min_hot_access_hint
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - TCMalloc_Internal_SetMinHotAccessHint
    linkageType: ''
    returnType: void
    signature: void set_min_hot_access_hint(tcmalloc::hot_cold_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetMaxTotalThreadCacheBytes
      Src: /src/tcmalloc/tcmalloc/parameters.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetMaxTotalThreadCacheBytes
    linkageType: ''
    returnType: void
    signature: void set_max_total_thread_cache_bytes(int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: double
    signature: double peak_sampling_heap_growth_fraction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
      Src: /src/tcmalloc/tcmalloc/parameters.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::Parameters::set_peak_sampling_heap_growth_fraction
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
    linkageType: ''
    returnType: void
    signature: void set_peak_sampling_heap_growth_fraction(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::Parameters::release_partial_alloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 6
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool release_partial_alloc_pages()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: tcmalloc_internal::Parameters::huge_region_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 6
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool huge_region_demand_based_release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: tcmalloc_internal::Parameters::huge_cache_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 6
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool huge_cache_demand_based_release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetHugeCacheDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/parameters.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: tcmalloc_internal::Parameters::set_huge_cache_demand_based_release
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetHugeCacheDemandBasedRelease
    linkageType: ''
    returnType: void
    signature: void set_huge_cache_demand_based_release(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: tcmalloc_internal::Parameters::release_pages_from_huge_region
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool release_pages_from_huge_region()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::Parameters::resize_size_class_max_capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool resize_size_class_max_capacity()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: tcmalloc_internal::Parameters::per_cpu_caches
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 4
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool per_cpu_caches()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/parameters.h:126,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesEnabled
      Src: /src/tcmalloc/tcmalloc/parameters.h:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: tcmalloc_internal::Parameters::set_per_cpu_caches
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 8
    functionsReached:
    - TC_LOG
    - TCMalloc_Internal_SetPerCpuCachesEnabled
    linkageType: ''
    returnType: void
    signature: void set_per_cpu_caches(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: tcmalloc_internal::Parameters::profile_sampling_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 25
    functionsReached:
    - load
    linkageType: ''
    returnType: int64_t
    signature: int64_t profile_sampling_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::Parameters::set_profile_sampling_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetProfileSamplingInterval
    linkageType: ''
    returnType: void
    signature: void set_profile_sampling_interval(int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetHugePageFillerSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetHugePageFillerSkipSubreleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void set_filler_skip_subrelease_short_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetHugePageFillerSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetHugePageFillerSkipSubreleaseLongInterval
    linkageType: ''
    returnType: void
    signature: void set_filler_skip_subrelease_long_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetHugeCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetHugeCacheDemandReleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void set_cache_demand_release_short_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetHugeCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetHugeCacheDemandReleaseLongInterval
    linkageType: ''
    returnType: void
    signature: void set_cache_demand_release_long_interval(absl::Duration value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 6
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool per_cpu_caches_dynamic_slab_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetPerCpuCachesDynamicSlabEnabled
      Src: /src/tcmalloc/tcmalloc/parameters.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: tcmalloc_internal::Parameters::set_per_cpu_caches_dynamic_slab_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPerCpuCachesDynamicSlabEnabled
    linkageType: ''
    returnType: void
    signature: void set_per_cpu_caches_dynamic_slab_enabled(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 6
    functionsReached:
    - load
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_grow_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetPerCpuCachesDynamicSlabGrowThreshold
      Src: /src/tcmalloc/tcmalloc/parameters.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: tcmalloc_internal::Parameters::set_per_cpu_caches_dynamic_slab_grow_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPerCpuCachesDynamicSlabGrowThreshold
    linkageType: ''
    returnType: void
    signature: void set_per_cpu_caches_dynamic_slab_grow_threshold(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 6
    functionsReached:
    - load
    linkageType: ''
    returnType: double
    signature: double per_cpu_caches_dynamic_slab_shrink_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetPerCpuCachesDynamicSlabShrinkThreshold
      Src: /src/tcmalloc/tcmalloc/parameters.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::Parameters::set_per_cpu_caches_dynamic_slab_shrink_threshold
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPerCpuCachesDynamicSlabShrinkThreshold
    linkageType: ''
    returnType: void
    signature: void set_per_cpu_caches_dynamic_slab_shrink_threshold(double value)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/stats.cc:45,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:46,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:50,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:53,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:53,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:60,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:66,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:67,1
    - Dst: BytesToMiB
      Src: /src/tcmalloc/tcmalloc/stats.cc:68,1
    - Dst: BytesToMiB
      Src: /src/tcmalloc/tcmalloc/stats.cc:69,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:70,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:75,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:80,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:81,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:86,1
    - Dst: Length::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:89,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:89,1
    - Dst: Length::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:90,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:90,1
    - Dst: PrintRightAdjustedWithPrefix
      Src: /src/tcmalloc/tcmalloc/stats.cc:97,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:98,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/stats.cc:101,1
    - Dst: Length::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:101,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:102,1
    - Dst: returned_pages::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:102,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:103,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/stats.cc:118,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:119,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:120,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:121,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:128,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:129,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:130,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:136,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:137,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:138,1
    - Dst: PageHeapEntry::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/stats.cc:141,1
    - Dst: normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:149,1
    - Dst: returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:150,1
    - Dst: PageHeapEntry::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/stats.cc:151,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:154,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:154,1
    - Dst: TimeTicks
      Src: /src/tcmalloc/tcmalloc/stats.cc:158,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:160,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:161,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:162,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:163,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:164,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:165,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:166,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:167,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:177,1
    - Dst: Length::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:179,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:181,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:181,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:183,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:183,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:184,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:186,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:192,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:193,1
    - Dst: print_counts
      Src: /src/tcmalloc/tcmalloc/stats.cc:194,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:194,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:198,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:199,1
    - Dst: print_counts
      Src: /src/tcmalloc/tcmalloc/stats.cc:200,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:203,1
    - Dst: total::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:204,1
    - Dst: total::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:204,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:205,1
    - Dst: release_memory_to_system::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:206,1
    - Dst: release_memory_to_system::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:207,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:208,1
    - Dst: process_background_actions::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:210,1
    - Dst: process_background_actions::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:211,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:212,1
    - Dst: soft_limit_exceeded::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:214,1
    - Dst: soft_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:215,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:216,1
    - Dst: hard_limit_exceeded::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:218,1
    - Dst: hard_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:219,1
    - Dst: TimeTicks
      Src: /src/tcmalloc/tcmalloc/stats.cc:224,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:226,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:226,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:227,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:227,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:228,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:228,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:238,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stats.cc:240,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:240,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/stats.cc:241,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:242,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:242,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:243,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:243,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:244,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:245,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:246,1
    - Dst: auto::PrintDouble
      Src: /src/tcmalloc/tcmalloc/stats.cc:247,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:248,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/stats.cc:248,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:251,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:252,1
    - Dst: print_counts
      Src: /src/tcmalloc/tcmalloc/stats.cc:253,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:253,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:257,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:258,1
    - Dst: print_counts
      Src: /src/tcmalloc/tcmalloc/stats.cc:259,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:262,1
    - Dst: total::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:262,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:263,1
    - Dst: release_memory_to_system::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:264,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:265,1
    - Dst: process_background_actions::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:266,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:267,1
    - Dst: soft_limit_exceeded::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:268,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:269,1
    - Dst: hard_limit_exceeded::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:270,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:274,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:274,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:274,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:275,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:279,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/stats.cc:281,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:284,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:284,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/stats.cc:284,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/stats.cc:286,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/stats.cc:288,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:288,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/stats.cc:289,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:296,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/stats.cc:296,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/stats.cc:298,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/stats.cc:300,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:300,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/stats.cc:301,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:334,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/stats.cc:336,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:336,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats.cc:343,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 153
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 347
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - auto::PrintDouble
    - absl::bit_width
    - auto::PrintI64
    - RoundUp
    - Length
    - BytesToMiB
    - Length::raw_num
    - hard_limit_exceeded::in_mib
    - returned_pages::in_mib
    - printf
    - TimeTicks
    - hard_limit_exceeded::raw_num
    - in_bytes
    - raw_num
    - release_memory_to_system::raw_num
    - n::raw_num
    - static_cast<int64_t>
    - std::max
    - Length::in_mib
    - CreateSubRegion
    - auto::raw_num
    - process_background_actions::in_mib
    - PageHeapEntry::PrintInPbtxt
    - PrintRightAdjustedWithPrefix
    - PrintI64
    - print_counts
    - soft_limit_exceeded::in_mib
    - total::raw_num
    - Length::in_bytes
    - auto::in_bytes
    - strlen
    - total::in_mib
    - Alloc
    - in_mib
    - returned_pages::in_bytes
    - release_memory_to_system::in_mib
    - process_background_actions::raw_num
    - static_cast<size_t>
    - Free
    - absl::base_internal::CycleClock::Now
    - soft_limit_exceeded::raw_num
    - normal_pages::in_bytes
    - static_cast<double>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::BytesToMiB
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BytesToMiB(size_t bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/stats.cc:45,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:46,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:50,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:53,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' out'
    - prefix
    - num
    - width
    argTypes:
    - Printer
    - char*
    - Length
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: tcmalloc_internal::PrintRightAdjustedWithPrefix
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - printf
    - strlen
    - Length::raw_num
    linkageType: ''
    returnType: void
    signature: "void PrintRightAdjustedWithPrefix(Printer& out, const char* prefix,\n
      \                                        Length num, int width)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:60,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:66,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:67,1
    - Dst: tcmalloc_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/stats.cc:68,1
    - Dst: tcmalloc_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/stats.cc:69,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:70,1
    - Dst: tcmalloc_internal::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:75,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:80,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:81,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:86,1
    - Dst: Length::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:89,1
    - Dst: tcmalloc_internal::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:89,1
    - Dst: Length::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:90,1
    - Dst: tcmalloc_internal::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:90,1
    - Dst: tcmalloc_internal::PrintRightAdjustedWithPrefix
      Src: /src/tcmalloc/tcmalloc/stats.cc:97,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:98,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/stats.cc:101,1
    - Dst: Length::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:101,1
    - Dst: tcmalloc_internal::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:102,1
    - Dst: returned_pages::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:102,1
    - Dst: tcmalloc_internal::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - label
    - ' out'
    - ' backing'
    - ' small'
    - ' large'
    - everything
    argTypes:
    - char*
    - Printer
    - BackingStats
    - SmallSpanStats
    - LargeSpanStats
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 104
    functionName: tcmalloc_internal::PrintStats
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - Length
    - static_cast<size_t>
    - tcmalloc_internal::raw_num
    - tcmalloc_internal::BytesToMiB
    - tcmalloc_internal::PrintRightAdjustedWithPrefix
    - printf
    - returned_pages::in_mib
    - Length::in_mib
    - tcmalloc_internal::in_mib
    linkageType: ''
    returnType: void
    signature: "void PrintStats(const char* label, Printer& out, const BackingStats&
      backing,\n                const SmallSpanStats& small, const LargeSpanStats&
      large,\n                bool everything)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/stats.cc:118,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:119,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:120,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:121,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' parent'
    - sub_region_name
    argTypes:
    - PbtxtRegion
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: tcmalloc_internal::PageHeapEntry::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - auto::PrintI64
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void PageHeapEntry::PrintInPbtxt(PbtxtRegion& parent,\n                                 absl::string_view
      sub_region_name) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:128,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:129,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:130,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:136,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:137,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:138,1
    - Dst: PageHeapEntry::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/stats.cc:141,1
    - Dst: normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:149,1
    - Dst: returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:150,1
    - Dst: PageHeapEntry::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/stats.cc:151,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:154,1
    - Dst: tcmalloc_internal::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ' region'
    - ' small'
    - ' large'
    argTypes:
    - PbtxtRegion
    - SmallSpanStats
    - LargeSpanStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 155
    functionName: tcmalloc_internal::PrintStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - PageHeapEntry::PrintInPbtxt
    - returned_pages::in_bytes
    - PrintI64
    - tcmalloc_internal::raw_num
    - auto::in_bytes
    - normal_pages::in_bytes
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: "void PrintStatsInPbtxt(PbtxtRegion& region, const SmallSpanStats&
      small,\n                       const LargeSpanStats& large)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocInfo::TimeTicks
      Src: /src/tcmalloc/tcmalloc/stats.cc:158,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:160,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:161,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:162,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:163,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:164,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:165,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:166,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:167,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:177,1
    - Dst: Length::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:179,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:181,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:181,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:183,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:183,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:184,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:186,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:192,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:193,1
    - Dst: print_counts
      Src: /src/tcmalloc/tcmalloc/stats.cc:194,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:194,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:198,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:199,1
    - Dst: print_counts
      Src: /src/tcmalloc/tcmalloc/stats.cc:200,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:203,1
    - Dst: total::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:204,1
    - Dst: total::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:204,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:205,1
    - Dst: release_memory_to_system::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:206,1
    - Dst: release_memory_to_system::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:207,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:208,1
    - Dst: process_background_actions::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:210,1
    - Dst: process_background_actions::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:211,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:212,1
    - Dst: soft_limit_exceeded::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:214,1
    - Dst: soft_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:215,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:216,1
    - Dst: hard_limit_exceeded::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:218,1
    - Dst: hard_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 220
    functionName: tcmalloc_internal::PageAllocInfo::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - auto::raw_num
    - total::in_mib
    - Length
    - in_mib
    - release_memory_to_system::in_mib
    - process_background_actions::raw_num
    - process_background_actions::in_mib
    - hard_limit_exceeded::raw_num
    - soft_limit_exceeded::in_mib
    - print_counts
    - hard_limit_exceeded::in_mib
    - total::raw_num
    - printf
    - soft_limit_exceeded::raw_num
    - release_memory_to_system::raw_num
    - Length::in_mib
    - tcmalloc_internal::PageAllocInfo::TimeTicks
    linkageType: ''
    returnType: void
    signature: void PageAllocInfo::Print(Printer& out) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocInfo::TimeTicks
      Src: /src/tcmalloc/tcmalloc/stats.cc:224,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:226,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:226,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:227,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:227,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:228,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:228,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:238,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stats.cc:240,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:240,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/stats.cc:241,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:242,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:242,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:243,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:243,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:244,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:245,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:246,1
    - Dst: auto::PrintDouble
      Src: /src/tcmalloc/tcmalloc/stats.cc:247,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:248,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/stats.cc:248,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:251,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:252,1
    - Dst: print_counts
      Src: /src/tcmalloc/tcmalloc/stats.cc:253,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:253,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:257,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:258,1
    - Dst: print_counts
      Src: /src/tcmalloc/tcmalloc/stats.cc:259,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:262,1
    - Dst: total::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:262,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:263,1
    - Dst: release_memory_to_system::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:264,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:265,1
    - Dst: process_background_actions::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:266,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:267,1
    - Dst: soft_limit_exceeded::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:268,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:269,1
    - Dst: hard_limit_exceeded::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ' region'
    - stat_name
    argTypes:
    - PbtxtRegion
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 271
    functionName: tcmalloc_internal::PageAllocInfo::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - auto::PrintDouble
    - raw_num
    - auto::raw_num
    - auto::PrintI64
    - release_memory_to_system::raw_num
    - hard_limit_exceeded::raw_num
    - Length
    - process_background_actions::raw_num
    - PrintI64
    - print_counts
    - static_cast<int64_t>
    - total::raw_num
    - CreateSubRegion
    - soft_limit_exceeded::raw_num
    - in_bytes
    - tcmalloc_internal::PageAllocInfo::TimeTicks
    - static_cast<double>
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: "void PageAllocInfo::PrintInPbtxt(PbtxtRegion& region,\n                                 absl::string_view
      stat_name) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:274,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:274,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:274,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - alignment
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: tcmalloc_internal::RoundUp
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - Length
    linkageType: ''
    returnType: Length
    signature: Length RoundUp(Length value, Length alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:279,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/stats.cc:281,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:284,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:284,1
    - Dst: tcmalloc_internal::PageAllocInfo::Alloc
      Src: /src/tcmalloc/tcmalloc/stats.cc:284,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/stats.cc:286,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/stats.cc:288,1
    - Dst: Range::n::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:288,1
    - Dst: tcmalloc_internal::PageAllocInfo::Alloc
      Src: /src/tcmalloc/tcmalloc/stats.cc:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 291
    functionName: tcmalloc_internal::PageAllocInfo::RecordAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::bit_width
    - std::max
    - tcmalloc_internal::PageAllocInfo::Alloc
    - RoundUp
    - Length
    - in_bytes
    - Range::n::raw_num
    linkageType: ''
    returnType: void
    signature: void PageAllocInfo::RecordAlloc(Range r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Range::n::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:296,1
    - Dst: tcmalloc_internal::PageAllocInfo::Free
      Src: /src/tcmalloc/tcmalloc/stats.cc:296,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/stats.cc:298,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/stats.cc:300,1
    - Dst: Range::n::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:300,1
    - Dst: tcmalloc_internal::PageAllocInfo::Free
      Src: /src/tcmalloc/tcmalloc/stats.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: tcmalloc_internal::PageAllocInfo::RecordFree
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - tcmalloc_internal::PageAllocInfo::Free
    - Range::n::raw_num
    - RoundUp
    linkageType: ''
    returnType: void
    signature: void PageAllocInfo::RecordFree(Range r)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - n
    - got
    - reason
    argTypes:
    - Length
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 326
    functionName: tcmalloc_internal::PageAllocInfo::RecordRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PageAllocInfo::RecordRelease(Length n, Length got,\n                                  PageReleaseReason
      reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: tcmalloc_internal::PageAllocInfo::GetRecordedReleases
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PageReleaseStats
    signature: PageReleaseStats PageAllocInfo::GetRecordedReleases() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:334,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/stats.cc:336,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: '& PageAllocInfo::counts_for(Length n) const'
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - Length::raw_num
    linkageType: ''
    returnType: PageAllocInfo::Counts
    signature: PageAllocInfo::Counts & PageAllocInfo::counts_for(Length n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: tcmalloc_internal::PageAllocInfo::PageAllocInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageAllocInfo::PageAllocInfo(const char* label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::PageAllocInfo::TimeTicks
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 2
    functionsReached:
    - absl::base_internal::CycleClock::Now
    linkageType: ''
    returnType: int64_t
    signature: int64_t PageAllocInfo::TimeTicks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::BytesToMiB
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BytesToMiB(size_t bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/stats.cc:45,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:46,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:50,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:53,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' out'
    - prefix
    - num
    - width
    argTypes:
    - Printer
    - char*
    - Length
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: tcmalloc_internal::PrintRightAdjustedWithPrefix
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 1
    functionsReached:
    - printf
    - strlen
    - Length::raw_num
    linkageType: ''
    returnType: void
    signature: "void PrintRightAdjustedWithPrefix(Printer& out, const char* prefix,\n
      \                                        Length num, int width)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:60,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:66,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:67,1
    - Dst: tcmalloc_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/stats.cc:68,1
    - Dst: tcmalloc_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/stats.cc:69,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:70,1
    - Dst: tcmalloc_internal::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:75,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:80,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:81,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:86,1
    - Dst: Length::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:89,1
    - Dst: tcmalloc_internal::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:89,1
    - Dst: Length::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:90,1
    - Dst: tcmalloc_internal::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:90,1
    - Dst: tcmalloc_internal::PrintRightAdjustedWithPrefix
      Src: /src/tcmalloc/tcmalloc/stats.cc:97,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:98,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/stats.cc:101,1
    - Dst: Length::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:101,1
    - Dst: tcmalloc_internal::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:102,1
    - Dst: returned_pages::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:102,1
    - Dst: tcmalloc_internal::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - label
    - ' out'
    - ' backing'
    - ' small'
    - ' large'
    - everything
    argTypes:
    - char*
    - Printer
    - BackingStats
    - SmallSpanStats
    - LargeSpanStats
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 104
    functionName: tcmalloc_internal::PrintStats
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - Length
    - static_cast<size_t>
    - tcmalloc_internal::raw_num
    - tcmalloc_internal::BytesToMiB
    - tcmalloc_internal::PrintRightAdjustedWithPrefix
    - printf
    - returned_pages::in_mib
    - Length::in_mib
    - tcmalloc_internal::in_mib
    linkageType: ''
    returnType: void
    signature: "void PrintStats(const char* label, Printer& out, const BackingStats&
      backing,\n                const SmallSpanStats& small, const LargeSpanStats&
      large,\n                bool everything)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/stats.cc:118,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:119,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:120,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:121,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' parent'
    - sub_region_name
    argTypes:
    - PbtxtRegion
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: tcmalloc_internal::PageHeapEntry::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - auto::PrintI64
    - CreateSubRegion
    linkageType: ''
    returnType: void
    signature: "void PageHeapEntry::PrintInPbtxt(PbtxtRegion& parent,\n                                 absl::string_view
      sub_region_name) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:128,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:129,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:130,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:136,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:137,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:138,1
    - Dst: PageHeapEntry::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/stats.cc:141,1
    - Dst: normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:149,1
    - Dst: returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:150,1
    - Dst: PageHeapEntry::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/stats.cc:151,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:154,1
    - Dst: tcmalloc_internal::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ' region'
    - ' small'
    - ' large'
    argTypes:
    - PbtxtRegion
    - SmallSpanStats
    - LargeSpanStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 155
    functionName: tcmalloc_internal::PrintStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - Length
    - PageHeapEntry::PrintInPbtxt
    - returned_pages::in_bytes
    - PrintI64
    - tcmalloc_internal::raw_num
    - auto::in_bytes
    - normal_pages::in_bytes
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: "void PrintStatsInPbtxt(PbtxtRegion& region, const SmallSpanStats&
      small,\n                       const LargeSpanStats& large)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocInfo::TimeTicks
      Src: /src/tcmalloc/tcmalloc/stats.cc:158,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:160,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:161,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:162,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:163,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:164,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:165,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:166,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:167,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:177,1
    - Dst: Length::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:179,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:181,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:181,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:183,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:183,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:184,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:186,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:192,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:193,1
    - Dst: print_counts
      Src: /src/tcmalloc/tcmalloc/stats.cc:194,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:194,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:198,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:199,1
    - Dst: print_counts
      Src: /src/tcmalloc/tcmalloc/stats.cc:200,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:203,1
    - Dst: total::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:204,1
    - Dst: total::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:204,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:205,1
    - Dst: release_memory_to_system::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:206,1
    - Dst: release_memory_to_system::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:207,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:208,1
    - Dst: process_background_actions::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:210,1
    - Dst: process_background_actions::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:211,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:212,1
    - Dst: soft_limit_exceeded::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:214,1
    - Dst: soft_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:215,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/stats.cc:216,1
    - Dst: hard_limit_exceeded::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:218,1
    - Dst: hard_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/stats.cc:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 220
    functionName: tcmalloc_internal::PageAllocInfo::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - auto::raw_num
    - total::in_mib
    - Length
    - in_mib
    - release_memory_to_system::in_mib
    - process_background_actions::raw_num
    - process_background_actions::in_mib
    - hard_limit_exceeded::raw_num
    - soft_limit_exceeded::in_mib
    - print_counts
    - hard_limit_exceeded::in_mib
    - total::raw_num
    - printf
    - soft_limit_exceeded::raw_num
    - release_memory_to_system::raw_num
    - Length::in_mib
    - tcmalloc_internal::PageAllocInfo::TimeTicks
    linkageType: ''
    returnType: void
    signature: void PageAllocInfo::Print(Printer& out) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocInfo::TimeTicks
      Src: /src/tcmalloc/tcmalloc/stats.cc:224,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:226,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:226,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:227,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:227,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:228,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:228,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:238,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stats.cc:240,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:240,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/stats.cc:241,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:242,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:242,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:243,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:243,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:244,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:245,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:246,1
    - Dst: auto::PrintDouble
      Src: /src/tcmalloc/tcmalloc/stats.cc:247,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:248,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/stats.cc:248,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:251,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:252,1
    - Dst: print_counts
      Src: /src/tcmalloc/tcmalloc/stats.cc:253,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:253,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:257,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:258,1
    - Dst: print_counts
      Src: /src/tcmalloc/tcmalloc/stats.cc:259,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:262,1
    - Dst: total::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:262,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:263,1
    - Dst: release_memory_to_system::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:264,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:265,1
    - Dst: process_background_actions::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:266,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:267,1
    - Dst: soft_limit_exceeded::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:268,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/stats.cc:269,1
    - Dst: hard_limit_exceeded::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ' region'
    - stat_name
    argTypes:
    - PbtxtRegion
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 271
    functionName: tcmalloc_internal::PageAllocInfo::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - auto::PrintDouble
    - raw_num
    - auto::raw_num
    - auto::PrintI64
    - release_memory_to_system::raw_num
    - hard_limit_exceeded::raw_num
    - Length
    - process_background_actions::raw_num
    - PrintI64
    - print_counts
    - static_cast<int64_t>
    - total::raw_num
    - CreateSubRegion
    - soft_limit_exceeded::raw_num
    - in_bytes
    - tcmalloc_internal::PageAllocInfo::TimeTicks
    - static_cast<double>
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: "void PageAllocInfo::PrintInPbtxt(PbtxtRegion& region,\n                                 absl::string_view
      stat_name) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:274,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:274,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:274,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - alignment
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: tcmalloc_internal::RoundUp
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - Length
    linkageType: ''
    returnType: Length
    signature: Length RoundUp(Length value, Length alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/stats.cc:279,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/stats.cc:281,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/stats.cc:284,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:284,1
    - Dst: tcmalloc_internal::PageAllocInfo::Alloc
      Src: /src/tcmalloc/tcmalloc/stats.cc:284,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/stats.cc:286,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/stats.cc:288,1
    - Dst: Range::n::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:288,1
    - Dst: tcmalloc_internal::PageAllocInfo::Alloc
      Src: /src/tcmalloc/tcmalloc/stats.cc:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 291
    functionName: tcmalloc_internal::PageAllocInfo::RecordAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::bit_width
    - std::max
    - tcmalloc_internal::PageAllocInfo::Alloc
    - RoundUp
    - Length
    - in_bytes
    - Range::n::raw_num
    linkageType: ''
    returnType: void
    signature: void PageAllocInfo::RecordAlloc(Range r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Range::n::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:296,1
    - Dst: tcmalloc_internal::PageAllocInfo::Free
      Src: /src/tcmalloc/tcmalloc/stats.cc:296,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/stats.cc:298,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/stats.cc:300,1
    - Dst: Range::n::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:300,1
    - Dst: tcmalloc_internal::PageAllocInfo::Free
      Src: /src/tcmalloc/tcmalloc/stats.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: tcmalloc_internal::PageAllocInfo::RecordFree
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - tcmalloc_internal::PageAllocInfo::Free
    - Range::n::raw_num
    - RoundUp
    linkageType: ''
    returnType: void
    signature: void PageAllocInfo::RecordFree(Range r)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - n
    - got
    - reason
    argTypes:
    - Length
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 326
    functionName: tcmalloc_internal::PageAllocInfo::RecordRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PageAllocInfo::RecordRelease(Length n, Length got,\n                                  PageReleaseReason
      reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: tcmalloc_internal::PageAllocInfo::GetRecordedReleases
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PageReleaseStats
    signature: PageReleaseStats PageAllocInfo::GetRecordedReleases() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:334,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/stats.cc:336,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.cc:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: '& PageAllocInfo::counts_for(Length n) const'
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - Length::raw_num
    linkageType: ''
    returnType: PageAllocInfo::Counts
    signature: PageAllocInfo::Counts & PageAllocInfo::counts_for(Length n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: tcmalloc_internal::PageAllocInfo::PageAllocInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageAllocInfo::PageAllocInfo(const char* label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::PageAllocInfo::TimeTicks
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.cc
    functionUses: 4
    functionsReached:
    - absl::base_internal::CycleClock::Now
    linkageType: ''
    returnType: int64_t
    signature: int64_t PageAllocInfo::TimeTicks() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPeakSize
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:39,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:40,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:40,1
    - Dst: tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:41,1
    - Dst: tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:45,1
    - Dst: IsNewPeak
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:45,1
    - Dst: IsNewPeak
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:53,1
    - Dst: SetCurrentPeakSize
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:56,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:56,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:57,1
    - Dst: UnregisterAll
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:61,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:62,1
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:64,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:66,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:66,1
    - Dst: std::make_unique<StackTraceTable>
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:71,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:74,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:75,1
    - Dst: auto::AddTrace
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 83
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc
    functionUses: 0
    functionsReached:
    - SetCurrentPeakSize
    - auto::AddTrace
    - Iterate
    - std::make_unique<StackTraceTable>
    - auto::SetStartTime
    - Register
    - UnregisterAll
    - absl::Now
    - AssertHeld
    - IsNewPeak
    - tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
    - CurrentPeakSize
    - sampled_objects_size_::value
    - std::move
    - static_cast<double>
    - sampled_allocation_recorder
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PeakHeapTracker::CurrentPeakSize
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:39,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:40,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:40,1
    - Dst: tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: tcmalloc_internal::PeakHeapTracker::IsNewPeak
    functionSourceFile: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
    - sampled_objects_size_::value
    - tcmalloc_internal::PeakHeapTracker::CurrentPeakSize
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool PeakHeapTracker::IsNewPeak()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:45,1
    - Dst: tcmalloc_internal::PeakHeapTracker::IsNewPeak
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:45,1
    - Dst: tcmalloc_internal::PeakHeapTracker::IsNewPeak
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:53,1
    - Dst: SetCurrentPeakSize
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:56,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:56,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:57,1
    - Dst: UnregisterAll
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:61,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:62,1
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:64,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:66,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 68
    functionName: tcmalloc_internal::PeakHeapTracker::MaybeSaveSample
    functionSourceFile: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc
    functionUses: 0
    functionsReached:
    - SetCurrentPeakSize
    - Register
    - UnregisterAll
    - absl::Now
    - AssertHeld
    - tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
    - sampled_objects_size_::value
    - tcmalloc_internal::PeakHeapTracker::IsNewPeak
    - std::move
    - sampled_allocation_recorder
    linkageType: ''
    returnType: void
    signature: void PeakHeapTracker::MaybeSaveSample()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<StackTraceTable>
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:71,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:74,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:75,1
    - Dst: auto::AddTrace
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: tcmalloc_internal::PeakHeapTracker::DumpSample
    functionSourceFile: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<StackTraceTable>
    - Iterate
    - auto::SetStartTime
    - auto::AddTrace
    linkageType: ''
    returnType: std::unique_ptr<ProfileBase>
    signature: std::unique_ptr<ProfileBase> PeakHeapTracker::DumpSample()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PeakHeapTracker::CurrentPeakSize
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:39,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:40,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:40,1
    - Dst: tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: tcmalloc_internal::PeakHeapTracker::IsNewPeak
    functionSourceFile: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
    - sampled_objects_size_::value
    - tcmalloc_internal::PeakHeapTracker::CurrentPeakSize
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool PeakHeapTracker::IsNewPeak()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:45,1
    - Dst: tcmalloc_internal::PeakHeapTracker::IsNewPeak
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:45,1
    - Dst: tcmalloc_internal::PeakHeapTracker::IsNewPeak
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:53,1
    - Dst: SetCurrentPeakSize
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:56,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:56,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:57,1
    - Dst: UnregisterAll
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:61,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:62,1
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:64,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:66,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 68
    functionName: tcmalloc_internal::PeakHeapTracker::MaybeSaveSample
    functionSourceFile: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc
    functionUses: 0
    functionsReached:
    - SetCurrentPeakSize
    - Register
    - UnregisterAll
    - absl::Now
    - AssertHeld
    - tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
    - sampled_objects_size_::value
    - tcmalloc_internal::PeakHeapTracker::IsNewPeak
    - std::move
    - sampled_allocation_recorder
    linkageType: ''
    returnType: void
    signature: void PeakHeapTracker::MaybeSaveSample()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<StackTraceTable>
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:71,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:74,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:75,1
    - Dst: auto::AddTrace
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: tcmalloc_internal::PeakHeapTracker::DumpSample
    functionSourceFile: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<StackTraceTable>
    - Iterate
    - auto::SetStartTime
    - auto::AddTrace
    linkageType: ''
    returnType: std::unique_ptr<ProfileBase>
    signature: std::unique_ptr<ProfileBase> PeakHeapTracker::DumpSample()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:42,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:43,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:44,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:44,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:45,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:48,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:48,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:49,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:50,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:50,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:50,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:51,1
    - Dst: BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:52,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:56,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:57,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:57,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:70,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:72,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:74,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:77,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:78,1
    - Dst: RawSpan::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:80,1
    - Dst: RawSpan::span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:81,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:86,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:87,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:87,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:91,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:95,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:101,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:103,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:105,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:108,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:109,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:110,1
    - Dst: RawSpan::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:113,1
    - Dst: RawSpan::span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:114,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:120,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:123,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:124,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:132,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:140,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:143,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:158,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:177,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:177,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:180,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:184,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:187,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:187,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:187,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:190,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:192,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:195,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:195,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:198,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:201,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:202,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:204,1
    - Dst: tcmalloc_internal::HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:210,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:210,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:212,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:213,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:214,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:216,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:223,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:224,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:225,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:226,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:230,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:234,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:237,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 254
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - Length
    - page_allocator
    - PageIdContaining
    - iterations
    - Span*::first_page
    - TC_CHECK_GT
    - emplace
    - BENCHMARK
    - FreelistPopBatch
    - BuildFreelist
    - SetItemsProcessed
    - benchmark::DoNotOptimize
    - back
    - SkipWithMessage
    - Span*::num_pages
    - Span*::donated
    - span
    - tcmalloc_internal::HugeRegion::MaybeGet
    - sizemap
    - absl::MakeSpan
    - absl::Uniform
    - Range
    - TC_CHECK_EQ
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPush
    - RawSpan::span
    - Init
    - RawSpan::Init
    - free
    - auto::in_bytes
    - tcmalloc_internal::Span::Delete
    - posix_memalign
    - start_address
    - has_value
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:42,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:43,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:44,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:44,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:45,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:48,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:48,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:49,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:50,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:50,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:50,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:51,1
    - Dst: BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - emplace
    - Length
    - sizemap
    - BuildFreelist
    - posix_memalign
    - Range
    - TC_CHECK_EQ
    - PageIdContaining
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void Init(size_t size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:56,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:57,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - start_address
    - has_value
    - free
    linkageType: ''
    returnType: void
    signature: void ~RawSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& span()'
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Span
    signature: Span & span()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:70,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:72,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:74,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:77,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:78,1
    - Dst: RawSpan::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:80,1
    - Dst: RawSpan::span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:81,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:86,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:87,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:87,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:91,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::BM_single_span
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - FreelistPopBatch
    - sizemap
    - absl::MakeSpan
    - SetItemsProcessed
    - SkipWithMessage
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPush
    - RawSpan::span
    - RawSpan::Init
    linkageType: ''
    returnType: void
    signature: void BM_single_span(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:101,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:103,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:105,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:108,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:109,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:110,1
    - Dst: RawSpan::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:113,1
    - Dst: RawSpan::span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:114,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:120,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:123,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:124,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:132,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 141
    functionName: tcmalloc_internal::BM_single_span_fulldrain
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - FreelistPopBatch
    - sizemap
    - absl::MakeSpan
    - SetItemsProcessed
    - SkipWithMessage
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPush
    - RawSpan::span
    - RawSpan::Init
    linkageType: ''
    returnType: void
    signature: void BM_single_span_fulldrain(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:177,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:177,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:180,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:184,1
    - Dst: tcmalloc_internal::Range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:187,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:187,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:187,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:190,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:192,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:195,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 196
    functionName: tcmalloc_internal::BM_NewDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - Length
    - page_allocator
    - benchmark::DoNotOptimize
    - tcmalloc_internal::Span::Delete
    - SetItemsProcessed
    - iterations
    - Span*::num_pages
    - Span*::donated
    - tcmalloc_internal::Range
    linkageType: ''
    returnType: void
    signature: void BM_NewDelete(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:201,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:202,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:204,1
    - Dst: tcmalloc_internal::HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:210,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:210,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:212,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:213,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:214,1
    - Dst: tcmalloc_internal::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:216,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:223,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:224,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:225,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:226,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:230,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 235
    functionName: tcmalloc_internal::BM_multiple_spans
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - span
    - range
    - tcmalloc_internal::HugeRegion::MaybeGet
    - sizemap
    - absl::MakeSpan
    - absl::Uniform
    - SetItemsProcessed
    - back
    - SkipWithMessage
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - tcmalloc_internal::Init
    linkageType: ''
    returnType: void
    signature: void BM_multiple_spans(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:42,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:43,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:44,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:44,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:45,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:48,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:48,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:49,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:50,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:50,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:50,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:51,1
    - Dst: BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - emplace
    - Length
    - sizemap
    - BuildFreelist
    - posix_memalign
    - Range
    - TC_CHECK_EQ
    - PageIdContaining
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void Init(size_t size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:56,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:57,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - start_address
    - has_value
    - free
    linkageType: ''
    returnType: void
    signature: void ~RawSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& span()'
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Span
    signature: Span & span()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:70,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:72,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:74,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:77,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:78,1
    - Dst: RawSpan::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:80,1
    - Dst: RawSpan::span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:81,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:86,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:87,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:87,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:91,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::BM_single_span
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - FreelistPopBatch
    - sizemap
    - absl::MakeSpan
    - SetItemsProcessed
    - SkipWithMessage
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPush
    - RawSpan::span
    - RawSpan::Init
    linkageType: ''
    returnType: void
    signature: void BM_single_span(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:101,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:103,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:105,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:108,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:109,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:110,1
    - Dst: RawSpan::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:113,1
    - Dst: RawSpan::span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:114,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:120,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:123,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:124,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:132,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 141
    functionName: tcmalloc_internal::BM_single_span_fulldrain
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - FreelistPopBatch
    - sizemap
    - absl::MakeSpan
    - SetItemsProcessed
    - SkipWithMessage
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPush
    - RawSpan::span
    - RawSpan::Init
    linkageType: ''
    returnType: void
    signature: void BM_single_span_fulldrain(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:177,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:177,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:180,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:184,1
    - Dst: tcmalloc_internal::Range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:187,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:187,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:187,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:190,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:192,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:195,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 196
    functionName: tcmalloc_internal::BM_NewDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - Length
    - page_allocator
    - benchmark::DoNotOptimize
    - tcmalloc_internal::Span::Delete
    - SetItemsProcessed
    - iterations
    - Span*::num_pages
    - Span*::donated
    - tcmalloc_internal::Range
    linkageType: ''
    returnType: void
    signature: void BM_NewDelete(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:201,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:202,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:204,1
    - Dst: tcmalloc_internal::HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:210,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:210,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:212,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:213,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:214,1
    - Dst: tcmalloc_internal::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:216,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:223,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:224,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:225,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:226,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:230,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 235
    functionName: tcmalloc_internal::BM_multiple_spans
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - span
    - range
    - tcmalloc_internal::HugeRegion::MaybeGet
    - sizemap
    - absl::MakeSpan
    - absl::Uniform
    - SetItemsProcessed
    - back
    - SkipWithMessage
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - tcmalloc_internal::Init
    linkageType: ''
    returnType: void
    signature: void BM_multiple_spans(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:42,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:43,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:44,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:44,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:45,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:48,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:48,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:49,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:50,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:50,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:50,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:51,1
    - Dst: BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - emplace
    - Length
    - sizemap
    - BuildFreelist
    - posix_memalign
    - Range
    - TC_CHECK_EQ
    - PageIdContaining
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void Init(size_t size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:56,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:57,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - start_address
    - has_value
    - free
    linkageType: ''
    returnType: void
    signature: void ~RawSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& span()'
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Span
    signature: Span & span()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:70,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:72,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:74,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:77,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:78,1
    - Dst: RawSpan::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:80,1
    - Dst: RawSpan::span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:81,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:86,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:87,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:87,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:91,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::BM_single_span
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - FreelistPopBatch
    - sizemap
    - absl::MakeSpan
    - SetItemsProcessed
    - SkipWithMessage
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPush
    - RawSpan::span
    - RawSpan::Init
    linkageType: ''
    returnType: void
    signature: void BM_single_span(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:101,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:103,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:105,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:108,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:109,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:110,1
    - Dst: RawSpan::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:113,1
    - Dst: RawSpan::span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:114,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:120,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:123,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:124,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:132,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 141
    functionName: tcmalloc_internal::BM_single_span_fulldrain
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - FreelistPopBatch
    - sizemap
    - absl::MakeSpan
    - SetItemsProcessed
    - SkipWithMessage
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPush
    - RawSpan::span
    - RawSpan::Init
    linkageType: ''
    returnType: void
    signature: void BM_single_span_fulldrain(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:177,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:177,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:180,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:184,1
    - Dst: tcmalloc_internal::Range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:187,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:187,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:187,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:190,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:192,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:195,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 196
    functionName: tcmalloc_internal::BM_NewDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - Length
    - page_allocator
    - benchmark::DoNotOptimize
    - tcmalloc_internal::Span::Delete
    - SetItemsProcessed
    - iterations
    - Span*::num_pages
    - Span*::donated
    - tcmalloc_internal::Range
    linkageType: ''
    returnType: void
    signature: void BM_NewDelete(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:201,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:202,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:204,1
    - Dst: tcmalloc_internal::HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:210,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:210,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:212,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:213,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:214,1
    - Dst: tcmalloc_internal::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:216,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:223,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:224,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:225,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:226,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:230,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 235
    functionName: tcmalloc_internal::BM_multiple_spans
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - span
    - range
    - tcmalloc_internal::HugeRegion::MaybeGet
    - sizemap
    - absl::MakeSpan
    - absl::Uniform
    - SetItemsProcessed
    - back
    - SkipWithMessage
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - tcmalloc_internal::Init
    linkageType: ''
    returnType: void
    signature: void BM_multiple_spans(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:42,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:43,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:44,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:44,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:45,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:48,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:48,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:49,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:50,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:50,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:50,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:51,1
    - Dst: BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - emplace
    - Length
    - sizemap
    - BuildFreelist
    - posix_memalign
    - Range
    - TC_CHECK_EQ
    - PageIdContaining
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void Init(size_t size_class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:56,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:57,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - start_address
    - has_value
    - free
    linkageType: ''
    returnType: void
    signature: void ~RawSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& span()'
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Span
    signature: Span & span()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:70,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:72,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:74,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:77,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:78,1
    - Dst: RawSpan::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:80,1
    - Dst: RawSpan::span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:81,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:86,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:87,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:87,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:91,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::BM_single_span
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - FreelistPopBatch
    - sizemap
    - absl::MakeSpan
    - SetItemsProcessed
    - SkipWithMessage
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPush
    - RawSpan::span
    - RawSpan::Init
    linkageType: ''
    returnType: void
    signature: void BM_single_span(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:101,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:103,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:105,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:108,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:109,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:110,1
    - Dst: RawSpan::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:113,1
    - Dst: RawSpan::span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:114,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:120,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:123,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:124,1
    - Dst: FreelistPush
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:132,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 141
    functionName: tcmalloc_internal::BM_single_span_fulldrain
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - FreelistPopBatch
    - sizemap
    - absl::MakeSpan
    - SetItemsProcessed
    - SkipWithMessage
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPush
    - RawSpan::span
    - RawSpan::Init
    linkageType: ''
    returnType: void
    signature: void BM_single_span_fulldrain(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:177,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:177,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:180,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:184,1
    - Dst: tcmalloc_internal::Range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:187,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:187,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:187,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:190,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:192,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:195,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 196
    functionName: tcmalloc_internal::BM_NewDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - Length
    - page_allocator
    - benchmark::DoNotOptimize
    - tcmalloc_internal::Span::Delete
    - SetItemsProcessed
    - iterations
    - Span*::num_pages
    - Span*::donated
    - tcmalloc_internal::Range
    linkageType: ''
    returnType: void
    signature: void BM_NewDelete(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:201,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:202,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:204,1
    - Dst: tcmalloc_internal::HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:210,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:210,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:212,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:213,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:214,1
    - Dst: tcmalloc_internal::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:216,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:223,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:224,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:225,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:226,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:230,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 235
    functionName: tcmalloc_internal::BM_multiple_spans
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - span
    - range
    - tcmalloc_internal::HugeRegion::MaybeGet
    - sizemap
    - absl::MakeSpan
    - absl::Uniform
    - SetItemsProcessed
    - back
    - SkipWithMessage
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - tcmalloc_internal::Init
    linkageType: ''
    returnType: void
    signature: void BM_multiple_spans(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:36,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:36,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:38,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ColdFeatureActive
    linkageType: ''
    returnType: void
    signature: void TEST(ColdSizeClassTest, ColdFeatureActivation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:44,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:51,1
    - Dst: tcmalloc_internal::Span::IsNonIntrusive
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:53,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:54,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:61,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:61,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:61,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:62,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:62,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:63,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:67,1
    - Dst: SizeMap::ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:67,1
    - Dst: ElementsAreArray
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - ElementsAreArray
    - GTEST_SKIP
    - EXPECT_EQ
    - size
    - EXPECT_THAT
    - numa_topology
    - SizeMap::Init
    - SizeMap::SizeClass
    - CppPolicy
    - tcmalloc_internal::Span::IsNonIntrusive
    - SizeMap::ColdSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST(ColdSizeClassTest, ColdSizeClasses)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:73,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:78,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:81,1
    - Dst: tcmalloc_internal::Span::IsNonIntrusive
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:82,1
    - Dst: std::lower_bound
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:89,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:89,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:89,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:93,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:101,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:101,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:101,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:102,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:102,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:103,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:113,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:113,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:113,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:114,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:114,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 120
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - GTEST_SKIP
    - EXPECT_EQ
    - size
    - numa_topology
    - SizeMap::Init
    - SizeMap::SizeClass
    - end
    - CppPolicy
    - std::lower_bound
    - ASSERT_NE
    - tcmalloc_internal::Span::IsNonIntrusive
    linkageType: ''
    returnType: void
    signature: void TEST(ColdSizeClassTest, VerifyAllocationFullRange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:128,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:128,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:129,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:129,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:130,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:130,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:134,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:134,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:136,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:136,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:138,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:138,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::class_to_size_range
    - Pair
    - SizeMap::Init
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ClassToSizeRange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:36,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:36,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:38,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ColdFeatureActive
    linkageType: ''
    returnType: void
    signature: void TEST(ColdSizeClassTest, ColdFeatureActivation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:44,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:51,1
    - Dst: tcmalloc_internal::Span::IsNonIntrusive
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:53,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:54,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:61,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:61,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:61,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:62,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:62,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:63,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:67,1
    - Dst: SizeMap::ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:67,1
    - Dst: ElementsAreArray
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - ElementsAreArray
    - GTEST_SKIP
    - EXPECT_EQ
    - size
    - EXPECT_THAT
    - numa_topology
    - SizeMap::Init
    - SizeMap::SizeClass
    - CppPolicy
    - tcmalloc_internal::Span::IsNonIntrusive
    - SizeMap::ColdSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST(ColdSizeClassTest, ColdSizeClasses)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:73,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:78,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:81,1
    - Dst: tcmalloc_internal::Span::IsNonIntrusive
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:82,1
    - Dst: std::lower_bound
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:89,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:89,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:89,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:93,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:101,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:101,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:101,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:102,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:102,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:103,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:113,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:113,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:113,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:114,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:114,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 120
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - GTEST_SKIP
    - EXPECT_EQ
    - size
    - numa_topology
    - SizeMap::Init
    - SizeMap::SizeClass
    - end
    - CppPolicy
    - std::lower_bound
    - ASSERT_NE
    - tcmalloc_internal::Span::IsNonIntrusive
    linkageType: ''
    returnType: void
    signature: void TEST(ColdSizeClassTest, VerifyAllocationFullRange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:128,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:128,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:129,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:129,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:130,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:130,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:134,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:134,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:136,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:136,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:138,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:138,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::class_to_size_range
    - Pair
    - SizeMap::Init
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ClassToSizeRange)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:43,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:43,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:43,1
    - Dst: StackTrace::StackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:48,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:49,1
    - Dst: GuardedPageAllocator::GuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:57,1
    - Dst: auto::Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:59,1
    - Dst: auto::AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:60,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:62,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:63,1
    - Dst: auto::Reset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:71,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:78,1
    - Dst: GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:79,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:81,1
    - Dst: auto::Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:82,1
    - Dst: GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:82,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:83,1
    - Dst: auto::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:86,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:90,1
    - Dst: GetGpaPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:90,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:91,1
    - Dst: std::vector<std::unique_ptr<void, std::function<void(void*)>>>::function<void(void*)>>>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:95,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:101,1
    - Dst: GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:101,1
    - Dst: GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:102,1
    - Dst: auto*::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:103,1
    - Dst: auto*::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:106,1
    - Dst: GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:106,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:109,1
    - Dst: GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:109,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:113,1
    - Dst: GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:121,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:128,1
    - Dst: GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:128,1
    - Dst: GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:129,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:134,1
    - Dst: GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:134,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:140,1
    - Dst: GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:141,1
    - Dst: GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:145,1
    - Dst: GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:145,1
    - Dst: auto::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:146,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:146,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:150,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:153,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:156,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:157,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:158,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:159,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:162,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:165,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:165,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:168,1
    - Dst: GetGpaPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:169,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:172,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 180
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - Length
    - reinterpret_cast<char*>
    - std::vector<std::unique_ptr<void, std::function<void(void*)>>>::function<void(void*)>>>
    - auto::Deallocate
    - reinterpret_cast<void*>
    - iterations
    - auto::AllowAllocations
    - BENCHMARK
    - StackTrace::StackTrace
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - auto::Allocate
    - GetGuardedPageAllocator
    - auto*::Deallocate
    - std::max
    - auto*::TrySample
    - auto::TrySample
    - GetPageSize
    - auto::Init
    - std::atomic::store
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - TC_CHECK_EQ
    - GuardedPageAllocator::GuardedPageAllocator
    - GetStackTrace
    - GetReserved
    - total_sampled_count_::Add
    - TC_CHECK_NE
    - auto::Reset
    - static_cast<size_t>
    - GetGpaPageSize
    - TC_CHECK
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:43,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:43,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::GetGpaPageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetPageSize
    - static_cast<size_t>
    - tcmalloc_internal::max
    linkageType: ''
    returnType: size_t
    signature: size_t GetGpaPageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StackTrace::StackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:48,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - first_frame
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::GetStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 101
    functionsReached:
    - reinterpret_cast<void*>
    - StackTrace::StackTrace
    linkageType: ''
    returnType: auto
    signature: auto & GetStackTrace(size_t first_frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GuardedPageAllocator::GuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:57,1
    - Dst: auto::Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:59,1
    - Dst: auto::AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:60,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:62,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:63,1
    - Dst: auto::Reset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::GetGuardedPageAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - auto::AllowAllocations
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - auto::Init
    - auto::Reset
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - GuardedPageAllocator::GuardedPageAllocator
    linkageType: ''
    returnType: std::unique_ptr<GuardedPageAllocator, void (*)(GuardedPageAllocator*)>
    signature: std::unique_ptr<GuardedPageAllocator, void (*)(GuardedPageAllocator*)>
      GetGuardedPageAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:78,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:79,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:81,1
    - Dst: auto::Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:82,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:82,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:83,1
    - Dst: auto::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: tcmalloc_internal::BM_AllocDealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - TC_CHECK_NE
    - auto::Allocate
    - tcmalloc_internal::GetStackTrace
    - reinterpret_cast<char*>
    - auto::Deallocate
    - tcmalloc_internal::GetGuardedPageAllocator
    linkageType: ''
    returnType: void
    signature: void BM_AllocDealloc(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::unique_ptr<void, std::function<void(void*)>>>::function<void(void*)>>>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::GetReserved
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector<std::unique_ptr<void, std::function<void(void*)>>>::function<void(void*)>>>
    linkageType: ''
    returnType: auto
    signature: auto & GetReserved()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:101,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:101,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:102,1
    - Dst: auto*::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:103,1
    - Dst: auto*::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:106,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:106,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:109,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:109,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:113,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::ReservePool
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - auto*::TrySample
    - total_sampled_count_::Add
    - Length
    - tcmalloc_internal::GetStackTrace
    - auto*::Deallocate
    - tcmalloc_internal::GetGuardedPageAllocator
    - tcmalloc_internal::GetReserved
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ReservePool(const benchmark::State&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:128,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:128,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::ReleasePool
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetReserved
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ReleasePool(const benchmark::State&)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:134,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:134,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:140,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:141,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:145,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:145,1
    - Dst: auto::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:146,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:146,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:150,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:153,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:156,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:157,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:158,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:159,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:162,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:165,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 166
    functionName: tcmalloc_internal::BM_TrySample
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - auto::TrySample
    - total_sampled_count_::Add
    - range
    - TC_CHECK_NE
    - Length
    - tcmalloc_internal::GetStackTrace
    - std::atomic::store
    - TC_CHECK_EQ
    - tcmalloc_internal::GetGuardedPageAllocator
    - tcmalloc_internal::GetReserved
    - TC_CHECK
    - iterations
    linkageType: ''
    returnType: void
    signature: void BM_TrySample(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:43,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:43,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::GetGpaPageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetPageSize
    - static_cast<size_t>
    - tcmalloc_internal::max
    linkageType: ''
    returnType: size_t
    signature: size_t GetGpaPageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StackTrace::StackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:48,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - first_frame
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::GetStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 104
    functionsReached:
    - reinterpret_cast<void*>
    - StackTrace::StackTrace
    linkageType: ''
    returnType: auto
    signature: auto & GetStackTrace(size_t first_frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GuardedPageAllocator::GuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:57,1
    - Dst: auto::Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:59,1
    - Dst: auto::AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:60,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:62,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:63,1
    - Dst: auto::Reset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::GetGuardedPageAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 3
    functionsReached:
    - auto::AllowAllocations
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - auto::Init
    - auto::Reset
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - GuardedPageAllocator::GuardedPageAllocator
    linkageType: ''
    returnType: std::unique_ptr<GuardedPageAllocator, void (*)(GuardedPageAllocator*)>
    signature: std::unique_ptr<GuardedPageAllocator, void (*)(GuardedPageAllocator*)>
      GetGuardedPageAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:78,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:79,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:81,1
    - Dst: auto::Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:82,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:82,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:83,1
    - Dst: auto::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: tcmalloc_internal::BM_AllocDealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - TC_CHECK_NE
    - auto::Allocate
    - tcmalloc_internal::GetStackTrace
    - reinterpret_cast<char*>
    - auto::Deallocate
    - tcmalloc_internal::GetGuardedPageAllocator
    linkageType: ''
    returnType: void
    signature: void BM_AllocDealloc(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::unique_ptr<void, std::function<void(void*)>>>::function<void(void*)>>>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::GetReserved
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 3
    functionsReached:
    - std::vector<std::unique_ptr<void, std::function<void(void*)>>>::function<void(void*)>>>
    linkageType: ''
    returnType: auto
    signature: auto & GetReserved()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:101,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:101,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:102,1
    - Dst: auto*::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:103,1
    - Dst: auto*::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:106,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:106,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:109,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:109,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:113,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::ReservePool
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - auto*::TrySample
    - total_sampled_count_::Add
    - Length
    - tcmalloc_internal::GetStackTrace
    - auto*::Deallocate
    - tcmalloc_internal::GetGuardedPageAllocator
    - tcmalloc_internal::GetReserved
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ReservePool(const benchmark::State&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:128,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:128,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::ReleasePool
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetReserved
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ReleasePool(const benchmark::State&)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:134,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:134,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:140,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:141,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:145,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:145,1
    - Dst: auto::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:146,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:146,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:150,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:153,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:156,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:157,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:158,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:159,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:162,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:165,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 166
    functionName: tcmalloc_internal::BM_TrySample
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - auto::TrySample
    - total_sampled_count_::Add
    - range
    - TC_CHECK_NE
    - Length
    - tcmalloc_internal::GetStackTrace
    - std::atomic::store
    - TC_CHECK_EQ
    - tcmalloc_internal::GetGuardedPageAllocator
    - tcmalloc_internal::GetReserved
    - TC_CHECK
    - iterations
    linkageType: ''
    returnType: void
    signature: void BM_TrySample(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:43,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:43,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::GetGpaPageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetPageSize
    - static_cast<size_t>
    - tcmalloc_internal::max
    linkageType: ''
    returnType: size_t
    signature: size_t GetGpaPageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StackTrace::StackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:48,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - first_frame
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::GetStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 107
    functionsReached:
    - reinterpret_cast<void*>
    - StackTrace::StackTrace
    linkageType: ''
    returnType: auto
    signature: auto & GetStackTrace(size_t first_frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GuardedPageAllocator::GuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:57,1
    - Dst: auto::Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:59,1
    - Dst: auto::AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:60,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:62,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:63,1
    - Dst: auto::Reset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::GetGuardedPageAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 6
    functionsReached:
    - auto::AllowAllocations
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - auto::Init
    - auto::Reset
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - GuardedPageAllocator::GuardedPageAllocator
    linkageType: ''
    returnType: std::unique_ptr<GuardedPageAllocator, void (*)(GuardedPageAllocator*)>
    signature: std::unique_ptr<GuardedPageAllocator, void (*)(GuardedPageAllocator*)>
      GetGuardedPageAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:78,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:79,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:81,1
    - Dst: auto::Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:82,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:82,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:83,1
    - Dst: auto::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: tcmalloc_internal::BM_AllocDealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - TC_CHECK_NE
    - auto::Allocate
    - tcmalloc_internal::GetStackTrace
    - reinterpret_cast<char*>
    - auto::Deallocate
    - tcmalloc_internal::GetGuardedPageAllocator
    linkageType: ''
    returnType: void
    signature: void BM_AllocDealloc(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::unique_ptr<void, std::function<void(void*)>>>::function<void(void*)>>>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::GetReserved
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 6
    functionsReached:
    - std::vector<std::unique_ptr<void, std::function<void(void*)>>>::function<void(void*)>>>
    linkageType: ''
    returnType: auto
    signature: auto & GetReserved()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:101,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:101,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:102,1
    - Dst: auto*::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:103,1
    - Dst: auto*::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:106,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:106,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:109,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:109,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:113,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::ReservePool
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - auto*::TrySample
    - total_sampled_count_::Add
    - Length
    - tcmalloc_internal::GetStackTrace
    - auto*::Deallocate
    - tcmalloc_internal::GetGuardedPageAllocator
    - tcmalloc_internal::GetReserved
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ReservePool(const benchmark::State&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:128,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:128,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::ReleasePool
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetReserved
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ReleasePool(const benchmark::State&)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:134,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:134,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:140,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:141,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:145,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:145,1
    - Dst: auto::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:146,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:146,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:150,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:153,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:156,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:157,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:158,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:159,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:162,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:165,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 166
    functionName: tcmalloc_internal::BM_TrySample
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - auto::TrySample
    - total_sampled_count_::Add
    - range
    - TC_CHECK_NE
    - Length
    - tcmalloc_internal::GetStackTrace
    - std::atomic::store
    - TC_CHECK_EQ
    - tcmalloc_internal::GetGuardedPageAllocator
    - tcmalloc_internal::GetReserved
    - TC_CHECK
    - iterations
    linkageType: ''
    returnType: void
    signature: void BM_TrySample(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:43,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:43,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::GetGpaPageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetPageSize
    - static_cast<size_t>
    - tcmalloc_internal::max
    linkageType: ''
    returnType: size_t
    signature: size_t GetGpaPageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StackTrace::StackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:48,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - first_frame
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::GetStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 110
    functionsReached:
    - reinterpret_cast<void*>
    - StackTrace::StackTrace
    linkageType: ''
    returnType: auto
    signature: auto & GetStackTrace(size_t first_frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GuardedPageAllocator::GuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:57,1
    - Dst: auto::Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:59,1
    - Dst: auto::AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:60,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:62,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:63,1
    - Dst: auto::Reset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::GetGuardedPageAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 9
    functionsReached:
    - auto::AllowAllocations
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - auto::Init
    - auto::Reset
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - GuardedPageAllocator::GuardedPageAllocator
    linkageType: ''
    returnType: std::unique_ptr<GuardedPageAllocator, void (*)(GuardedPageAllocator*)>
    signature: std::unique_ptr<GuardedPageAllocator, void (*)(GuardedPageAllocator*)>
      GetGuardedPageAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:78,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:79,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:81,1
    - Dst: auto::Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:82,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:82,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:83,1
    - Dst: auto::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: tcmalloc_internal::BM_AllocDealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - TC_CHECK_NE
    - auto::Allocate
    - tcmalloc_internal::GetStackTrace
    - reinterpret_cast<char*>
    - auto::Deallocate
    - tcmalloc_internal::GetGuardedPageAllocator
    linkageType: ''
    returnType: void
    signature: void BM_AllocDealloc(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::unique_ptr<void, std::function<void(void*)>>>::function<void(void*)>>>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::GetReserved
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 9
    functionsReached:
    - std::vector<std::unique_ptr<void, std::function<void(void*)>>>::function<void(void*)>>>
    linkageType: ''
    returnType: auto
    signature: auto & GetReserved()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:101,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:101,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:102,1
    - Dst: auto*::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:103,1
    - Dst: auto*::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:106,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:106,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:109,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:109,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:113,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::ReservePool
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - auto*::TrySample
    - total_sampled_count_::Add
    - Length
    - tcmalloc_internal::GetStackTrace
    - auto*::Deallocate
    - tcmalloc_internal::GetGuardedPageAllocator
    - tcmalloc_internal::GetReserved
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ReservePool(const benchmark::State&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:128,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:128,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::ReleasePool
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetReserved
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ReleasePool(const benchmark::State&)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:134,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:134,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:140,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:141,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:145,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:145,1
    - Dst: auto::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:146,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:146,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:150,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:153,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:156,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:157,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:158,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:159,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:162,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:165,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 166
    functionName: tcmalloc_internal::BM_TrySample
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - auto::TrySample
    - total_sampled_count_::Add
    - range
    - TC_CHECK_NE
    - Length
    - tcmalloc_internal::GetStackTrace
    - std::atomic::store
    - TC_CHECK_EQ
    - tcmalloc_internal::GetGuardedPageAllocator
    - tcmalloc_internal::GetReserved
    - TC_CHECK
    - iterations
    linkageType: ''
    returnType: void
    signature: void BM_TrySample(benchmark::State& state)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:64,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:77,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:93,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:94,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:96,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:98,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:99,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:106,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:108,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:113,1
    - Dst: span_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:120,1
    - Dst: sampledallocation_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:121,1
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:122,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:123,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:127,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:128,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:129,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:130,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:132,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:135,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:140,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:146,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:160,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:161,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:163,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:166,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:170,1
    - Dst: pagemap_residence
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:180,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:182,1
    - Dst: ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:190,1
    - Dst: StatSub
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:202,1
    - Dst: StatSub
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:220,1
    - Dst: VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:220,1
    - Dst: UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:220,1
    - Dst: StatSub
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:226,1
    - Dst: PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:226,1
    - Dst: StatSub
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:237,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:250,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:251,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:252,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:253,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:255,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:262,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:266,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:283,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:293,1
    - Dst: ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:302,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:304,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:309,1
    - Dst: VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:313,1
    - Dst: PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:314,1
    - Dst: UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:315,1
    - Dst: InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:316,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:319,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:323,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:398,1
    - Dst: CountAllowedCpus
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:401,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:406,1
    - Dst: WalkExperiments
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:407,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:409,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:411,1
    - Dst: PrintHooksState
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:413,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:414,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:417,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:417,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:418,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:419,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:420,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:423,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:427,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:436,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:443,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:444,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:445,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:446,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:447,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:452,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:455,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:460,1
    - Dst: num_live_spans
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:462,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:463,1
    - Dst: prob_returned
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:466,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:470,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:471,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:472,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:473,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:475,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:478,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:479,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:480,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:481,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:482,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:484,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:488,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:488,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:489,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:490,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:492,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:493,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:497,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:498,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:499,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:501,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:502,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:503,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:504,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:506,1
    - Dst: PrintTextStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:507,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:509,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:510,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:511,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:513,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:515,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:517,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:518,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:519,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:520,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:521,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:522,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:523,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:524,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:526,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:527,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:530,1
    - Dst: TCMallocStats::num_released_total::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:531,1
    - Dst: TCMallocStats::num_released_total::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:532,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:533,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:536,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:537,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:538,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:541,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:542,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:543,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:546,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:547,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:548,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:551,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:552,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:554,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:555,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:556,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:557,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:558,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:559,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:560,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:561,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:562,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:563,1
    - Dst: tcmalloc_internal::Parameters::background_release_rate
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:564,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:565,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:566,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:567,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:568,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:569,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:570,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:571,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:572,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:573,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:574,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:576,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:576,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:577,1
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:578,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:579,1
    - Dst: tcmalloc_internal::Parameters::huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:580,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:581,1
    - Dst: tcmalloc_internal::Parameters::huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:582,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:583,1
    - Dst: tcmalloc_internal::Parameters::release_pages_from_huge_region
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:584,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:585,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:586,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:588,1
    - Dst: SizeClassConfigurationString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:590,1
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:590,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:591,1
    - Dst: PerCpuTypeString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:592,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:592,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:593,1
    - Dst: MadviseString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:593,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:594,1
    - Dst: tcmalloc_internal::Parameters::resize_size_class_max_capacity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:595,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:596,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:598,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:600,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:601,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:602,1
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:602,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:603,1
    - Dst: tcmalloc_internal::Parameters::usermode_hugepage_collapse
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:604,1
    - Dst: ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:613,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:615,1
    - Dst: InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:618,1
    - Dst: VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:619,1
    - Dst: PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:620,1
    - Dst: UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:621,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:624,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:625,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:626,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:627,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:628,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:630,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:631,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:632,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:633,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:635,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:637,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:638,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:639,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:640,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:641,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:642,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:643,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:644,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:645,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:647,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:649,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:651,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:652,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:653,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:654,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:655,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:656,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:658,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:659,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:660,1
    - Dst: CountAllowedCpus
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:660,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:661,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:664,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:664,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:665,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:665,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:666,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:667,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:668,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:669,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:672,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:673,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:674,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:675,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:677,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:678,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:679,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:684,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:685,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:686,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:689,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:690,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:697,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:698,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:699,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:700,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:701,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:702,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:704,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:706,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:707,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:709,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:715,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:715,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:717,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:718,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:720,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:721,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:726,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:728,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:729,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:732,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:734,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:735,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:736,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:742,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:744,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:746,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:747,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:748,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:749,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:750,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:751,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:752,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:754,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:756,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:758,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:761,1
    - Dst: TCMallocStats::num_released_total::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:762,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:763,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:765,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:766,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:768,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:769,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:770,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:771,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:772,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:775,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:776,1
    - Dst: PrintPbtxtStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:778,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:780,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:781,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:783,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:783,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:784,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:785,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:786,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:787,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:788,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:789,1
    - Dst: tcmalloc_internal::Parameters::background_release_rate
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:789,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:790,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:791,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:792,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:793,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:794,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:795,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:796,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:797,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:798,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:799,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:800,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:801,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:802,1
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:803,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:804,1
    - Dst: tcmalloc_internal::Parameters::huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:805,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:806,1
    - Dst: tcmalloc_internal::Parameters::huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:807,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:808,1
    - Dst: tcmalloc_internal::Parameters::release_pages_from_huge_region
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:809,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:810,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:811,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:812,1
    - Dst: PerCpuTypeString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:813,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:813,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:814,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:815,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:816,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:817,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:818,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:819,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:820,1
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:820,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:821,1
    - Dst: tcmalloc_internal::Parameters::usermode_hugepage_collapse
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:822,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:824,1
    - Dst: SizeClassConfigurationString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:826,1
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:826,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:827,1
    - Dst: MadviseString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:827,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:828,1
    - Dst: tcmalloc_internal::Parameters::resize_size_class_max_capacity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:829,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:835,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:836,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:841,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:847,1
    - Dst: VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:848,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:854,1
    - Dst: PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:855,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:862,1
    - Dst: InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:863,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:869,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:870,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:876,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:877,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:878,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:887,1
    - Dst: HeapSizeBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:888,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:894,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:901,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:908,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:917,1
    - Dst: SlackBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:918,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:925,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:933,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:934,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:939,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:944,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:951,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:958,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:965,1
    - Dst: LocalBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:966,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:972,1
    - Dst: ExternalBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:973,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:979,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:986,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:996,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1000,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1004,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1008,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1013,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1033,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1033,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1040,1
    - Dst: RequiredBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1041,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1046,1
    - Dst: FindExperimentByName
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1048,1
    - Dst: absl::StripPrefix
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1048,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1049,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1050,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 475
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 1060
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - ABSL_UNREACHABLE
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    - TCMallocStats::num_released_hard_limit_exceeded::in_mib
    - peak_heap_tracker
    - IsEnabled
    - tcmalloc_internal::Parameters::min_hot_access_hint
    - in_bytes
    - num_live_spans
    - absl::StartsWith
    - PbtxtRegion::PrintI64
    - PbtxtRegion::PrintRaw
    - transfer_cache
    - TCMallocStats::num_released_total::in_mib
    - per_size_class_counts
    - static_cast<int>
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    - sharded_transfer_cache
    - prob_returned
    - TCMallocStats::num_released_process_background_actions::in_pages
    - GetMemoryStats
    - static_cast<uint64_t>
    - absl::FormatDuration
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - CpuSet::GetAffinity
    - HeapSizeBytes
    - printf
    - TCMallocStats::num_released_hard_limit_exceeded::in_pages
    - CountAllowedCpus
    - PerCpuTypeString
    - size
    - UnmappedBytes
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - TCMallocStats::num_released_release_memory_to_system::in_pages
    - sampled_objects_size_::value
    - tcmalloc_internal::Parameters::huge_cache_demand_based_release
    - span_allocator
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::huge_region_demand_based_release
    - sizemap
    - TC_ASSERT_NE
    - tcmalloc_internal::ThreadCache::GetStats
    - pagemap
    - ExternalBytes
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - PrintTextStats
    - TCMallocStats::num_released_soft_limit_exceeded::in_pages
    - guardedpage_allocator
    - static_cast<size_t>
    - LocalBytes
    - SizeClassConfigurationString
    - UsePerCpuCache
    - sampled_internal_fragmentation_::value
    - TCMallocStats::num_released_release_memory_to_system::in_mib
    - auto::PrintI64
    - page_allocator
    - numa_topology
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - ASSUME
    - absl::StripPrefix
    - static_cast<int64_t>
    - PrintPbtxtStats
    - TCMallocStats::num_released_soft_limit_exceeded::in_mib
    - pagemap_residence
    - linked_sample_allocator
    - total_sampled_count_::value
    - central_freelist
    - MadviseString
    - tcmalloc_internal::Parameters::cache_demand_release_long_interval
    - PbtxtRegion::PrintBool
    - FindExperimentByName
    - absl::ToInt64Nanoseconds
    - TC_ASSERT_GE
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    - PbtxtRegion::CreateSubRegion
    - TCMallocStats::num_released_total::in_pages
    - cpu_cache
    - safe_div
    - CpuCacheActive
    - tcmalloc_internal::Parameters::background_release_rate
    - PhysicalMemoryUsed
    - size_class_configuration
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - system_allocator
    - sampledallocation_allocator
    - VirtualMemoryUsed
    - WalkExperiments
    - tcmalloc_internal::Parameters::release_pages_from_huge_region
    - tcmalloc_internal::Parameters::cache_demand_release_short_interval
    - tcmalloc_internal::Parameters::usermode_hugepage_collapse
    - RequiredBytes
    - TCMallocStats::num_released_process_background_actions::in_mib
    - ExtractTCMallocStats
    - StatSub
    - SlackBytes
    - InUseByApp
    - CpuSet::Count
    - tcmalloc_internal::Parameters::resize_size_class_max_capacity
    - metadata_bytes
    - PrintHooksState
    - IsExperimentActive
    - std::optional::has_value
    - arena
    - ExtractStats
    - tcmalloc_internal::Parameters::per_cpu_caches
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:64,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::MadviseString
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - ABSL_UNREACHABLE
    - system_allocator
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view MadviseString()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:93,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:94,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:96,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:98,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:99,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:106,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:108,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:113,1
    - Dst: span_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:120,1
    - Dst: sampledallocation_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:121,1
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:122,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:123,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:127,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:128,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:129,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:130,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:132,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:135,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:140,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:146,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:160,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:161,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:163,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:166,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:170,1
    - Dst: pagemap_residence
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:180,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:182,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 6
    argNames:
    - r
    - class_count
    - span_stats
    - small_spans
    - large_spans
    - report_residence
    argTypes:
    - TCMallocStats*
    - uint64_t*
    - SpanStats*
    - SmallSpanStats*
    - LargeSpanStats*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 187
    functionName: tcmalloc_internal::ExtractStats
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - transfer_cache
    - linked_sample_allocator
    - sampledallocation_allocator
    - pagemap_residence
    - cpu_cache
    - sizemap
    - arena
    - tcmalloc_internal::ThreadCache::GetStats
    - page_allocator
    - sharded_transfer_cache
    - pagemap
    - tcmalloc_internal::UsePerCpuCache
    - central_freelist
    - metadata_bytes
    - TC_ASSERT_GE
    - span_allocator
    linkageType: ''
    returnType: void
    signature: "void ExtractStats(TCMallocStats* r, uint64_t* class_count,\n                  SpanStats*
      span_stats, SmallSpanStats* small_spans,\n                  LargeSpanStats*
      large_spans, bool report_residence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - report_residence
    argTypes:
    - TCMallocStats*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: tcmalloc_internal::ExtractTCMallocStats
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ExtractStats
    linkageType: ''
    returnType: void
    signature: void ExtractTCMallocStats(TCMallocStats* r, bool report_residence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: tcmalloc_internal::StatSub
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t StatSub(uint64_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StatSub
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: tcmalloc_internal::InUseByApp
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StatSub
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t InUseByApp(const TCMallocStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: tcmalloc_internal::VirtualMemoryUsed
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t VirtualMemoryUsed(const TCMallocStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::UnmappedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t UnmappedBytes(const TCMallocStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StatSub
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:220,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:220,1
    - Dst: tcmalloc_internal::UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: tcmalloc_internal::PhysicalMemoryUsed
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StatSub
    - tcmalloc_internal::VirtualMemoryUsed
    - tcmalloc_internal::UnmappedBytes
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PhysicalMemoryUsed(const TCMallocStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StatSub
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:226,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::RequiredBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StatSub
    - tcmalloc_internal::PhysicalMemoryUsed
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t RequiredBytes(const TCMallocStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: tcmalloc_internal::ExternalBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ExternalBytes(const TCMallocStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StatSub
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - BackingStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::HeapSizeBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StatSub
    linkageType: ''
    returnType: size_t
    signature: size_t HeapSizeBytes(const BackingStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: tcmalloc_internal::LocalBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LocalBytes(const TCMallocStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - BackingStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::SlackBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SlackBytes(const BackingStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:250,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:251,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:252,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:253,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' printer'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: tcmalloc_internal::PrintHooksState
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - printf
    - size
    linkageType: ''
    returnType: void
    signature: void PrintHooksState(Printer& printer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:262,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: tcmalloc_internal::CountAllowedCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - CpuSet::GetAffinity
    - CpuSet::Count
    linkageType: ''
    returnType: int
    signature: int CountAllowedCpus()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - config
    argTypes:
    - SizeClassConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 285
    functionName: tcmalloc_internal::SizeClassConfigurationString
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - ASSUME
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view SizeClassConfigurationString(\n    SizeClassConfiguration
      config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mode
    argTypes:
    - RseqVcpuMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: tcmalloc_internal::PerCpuTypeString
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - ASSUME
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view PerCpuTypeString(RseqVcpuMode mode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:302,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:304,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:309,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:313,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:314,1
    - Dst: tcmalloc_internal::UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:315,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:316,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:319,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:323,1
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:398,1
    - Dst: tcmalloc_internal::CountAllowedCpus
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:401,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:406,1
    - Dst: WalkExperiments
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:407,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:409,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:411,1
    - Dst: tcmalloc_internal::PrintHooksState
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:413,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:414,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:417,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:417,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:418,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:419,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:420,1
    - Dst: tcmalloc_internal::GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:423,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:427,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:436,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:443,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:444,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:445,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:446,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:447,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:452,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:455,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:460,1
    - Dst: tcmalloc_internal::num_live_spans
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:462,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:463,1
    - Dst: tcmalloc_internal::prob_returned
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:466,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:470,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:471,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:472,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:473,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:475,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:478,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:479,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:480,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:481,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:482,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:484,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:488,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:488,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:489,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:490,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:492,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:493,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:497,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:498,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:499,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:501,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:502,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:503,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:504,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:506,1
    - Dst: PrintTextStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:507,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:509,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:510,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:511,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:513,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:515,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:517,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:518,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:519,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:520,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:521,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:522,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:523,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:524,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:526,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:527,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:530,1
    - Dst: TCMallocStats::num_released_total::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:531,1
    - Dst: TCMallocStats::num_released_total::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:532,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:533,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:536,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:537,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:538,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:541,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:542,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:543,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:546,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:547,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:548,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:551,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:552,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:554,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:555,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:556,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:557,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:558,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:559,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:560,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:561,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:562,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:563,1
    - Dst: tcmalloc_internal::Parameters::background_release_rate
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:564,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:565,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:566,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:567,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:568,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:569,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:570,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:571,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:572,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:573,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:574,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:576,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:576,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:577,1
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:578,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:579,1
    - Dst: tcmalloc_internal::Parameters::huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:580,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:581,1
    - Dst: tcmalloc_internal::Parameters::huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:582,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:583,1
    - Dst: tcmalloc_internal::Parameters::release_pages_from_huge_region
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:584,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:585,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:586,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:588,1
    - Dst: tcmalloc_internal::SizeClassConfigurationString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:590,1
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:590,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:591,1
    - Dst: tcmalloc_internal::PerCpuTypeString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:592,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:592,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:593,1
    - Dst: tcmalloc_internal::MadviseString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:593,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:594,1
    - Dst: tcmalloc_internal::Parameters::resize_size_class_max_capacity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:595,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:596,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:598,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:600,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:601,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:602,1
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:602,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:603,1
    - Dst: tcmalloc_internal::Parameters::usermode_hugepage_collapse
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:604,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 100
    argCount: 2
    argNames:
    - ' out'
    - level
    argTypes:
    - Printer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 297
    functionDepth: 5
    functionLinenumber: 297
    functionLinenumberEnd: 606
    functionName: tcmalloc_internal::DumpStats
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PhysicalMemoryUsed
    - TCMallocStats::num_released_release_memory_to_system::in_mib
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    - page_allocator
    - TCMallocStats::num_released_hard_limit_exceeded::in_mib
    - tcmalloc_internal::ExtractTCMallocStats
    - absl::FormatDuration
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - numa_topology
    - peak_heap_tracker
    - tcmalloc_internal::prob_returned
    - printf
    - IsEnabled
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - tcmalloc_internal::Parameters::min_hot_access_hint
    - tcmalloc_internal::num_live_spans
    - tcmalloc_internal::VirtualMemoryUsed
    - TCMallocStats::num_released_hard_limit_exceeded::in_pages
    - tcmalloc_internal::UnmappedBytes
    - tcmalloc_internal::MadviseString
    - WalkExperiments
    - tcmalloc_internal::Parameters::release_pages_from_huge_region
    - tcmalloc_internal::InUseByApp
    - tcmalloc_internal::Parameters::cache_demand_release_short_interval
    - tcmalloc_internal::PrintHooksState
    - tcmalloc_internal::UsePerCpuCache
    - tcmalloc_internal::Parameters::usermode_hugepage_collapse
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - TCMallocStats::num_released_release_memory_to_system::in_pages
    - sampled_objects_size_::value
    - tcmalloc_internal::safe_div
    - tcmalloc_internal::Parameters::huge_cache_demand_based_release
    - TCMallocStats::num_released_soft_limit_exceeded::in_mib
    - TCMallocStats::num_released_process_background_actions::in_mib
    - transfer_cache
    - TCMallocStats::num_released_total::in_mib
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::huge_region_demand_based_release
    - total_sampled_count_::value
    - sizemap
    - tcmalloc_internal::PerCpuTypeString
    - central_freelist
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::cache_demand_release_long_interval
    - tcmalloc_internal::CountAllowedCpus
    - per_size_class_counts
    - PrintTextStats
    - tcmalloc_internal::Parameters::resize_size_class_max_capacity
    - tcmalloc_internal::GetMemoryStats
    - tcmalloc_internal::ExtractStats
    - TCMallocStats::num_released_soft_limit_exceeded::in_pages
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    - size_class_configuration
    - TCMallocStats::num_released_total::in_pages
    - cpu_cache
    - guardedpage_allocator
    - sharded_transfer_cache
    - static_cast<size_t>
    - tcmalloc_internal::SizeClassConfigurationString
    - TCMallocStats::num_released_process_background_actions::in_pages
    - tcmalloc_internal::Parameters::background_release_rate
    - sampled_internal_fragmentation_::value
    - tcmalloc_internal::Parameters::per_cpu_caches
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void DumpStats(Printer& out, int level)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:613,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:615,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:618,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:619,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:620,1
    - Dst: tcmalloc_internal::UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:621,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:624,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:625,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:626,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:627,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:628,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:630,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:631,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:632,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:633,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:635,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:637,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:638,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:639,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:640,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:641,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:642,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:643,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:644,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:645,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:647,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:649,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:651,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:652,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:653,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:654,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:655,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:656,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:658,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:659,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:660,1
    - Dst: tcmalloc_internal::CountAllowedCpus
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:660,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:661,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:664,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:664,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:665,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:665,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:666,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:667,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:668,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:669,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:672,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:673,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:674,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:675,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:677,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:678,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:679,1
    - Dst: tcmalloc_internal::GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:684,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:685,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:686,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:689,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:690,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:697,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:698,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:699,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:700,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:701,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:702,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:704,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:706,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:707,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:709,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:715,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:715,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:717,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:718,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:720,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:721,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:726,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:728,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:729,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:732,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:734,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:735,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:736,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:742,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:744,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:746,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:747,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:748,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:749,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:750,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:751,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:752,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:754,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:756,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:758,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:761,1
    - Dst: TCMallocStats::num_released_total::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:762,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:763,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:765,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:766,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:768,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:769,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:770,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:771,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:772,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:775,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:776,1
    - Dst: PrintPbtxtStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:778,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:780,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:781,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:783,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:783,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:784,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:785,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:786,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:787,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:788,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:789,1
    - Dst: tcmalloc_internal::Parameters::background_release_rate
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:789,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:790,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:791,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:792,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:793,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:794,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:795,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:796,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:797,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:798,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:799,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:800,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:801,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:802,1
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:803,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:804,1
    - Dst: tcmalloc_internal::Parameters::huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:805,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:806,1
    - Dst: tcmalloc_internal::Parameters::huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:807,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:808,1
    - Dst: tcmalloc_internal::Parameters::release_pages_from_huge_region
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:809,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:810,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:811,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:812,1
    - Dst: tcmalloc_internal::PerCpuTypeString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:813,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:813,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:814,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:815,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:816,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:817,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:818,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:819,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:820,1
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:820,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:821,1
    - Dst: tcmalloc_internal::Parameters::usermode_hugepage_collapse
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:822,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:824,1
    - Dst: tcmalloc_internal::SizeClassConfigurationString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:826,1
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:826,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:827,1
    - Dst: tcmalloc_internal::MadviseString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:827,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:828,1
    - Dst: tcmalloc_internal::Parameters::resize_size_class_max_capacity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:829,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 113
    argCount: 2
    argNames:
    - ' out'
    - level
    argTypes:
    - Printer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 608
    functionDepth: 5
    functionLinenumber: 608
    functionLinenumberEnd: 830
    functionName: tcmalloc_internal::DumpStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PhysicalMemoryUsed
    - auto::PrintI64
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    - page_allocator
    - tcmalloc_internal::Parameters::resize_size_class_max_capacity
    - tcmalloc_internal::ExtractTCMallocStats
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - numa_topology
    - peak_heap_tracker
    - IsEnabled
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - tcmalloc_internal::Parameters::min_hot_access_hint
    - tcmalloc_internal::VirtualMemoryUsed
    - TCMallocStats::num_released_hard_limit_exceeded::in_pages
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc_internal::UnmappedBytes
    - system_allocator
    - tcmalloc_internal::MadviseString
    - tcmalloc_internal::Parameters::release_pages_from_huge_region
    - tcmalloc_internal::InUseByApp
    - tcmalloc_internal::Parameters::cache_demand_release_short_interval
    - PbtxtRegion::PrintI64
    - size
    - tcmalloc_internal::UsePerCpuCache
    - tcmalloc_internal::Parameters::usermode_hugepage_collapse
    - static_cast<int64_t>
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - PrintPbtxtStats
    - TCMallocStats::num_released_release_memory_to_system::in_pages
    - sampled_objects_size_::value
    - tcmalloc_internal::Parameters::huge_cache_demand_based_release
    - PbtxtRegion::PrintRaw
    - transfer_cache
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::huge_region_demand_based_release
    - total_sampled_count_::value
    - sizemap
    - tcmalloc_internal::PerCpuTypeString
    - central_freelist
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::cache_demand_release_long_interval
    - PbtxtRegion::PrintBool
    - tcmalloc_internal::CountAllowedCpus
    - per_size_class_counts
    - absl::ToInt64Nanoseconds
    - static_cast<int>
    - tcmalloc_internal::GetMemoryStats
    - tcmalloc_internal::ExtractStats
    - TCMallocStats::num_released_soft_limit_exceeded::in_pages
    - PbtxtRegion::CreateSubRegion
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    - TCMallocStats::num_released_total::in_pages
    - cpu_cache
    - size_class_configuration
    - guardedpage_allocator
    - sharded_transfer_cache
    - tcmalloc_internal::SizeClassConfigurationString
    - TCMallocStats::num_released_process_background_actions::in_pages
    - tcmalloc_internal::Parameters::background_release_rate
    - sampled_internal_fragmentation_::value
    - tcmalloc_internal::Parameters::per_cpu_caches
    linkageType: ''
    returnType: void
    signature: void DumpStatsInPbtxt(Printer& out, int level)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:835,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:836,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:841,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:847,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:848,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:854,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:855,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:862,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:863,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:869,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:870,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:876,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:877,1
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:878,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:887,1
    - Dst: tcmalloc_internal::HeapSizeBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:888,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:894,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:901,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:908,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:917,1
    - Dst: tcmalloc_internal::SlackBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:918,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:925,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:933,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:934,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:939,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:944,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:951,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:958,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:965,1
    - Dst: tcmalloc_internal::LocalBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:966,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:972,1
    - Dst: tcmalloc_internal::ExternalBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:973,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:979,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:986,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:996,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1000,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1004,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1008,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1013,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1033,1
    - Dst: tcmalloc_internal::in_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1033,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1040,1
    - Dst: tcmalloc_internal::RequiredBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1041,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1046,1
    - Dst: FindExperimentByName
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1048,1
    - Dst: absl::StripPrefix
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1048,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1049,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1050,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 138
    argCount: 3
    argNames:
    - name_data
    - name_size
    - value
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 832
    functionDepth: 5
    functionLinenumber: 832
    functionLinenumberEnd: 1057
    functionName: tcmalloc_internal::GetNumericProperty
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SlackBytes
    - tcmalloc_internal::PhysicalMemoryUsed
    - page_allocator
    - static_cast<uint64_t>
    - tcmalloc_internal::ExtractTCMallocStats
    - tcmalloc_internal::VirtualMemoryUsed
    - absl::StartsWith
    - tcmalloc_internal::InUseByApp
    - absl::StripPrefix
    - tcmalloc_internal::RequiredBytes
    - tcmalloc_internal::in_bytes
    - tcmalloc_internal::safe_div
    - TC_ASSERT_NE
    - tcmalloc_internal::ExternalBytes
    - FindExperimentByName
    - tcmalloc_internal::HeapSizeBytes
    - IsExperimentActive
    - tcmalloc_internal::LocalBytes
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    - arena
    - std::optional::has_value
    - CpuCacheActive
    - sampled_internal_fragmentation_::value
    linkageType: ''
    returnType: bool
    signature: "bool GetNumericProperty(const char* name_data, size_t name_size,\n
      \                       size_t* value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:64,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::MadviseString
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 2
    functionsReached:
    - ABSL_UNREACHABLE
    - system_allocator
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view MadviseString()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:93,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:94,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:96,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:98,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:99,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:106,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:108,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:113,1
    - Dst: span_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:120,1
    - Dst: sampledallocation_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:121,1
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:122,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:123,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:127,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:128,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:129,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:130,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:132,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:135,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:140,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:146,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:160,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:161,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:163,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:166,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:170,1
    - Dst: pagemap_residence
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:180,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:182,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 6
    argNames:
    - r
    - class_count
    - span_stats
    - small_spans
    - large_spans
    - report_residence
    argTypes:
    - TCMallocStats*
    - uint64_t*
    - SpanStats*
    - SmallSpanStats*
    - LargeSpanStats*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 187
    functionName: tcmalloc_internal::ExtractStats
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 3
    functionsReached:
    - transfer_cache
    - linked_sample_allocator
    - sampledallocation_allocator
    - pagemap_residence
    - cpu_cache
    - sizemap
    - arena
    - tcmalloc_internal::ThreadCache::GetStats
    - page_allocator
    - sharded_transfer_cache
    - pagemap
    - tcmalloc_internal::UsePerCpuCache
    - central_freelist
    - metadata_bytes
    - TC_ASSERT_GE
    - span_allocator
    linkageType: ''
    returnType: void
    signature: "void ExtractStats(TCMallocStats* r, uint64_t* class_count,\n                  SpanStats*
      span_stats, SmallSpanStats* small_spans,\n                  LargeSpanStats*
      large_spans, bool report_residence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - report_residence
    argTypes:
    - TCMallocStats*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: tcmalloc_internal::ExtractTCMallocStats
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::ExtractStats
    linkageType: ''
    returnType: void
    signature: void ExtractTCMallocStats(TCMallocStats* r, bool report_residence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: tcmalloc_internal::StatSub
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t StatSub(uint64_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StatSub
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: tcmalloc_internal::InUseByApp
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::StatSub
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t InUseByApp(const TCMallocStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: tcmalloc_internal::VirtualMemoryUsed
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t VirtualMemoryUsed(const TCMallocStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::UnmappedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t UnmappedBytes(const TCMallocStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StatSub
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:220,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:220,1
    - Dst: tcmalloc_internal::UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: tcmalloc_internal::PhysicalMemoryUsed
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::StatSub
    - tcmalloc_internal::VirtualMemoryUsed
    - tcmalloc_internal::UnmappedBytes
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PhysicalMemoryUsed(const TCMallocStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StatSub
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:226,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::RequiredBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::StatSub
    - tcmalloc_internal::PhysicalMemoryUsed
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t RequiredBytes(const TCMallocStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: tcmalloc_internal::ExternalBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ExternalBytes(const TCMallocStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StatSub
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - BackingStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::HeapSizeBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::StatSub
    linkageType: ''
    returnType: size_t
    signature: size_t HeapSizeBytes(const BackingStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: tcmalloc_internal::LocalBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LocalBytes(const TCMallocStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - BackingStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::SlackBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SlackBytes(const BackingStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:250,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:251,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:252,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:253,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' printer'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: tcmalloc_internal::PrintHooksState
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 1
    functionsReached:
    - printf
    - size
    linkageType: ''
    returnType: void
    signature: void PrintHooksState(Printer& printer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:262,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: tcmalloc_internal::CountAllowedCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 2
    functionsReached:
    - CpuSet::GetAffinity
    - CpuSet::Count
    linkageType: ''
    returnType: int
    signature: int CountAllowedCpus()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - config
    argTypes:
    - SizeClassConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 285
    functionName: tcmalloc_internal::SizeClassConfigurationString
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 2
    functionsReached:
    - ASSUME
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view SizeClassConfigurationString(\n    SizeClassConfiguration
      config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mode
    argTypes:
    - RseqVcpuMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: tcmalloc_internal::PerCpuTypeString
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 2
    functionsReached:
    - ASSUME
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view PerCpuTypeString(RseqVcpuMode mode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:302,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:304,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:309,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:313,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:314,1
    - Dst: tcmalloc_internal::UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:315,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:316,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:319,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:323,1
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:398,1
    - Dst: tcmalloc_internal::CountAllowedCpus
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:401,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:406,1
    - Dst: WalkExperiments
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:407,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:409,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:411,1
    - Dst: tcmalloc_internal::PrintHooksState
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:413,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:414,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:417,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:417,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:418,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:419,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:420,1
    - Dst: tcmalloc_internal::GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:423,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:427,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:436,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:443,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:444,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:445,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:446,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:447,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:452,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:455,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:460,1
    - Dst: tcmalloc_internal::num_live_spans
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:462,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:463,1
    - Dst: tcmalloc_internal::prob_returned
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:466,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:470,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:471,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:472,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:473,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:475,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:478,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:479,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:480,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:481,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:482,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:484,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:488,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:488,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:489,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:490,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:492,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:493,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:497,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:498,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:499,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:501,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:502,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:503,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:504,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:506,1
    - Dst: PrintTextStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:507,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:509,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:510,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:511,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:513,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:515,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:517,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:518,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:519,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:520,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:521,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:522,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:523,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:524,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:526,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:527,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:530,1
    - Dst: TCMallocStats::num_released_total::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:531,1
    - Dst: TCMallocStats::num_released_total::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:532,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:533,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:536,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:537,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:538,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:541,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:542,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:543,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:546,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:547,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:548,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:551,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:552,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:554,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:555,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:556,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:557,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:558,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:559,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:560,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:561,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:562,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:563,1
    - Dst: tcmalloc_internal::Parameters::background_release_rate
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:564,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:565,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:566,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:567,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:568,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:569,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:570,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:571,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:572,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:573,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:574,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:576,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:576,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:577,1
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:578,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:579,1
    - Dst: tcmalloc_internal::Parameters::huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:580,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:581,1
    - Dst: tcmalloc_internal::Parameters::huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:582,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:583,1
    - Dst: tcmalloc_internal::Parameters::release_pages_from_huge_region
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:584,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:585,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:586,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:588,1
    - Dst: tcmalloc_internal::SizeClassConfigurationString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:590,1
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:590,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:591,1
    - Dst: tcmalloc_internal::PerCpuTypeString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:592,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:592,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:593,1
    - Dst: tcmalloc_internal::MadviseString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:593,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:594,1
    - Dst: tcmalloc_internal::Parameters::resize_size_class_max_capacity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:595,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:596,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:598,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:600,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:601,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:602,1
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:602,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:603,1
    - Dst: tcmalloc_internal::Parameters::usermode_hugepage_collapse
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:604,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 100
    argCount: 2
    argNames:
    - ' out'
    - level
    argTypes:
    - Printer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 297
    functionDepth: 5
    functionLinenumber: 297
    functionLinenumberEnd: 606
    functionName: tcmalloc_internal::DumpStats
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PhysicalMemoryUsed
    - TCMallocStats::num_released_release_memory_to_system::in_mib
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    - page_allocator
    - TCMallocStats::num_released_hard_limit_exceeded::in_mib
    - tcmalloc_internal::ExtractTCMallocStats
    - absl::FormatDuration
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - numa_topology
    - peak_heap_tracker
    - tcmalloc_internal::prob_returned
    - printf
    - IsEnabled
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - tcmalloc_internal::Parameters::min_hot_access_hint
    - tcmalloc_internal::num_live_spans
    - tcmalloc_internal::VirtualMemoryUsed
    - TCMallocStats::num_released_hard_limit_exceeded::in_pages
    - tcmalloc_internal::UnmappedBytes
    - tcmalloc_internal::MadviseString
    - WalkExperiments
    - tcmalloc_internal::Parameters::release_pages_from_huge_region
    - tcmalloc_internal::InUseByApp
    - tcmalloc_internal::Parameters::cache_demand_release_short_interval
    - tcmalloc_internal::PrintHooksState
    - tcmalloc_internal::UsePerCpuCache
    - tcmalloc_internal::Parameters::usermode_hugepage_collapse
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - TCMallocStats::num_released_release_memory_to_system::in_pages
    - sampled_objects_size_::value
    - tcmalloc_internal::safe_div
    - tcmalloc_internal::Parameters::huge_cache_demand_based_release
    - TCMallocStats::num_released_soft_limit_exceeded::in_mib
    - TCMallocStats::num_released_process_background_actions::in_mib
    - transfer_cache
    - TCMallocStats::num_released_total::in_mib
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::huge_region_demand_based_release
    - total_sampled_count_::value
    - sizemap
    - tcmalloc_internal::PerCpuTypeString
    - central_freelist
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::cache_demand_release_long_interval
    - tcmalloc_internal::CountAllowedCpus
    - per_size_class_counts
    - PrintTextStats
    - tcmalloc_internal::Parameters::resize_size_class_max_capacity
    - tcmalloc_internal::GetMemoryStats
    - tcmalloc_internal::ExtractStats
    - TCMallocStats::num_released_soft_limit_exceeded::in_pages
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    - size_class_configuration
    - TCMallocStats::num_released_total::in_pages
    - cpu_cache
    - guardedpage_allocator
    - sharded_transfer_cache
    - static_cast<size_t>
    - tcmalloc_internal::SizeClassConfigurationString
    - TCMallocStats::num_released_process_background_actions::in_pages
    - tcmalloc_internal::Parameters::background_release_rate
    - sampled_internal_fragmentation_::value
    - tcmalloc_internal::Parameters::per_cpu_caches
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void DumpStats(Printer& out, int level)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:613,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:615,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:618,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:619,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:620,1
    - Dst: tcmalloc_internal::UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:621,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:624,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:625,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:626,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:627,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:628,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:630,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:631,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:632,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:633,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:635,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:637,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:638,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:639,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:640,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:641,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:642,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:643,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:644,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:645,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:647,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:649,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:651,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:652,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:653,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:654,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:655,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:656,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:658,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:659,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:660,1
    - Dst: tcmalloc_internal::CountAllowedCpus
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:660,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:661,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:664,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:664,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:665,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:665,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:666,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:667,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:668,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:669,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:672,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:673,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:674,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:675,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:677,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:678,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:679,1
    - Dst: tcmalloc_internal::GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:684,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:685,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:686,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:689,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:690,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:697,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:698,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:699,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:700,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:701,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:702,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:704,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:706,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:707,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:709,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:715,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:715,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:717,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:718,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:720,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:721,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:726,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:728,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:729,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:732,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:734,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:735,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:736,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:742,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:744,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:746,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:747,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:748,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:749,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:750,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:751,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:752,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:754,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:756,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:758,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:761,1
    - Dst: TCMallocStats::num_released_total::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:762,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:763,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:765,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:766,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:768,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:769,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:770,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:771,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:772,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:775,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:776,1
    - Dst: PrintPbtxtStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:778,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:780,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:781,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:783,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:783,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:784,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:785,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:786,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:787,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:788,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:789,1
    - Dst: tcmalloc_internal::Parameters::background_release_rate
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:789,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:790,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:791,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:792,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:793,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:794,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:795,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:796,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:797,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:798,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:799,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:800,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:801,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:802,1
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:803,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:804,1
    - Dst: tcmalloc_internal::Parameters::huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:805,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:806,1
    - Dst: tcmalloc_internal::Parameters::huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:807,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:808,1
    - Dst: tcmalloc_internal::Parameters::release_pages_from_huge_region
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:809,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:810,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:811,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:812,1
    - Dst: tcmalloc_internal::PerCpuTypeString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:813,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:813,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:814,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:815,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:816,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:817,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:818,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:819,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:820,1
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:820,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:821,1
    - Dst: tcmalloc_internal::Parameters::usermode_hugepage_collapse
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:822,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:824,1
    - Dst: tcmalloc_internal::SizeClassConfigurationString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:826,1
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:826,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:827,1
    - Dst: tcmalloc_internal::MadviseString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:827,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:828,1
    - Dst: tcmalloc_internal::Parameters::resize_size_class_max_capacity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:829,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 113
    argCount: 2
    argNames:
    - ' out'
    - level
    argTypes:
    - Printer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 608
    functionDepth: 5
    functionLinenumber: 608
    functionLinenumberEnd: 830
    functionName: tcmalloc_internal::DumpStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PhysicalMemoryUsed
    - auto::PrintI64
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    - page_allocator
    - tcmalloc_internal::Parameters::resize_size_class_max_capacity
    - tcmalloc_internal::ExtractTCMallocStats
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - numa_topology
    - peak_heap_tracker
    - IsEnabled
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - tcmalloc_internal::Parameters::min_hot_access_hint
    - tcmalloc_internal::VirtualMemoryUsed
    - TCMallocStats::num_released_hard_limit_exceeded::in_pages
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc_internal::UnmappedBytes
    - system_allocator
    - tcmalloc_internal::MadviseString
    - tcmalloc_internal::Parameters::release_pages_from_huge_region
    - tcmalloc_internal::InUseByApp
    - tcmalloc_internal::Parameters::cache_demand_release_short_interval
    - PbtxtRegion::PrintI64
    - size
    - tcmalloc_internal::UsePerCpuCache
    - tcmalloc_internal::Parameters::usermode_hugepage_collapse
    - static_cast<int64_t>
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - PrintPbtxtStats
    - TCMallocStats::num_released_release_memory_to_system::in_pages
    - sampled_objects_size_::value
    - tcmalloc_internal::Parameters::huge_cache_demand_based_release
    - PbtxtRegion::PrintRaw
    - transfer_cache
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::huge_region_demand_based_release
    - total_sampled_count_::value
    - sizemap
    - tcmalloc_internal::PerCpuTypeString
    - central_freelist
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::cache_demand_release_long_interval
    - PbtxtRegion::PrintBool
    - tcmalloc_internal::CountAllowedCpus
    - per_size_class_counts
    - absl::ToInt64Nanoseconds
    - static_cast<int>
    - tcmalloc_internal::GetMemoryStats
    - tcmalloc_internal::ExtractStats
    - TCMallocStats::num_released_soft_limit_exceeded::in_pages
    - PbtxtRegion::CreateSubRegion
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    - TCMallocStats::num_released_total::in_pages
    - cpu_cache
    - size_class_configuration
    - guardedpage_allocator
    - sharded_transfer_cache
    - tcmalloc_internal::SizeClassConfigurationString
    - TCMallocStats::num_released_process_background_actions::in_pages
    - tcmalloc_internal::Parameters::background_release_rate
    - sampled_internal_fragmentation_::value
    - tcmalloc_internal::Parameters::per_cpu_caches
    linkageType: ''
    returnType: void
    signature: void DumpStatsInPbtxt(Printer& out, int level)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:835,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:836,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:841,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:847,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:848,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:854,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:855,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:862,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:863,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:869,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:870,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:876,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:877,1
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:878,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:887,1
    - Dst: tcmalloc_internal::HeapSizeBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:888,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:894,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:901,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:908,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:917,1
    - Dst: tcmalloc_internal::SlackBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:918,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:925,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:933,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:934,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:939,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:944,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:951,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:958,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:965,1
    - Dst: tcmalloc_internal::LocalBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:966,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:972,1
    - Dst: tcmalloc_internal::ExternalBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:973,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:979,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:986,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:996,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1000,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1004,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1008,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1013,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1033,1
    - Dst: tcmalloc_internal::in_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1033,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1040,1
    - Dst: tcmalloc_internal::RequiredBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1041,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1046,1
    - Dst: FindExperimentByName
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1048,1
    - Dst: absl::StripPrefix
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1048,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1049,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1050,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 138
    argCount: 3
    argNames:
    - name_data
    - name_size
    - value
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 832
    functionDepth: 5
    functionLinenumber: 832
    functionLinenumberEnd: 1057
    functionName: tcmalloc_internal::GetNumericProperty
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SlackBytes
    - tcmalloc_internal::PhysicalMemoryUsed
    - page_allocator
    - static_cast<uint64_t>
    - tcmalloc_internal::ExtractTCMallocStats
    - tcmalloc_internal::VirtualMemoryUsed
    - absl::StartsWith
    - tcmalloc_internal::InUseByApp
    - absl::StripPrefix
    - tcmalloc_internal::RequiredBytes
    - tcmalloc_internal::in_bytes
    - tcmalloc_internal::safe_div
    - TC_ASSERT_NE
    - tcmalloc_internal::ExternalBytes
    - FindExperimentByName
    - tcmalloc_internal::HeapSizeBytes
    - IsExperimentActive
    - tcmalloc_internal::LocalBytes
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    - arena
    - std::optional::has_value
    - CpuCacheActive
    - sampled_internal_fragmentation_::value
    linkageType: ''
    returnType: bool
    signature: "bool GetNumericProperty(const char* name_data, size_t name_size,\n
      \                       size_t* value)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:50,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:62,1
    - Dst: reinterpret_cast<const ucontext_t*>
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:81,1
    - Dst: reinterpret_cast<const ucontext_t*>
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:86,1
    - Dst: Aarch64GetESR
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:88,1
    - Dst: ExtractWriteFlagFromContext
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:138,1
    - Dst: RefineErrorTypeBasedOnWriteFlag
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:139,1
    - Dst: SelsanTrapHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:149,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:153,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:157,1
    - Dst: ExtractWriteFlagFromContext
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:160,1
    - Dst: RefineErrorTypeBasedOnWriteFlag
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:161,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:162,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:165,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:166,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:168,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:169,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:170,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:172,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:178,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:179,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:180,1
    - Dst: WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:181,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:182,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:187,1
    - Dst: WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:188,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:189,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:194,1
    - Dst: WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:195,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:196,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:199,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:200,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:201,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:202,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:205,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:207,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:210,1
    - Dst: PrintStackTraceFromSignalHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:212,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:214,1
    - Dst: sa_sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:226,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:229,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:231,1
    - Dst: raise
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:233,1
    - Dst: sa_handler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:237,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:242,1
    - Dst: ForwardSignal
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:243,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:248,1
    - Dst: sigemptyset
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:251,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:253,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:254,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:255,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 151
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 260
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - ForwardSignal
    - Aarch64GetESR
    - PrintStackTrace
    - absl::base_internal::LowLevelCallOnce
    - ASSUME
    - sigemptyset
    - ExtractWriteFlagFromContext
    - RecordCrash
    - sa_sigaction
    - raise
    - sigaction
    - PrintStackTraceFromSignalHandler
    - std::tie
    - reinterpret_cast<const ucontext_t*>
    - RefineErrorTypeBasedOnWriteFlag
    - SelsanTrapHandler
    - absl::base_internal::GetTID
    - guardedpage_allocator
    - TC_BUG
    - WriteFlagToString
    - TC_LOG
    - SegvHandler
    - sa_handler
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - write_flag
    argTypes:
    - WriteFlag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::WriteFlagToString
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - ASSUME
    linkageType: ''
    returnType: char
    signature: char * WriteFlagToString(WriteFlag write_flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ucontext
    - esr
    argTypes:
    - ucontext_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::Aarch64GetESR
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: bool
    signature: bool Aarch64GetESR(const ucontext_t* ucontext, uint64_t* esr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ucontext_t*>
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:81,1
    - Dst: reinterpret_cast<const ucontext_t*>
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:86,1
    - Dst: tcmalloc_internal::Aarch64GetESR
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::ExtractWriteFlagFromContext
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ucontext_t*>
    - tcmalloc_internal::Aarch64GetESR
    linkageType: ''
    returnType: WriteFlag
    signature: WriteFlag ExtractWriteFlagFromContext(const void* context)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - error
    - write_flag
    argTypes:
    - GuardedAllocationsErrorType
    - WriteFlag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 134
    functionName: tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GuardedAllocationsErrorType
    signature: "GuardedAllocationsErrorType RefineErrorTypeBasedOnWriteFlag(\n    GuardedAllocationsErrorType
      error, WriteFlag write_flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractWriteFlagFromContext
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:138,1
    - Dst: tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - error
    argTypes:
    - void*
    - GuardedAllocationsErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: tcmalloc_internal::RefineErrorTypeBasedOnContext
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
    - tcmalloc_internal::ExtractWriteFlagFromContext
    linkageType: ''
    returnType: GuardedAllocationsErrorType
    signature: "GuardedAllocationsErrorType RefineErrorTypeBasedOnContext(\n    const
      void* context, GuardedAllocationsErrorType error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - info
    - ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::SelsanTrapHandler
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: ABSL_ATTRIBUTE_WEAK SelsanTrapHandler(void* info, void* ctx)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SelsanTrapHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:149,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:153,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:157,1
    - Dst: tcmalloc_internal::ExtractWriteFlagFromContext
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:160,1
    - Dst: tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:161,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:162,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:165,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:166,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:168,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:169,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:170,1
    - Dst: tcmalloc_internal::PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:172,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:178,1
    - Dst: tcmalloc_internal::PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:179,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:180,1
    - Dst: tcmalloc_internal::WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:181,1
    - Dst: tcmalloc_internal::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:182,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:187,1
    - Dst: tcmalloc_internal::WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:188,1
    - Dst: tcmalloc_internal::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:189,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:194,1
    - Dst: tcmalloc_internal::WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:195,1
    - Dst: tcmalloc_internal::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:196,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:199,1
    - Dst: tcmalloc_internal::PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:200,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:201,1
    - Dst: tcmalloc_internal::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:202,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:205,1
    - Dst: tcmalloc_internal::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:207,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:210,1
    - Dst: tcmalloc_internal::PrintStackTraceFromSignalHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:212,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:214,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 3
    argNames:
    - signo
    - info
    - context
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 218
    functionName: tcmalloc_internal::SegvHandler
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
    - absl::base_internal::GetTID
    - tcmalloc_internal::PrintStackTraceFromSignalHandler
    - tcmalloc_internal::ExtractWriteFlagFromContext
    - tcmalloc_internal::PrintStackTrace
    - guardedpage_allocator
    - TC_BUG
    - std::tie
    - TC_LOG
    - tcmalloc_internal::WriteFlagToString
    - tcmalloc_internal::SelsanTrapHandler
    - tcmalloc_internal::RecordCrash
    linkageType: ''
    returnType: void
    signature: void SegvHandler(int signo, siginfo_t* info, void* context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sa_sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:226,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:229,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:231,1
    - Dst: raise
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:233,1
    - Dst: sa_handler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - signo
    - info
    - context
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: tcmalloc_internal::ForwardSignal
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - sigaction
    - sa_sigaction
    - raise
    - TC_LOG
    - sa_handler
    linkageType: ''
    returnType: void
    signature: void ForwardSignal(int signo, siginfo_t* info, void* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:242,1
    - Dst: tcmalloc_internal::ForwardSignal
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - signo
    - info
    - context
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: tcmalloc_internal::HandleSegvAndForward
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SegvHandler
    - tcmalloc_internal::ForwardSignal
    linkageType: ''
    returnType: void
    signature: void HandleSegvAndForward(int signo, siginfo_t* info, void* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:248,1
    - Dst: sigemptyset
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:251,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:253,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:254,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: tcmalloc_internal::MallocExtension_Internal_ActivateGuardedSampling
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - sigaction
    - sigemptyset
    - guardedpage_allocator
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void MallocExtension_Internal_ActivateGuardedSampling()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - write_flag
    argTypes:
    - WriteFlag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::WriteFlagToString
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 1
    functionsReached:
    - ASSUME
    linkageType: ''
    returnType: char
    signature: char * WriteFlagToString(WriteFlag write_flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ucontext
    - esr
    argTypes:
    - ucontext_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::Aarch64GetESR
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: bool
    signature: bool Aarch64GetESR(const ucontext_t* ucontext, uint64_t* esr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ucontext_t*>
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:81,1
    - Dst: reinterpret_cast<const ucontext_t*>
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:86,1
    - Dst: tcmalloc_internal::Aarch64GetESR
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::ExtractWriteFlagFromContext
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const ucontext_t*>
    - tcmalloc_internal::Aarch64GetESR
    linkageType: ''
    returnType: WriteFlag
    signature: WriteFlag ExtractWriteFlagFromContext(const void* context)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - error
    - write_flag
    argTypes:
    - GuardedAllocationsErrorType
    - WriteFlag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 134
    functionName: tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: GuardedAllocationsErrorType
    signature: "GuardedAllocationsErrorType RefineErrorTypeBasedOnWriteFlag(\n    GuardedAllocationsErrorType
      error, WriteFlag write_flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractWriteFlagFromContext
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:138,1
    - Dst: tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - error
    argTypes:
    - void*
    - GuardedAllocationsErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: tcmalloc_internal::RefineErrorTypeBasedOnContext
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
    - tcmalloc_internal::ExtractWriteFlagFromContext
    linkageType: ''
    returnType: GuardedAllocationsErrorType
    signature: "GuardedAllocationsErrorType RefineErrorTypeBasedOnContext(\n    const
      void* context, GuardedAllocationsErrorType error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - info
    - ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::SelsanTrapHandler
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: ABSL_ATTRIBUTE_WEAK SelsanTrapHandler(void* info, void* ctx)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SelsanTrapHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:149,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:153,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:157,1
    - Dst: tcmalloc_internal::ExtractWriteFlagFromContext
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:160,1
    - Dst: tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:161,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:162,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:165,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:166,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:168,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:169,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:170,1
    - Dst: tcmalloc_internal::PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:172,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:178,1
    - Dst: tcmalloc_internal::PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:179,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:180,1
    - Dst: tcmalloc_internal::WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:181,1
    - Dst: tcmalloc_internal::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:182,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:187,1
    - Dst: tcmalloc_internal::WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:188,1
    - Dst: tcmalloc_internal::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:189,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:194,1
    - Dst: tcmalloc_internal::WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:195,1
    - Dst: tcmalloc_internal::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:196,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:199,1
    - Dst: tcmalloc_internal::PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:200,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:201,1
    - Dst: tcmalloc_internal::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:202,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:205,1
    - Dst: tcmalloc_internal::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:207,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:210,1
    - Dst: tcmalloc_internal::PrintStackTraceFromSignalHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:212,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:214,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 3
    argNames:
    - signo
    - info
    - context
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 218
    functionName: tcmalloc_internal::SegvHandler
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
    - absl::base_internal::GetTID
    - tcmalloc_internal::PrintStackTraceFromSignalHandler
    - tcmalloc_internal::ExtractWriteFlagFromContext
    - tcmalloc_internal::PrintStackTrace
    - guardedpage_allocator
    - TC_BUG
    - std::tie
    - TC_LOG
    - tcmalloc_internal::WriteFlagToString
    - tcmalloc_internal::SelsanTrapHandler
    - tcmalloc_internal::RecordCrash
    linkageType: ''
    returnType: void
    signature: void SegvHandler(int signo, siginfo_t* info, void* context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sa_sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:226,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:229,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:231,1
    - Dst: raise
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:233,1
    - Dst: sa_handler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - signo
    - info
    - context
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: tcmalloc_internal::ForwardSignal
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 1
    functionsReached:
    - sigaction
    - sa_sigaction
    - raise
    - TC_LOG
    - sa_handler
    linkageType: ''
    returnType: void
    signature: void ForwardSignal(int signo, siginfo_t* info, void* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:242,1
    - Dst: tcmalloc_internal::ForwardSignal
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - signo
    - info
    - context
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: tcmalloc_internal::HandleSegvAndForward
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SegvHandler
    - tcmalloc_internal::ForwardSignal
    linkageType: ''
    returnType: void
    signature: void HandleSegvAndForward(int signo, siginfo_t* info, void* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:248,1
    - Dst: sigemptyset
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:251,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:253,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:254,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: tcmalloc_internal::MallocExtension_Internal_ActivateGuardedSampling
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - sigaction
    - sigemptyset
    - guardedpage_allocator
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void MallocExtension_Internal_ActivateGuardedSampling()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TryRecordAllocationFast
      Src: /src/tcmalloc/tcmalloc/sampler.h:157,1
    - Dst: RecordAllocationSlow
      Src: /src/tcmalloc/tcmalloc/sampler.h:158,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/sampler.h:165,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/sampler.h:172,1
    - Dst: __builtin_usubl_overflow
      Src: /src/tcmalloc/tcmalloc/sampler.h:172,1
    - Dst: reinterpret_cast<size_t*>
      Src: /src/tcmalloc/tcmalloc/sampler.h:173,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sampler.h:178,1
    - Dst: RecordAllocationSlow
      Src: /src/tcmalloc/tcmalloc/sampler.h:179,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sampler.h:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 193
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - reinterpret_cast<size_t*>
    - TryRecordAllocationFast
    - RecordAllocationSlow
    - __builtin_usubl_overflow
    - ABSL_PREDICT_TRUE
    - TC_ASSERT_GE
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::Sampler::HotDataOffset
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t HotDataOffset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::Sampler::Sampler
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sampler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TryRecordAllocationFast
      Src: /src/tcmalloc/tcmalloc/sampler.h:157,1
    - Dst: tcmalloc_internal::Sampler::RecordAllocationSlow
      Src: /src/tcmalloc/tcmalloc/sampler.h:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: tcmalloc_internal::Sampler::RecordAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.h
    functionUses: 0
    functionsReached:
    - TryRecordAllocationFast
    - tcmalloc_internal::Sampler::RecordAllocationSlow
    linkageType: ''
    returnType: size_t
    signature: size_t Sampler::RecordAllocation(size_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/sampler.h:165,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/sampler.h:172,1
    - Dst: __builtin_usubl_overflow
      Src: /src/tcmalloc/tcmalloc/sampler.h:172,1
    - Dst: reinterpret_cast<size_t*>
      Src: /src/tcmalloc/tcmalloc/sampler.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - k
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::TryRecordAllocationFast
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.h
    functionUses: 0
    functionsReached:
    - __builtin_usubl_overflow
    - reinterpret_cast<size_t*>
    - ABSL_PREDICT_TRUE
    - TC_ASSERT_GE
    linkageType: ''
    returnType: bool
    signature: 'bool ABSL_ATTRIBUTE_ALWAYS_INLINE

      Sampler::TryRecordAllocationFast(size_t k)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sampler.h:178,1
    - Dst: tcmalloc_internal::Sampler::RecordAllocationSlow
      Src: /src/tcmalloc/tcmalloc/sampler.h:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: tcmalloc_internal::Sampler::RecordedAllocationFast
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Sampler::RecordAllocationSlow
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: size_t
    signature: size_t Sampler::RecordedAllocationFast(size_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sampler.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::Sampler::WillRecordAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: bool
    signature: bool Sampler::WillRecordAllocation(size_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::Sampler::HotDataOffset
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t HotDataOffset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::Sampler::Sampler
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sampler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TryRecordAllocationFast
      Src: /src/tcmalloc/tcmalloc/sampler.h:157,1
    - Dst: tcmalloc_internal::Sampler::RecordAllocationSlow
      Src: /src/tcmalloc/tcmalloc/sampler.h:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: tcmalloc_internal::Sampler::RecordAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.h
    functionUses: 0
    functionsReached:
    - TryRecordAllocationFast
    - tcmalloc_internal::Sampler::RecordAllocationSlow
    linkageType: ''
    returnType: size_t
    signature: size_t Sampler::RecordAllocation(size_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/sampler.h:165,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/sampler.h:172,1
    - Dst: __builtin_usubl_overflow
      Src: /src/tcmalloc/tcmalloc/sampler.h:172,1
    - Dst: reinterpret_cast<size_t*>
      Src: /src/tcmalloc/tcmalloc/sampler.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - k
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::TryRecordAllocationFast
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.h
    functionUses: 0
    functionsReached:
    - __builtin_usubl_overflow
    - reinterpret_cast<size_t*>
    - ABSL_PREDICT_TRUE
    - TC_ASSERT_GE
    linkageType: ''
    returnType: bool
    signature: 'bool ABSL_ATTRIBUTE_ALWAYS_INLINE

      Sampler::TryRecordAllocationFast(size_t k)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sampler.h:178,1
    - Dst: tcmalloc_internal::Sampler::RecordAllocationSlow
      Src: /src/tcmalloc/tcmalloc/sampler.h:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: tcmalloc_internal::Sampler::RecordedAllocationFast
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Sampler::RecordAllocationSlow
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: size_t
    signature: size_t Sampler::RecordedAllocationFast(size_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sampler.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::Sampler::WillRecordAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/sampler.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: bool
    signature: bool Sampler::WillRecordAllocation(size_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: SLOW_PATH_BARRIER
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLOW_PATH_BARRIER()
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:184,1
    - Dst: DumpStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:189,1
    - Dst: DumpStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:191,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:194,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:199,1
    - Dst: absl::Span<char>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:200,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:208,1
    - Dst: DumpStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:210,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:211,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:211,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:216,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:216,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:216,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:224,1
    - Dst: TCMalloc_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:226,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:226,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:229,1
    - Dst: DumpStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:239,1
    - Dst: DumpStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:241,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:244,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:245,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:246,1
    - Dst: release_errors
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:247,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:249,1
    - Dst: GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:253,1
    - Dst: absl::Span<char>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:254,1
    - Dst: DumpHeapProfile
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:264,1
    - Dst: DumpFragmentationProfile
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:266,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:268,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:276,1
    - Dst: AllocationSample::AllocationSample
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:276,1
    - Dst: deallocationz::DeallocationSample::DeallocationSample
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:281,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:286,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:287,1
    - Dst: GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:294,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:298,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:300,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:305,1
    - Dst: static_cast<PageAllocator::LimitKind>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:306,1
    - Dst: tcmalloc_internal::Parameters::set_heap_size_hard_limit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:312,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:314,1
    - Dst: static_cast<PageAllocator::LimitKind>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:315,1
    - Dst: tcmalloc_internal::ThreadCache::BecomeIdle
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:319,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:324,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:330,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:346,1
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:358,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:359,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:361,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:361,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:362,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:363,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:364,1
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:366,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:376,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:376,1
    - Dst: nallocx_slow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:377,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:380,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:381,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:381,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:382,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:383,1
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:385,1
    - Dst: nallocx_slow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:391,1
    - Dst: GetOwnership
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:396,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:404,1
    - Dst: VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:406,1
    - Dst: PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:407,1
    - Dst: InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:408,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:410,1
    - Dst: HeapSizeBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:418,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:420,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:421,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:422,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:441,1
    - Dst: LocalBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:446,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:449,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:458,1
    - Dst: ExternalBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:461,1
    - Dst: RequiredBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:462,1
    - Dst: SlackBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:463,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:466,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:468,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:472,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:474,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:477,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:480,1
    - Dst: TCMallocStats::num_released_total::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:484,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:486,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:488,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:490,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:492,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:496,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:496,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:499,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:500,1
    - Dst: sampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:516,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:517,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:519,1
    - Dst: sampled_allocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:522,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:524,1
    - Dst: GetLargeSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:529,1
    - Dst: GetLargeSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:533,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:534,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:539,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:541,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:543,1
    - Dst: GetLargeSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:546,1
    - Dst: GetSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:550,1
    - Dst: MallocHook::InvokeDeleteHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:555,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:556,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:558,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:558,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:559,1
    - Dst: ThreadCache::GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:560,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:561,1
    - Dst: ThreadCache*::Deallocate
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:562,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:566,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:567,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:582,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:582,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:583,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:583,1
    - Dst: FreeWithHooksOrPerThread
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:584,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:586,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:591,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:592,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:592,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:592,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:594,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:594,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:597,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:597,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:598,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:605,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:606,1
    - Dst: FreeSmallSlow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:607,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:615,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:616,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:620,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:624,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:624,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:625,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:628,1
    - Dst: Span*::bytes_in_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:629,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:632,1
    - Dst: std::max<Length>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:641,1
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:641,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:641,1
    - Dst: is_cold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:644,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:646,1
    - Dst: NumaNormalTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:647,1
    - Dst: numa_partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:647,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:649,1
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:650,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:650,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:657,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:657,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: SampleLargeAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:661,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:662,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:674,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:676,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:683,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:684,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:687,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:688,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:696,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:697,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:698,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:698,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:702,1
    - Dst: MallocHook::InvokeDeleteHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:703,1
    - Dst: GetLargeSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:704,1
    - Dst: MaybeUnsampleAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:707,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:709,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:710,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:714,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:716,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:716,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:717,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:717,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:722,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:722,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:725,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:725,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:726,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:728,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:730,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:730,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:735,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    - Dst: CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:759,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:759,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:760,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:763,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:763,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:765,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:765,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:766,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:767,1
    - Dst: FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:768,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:772,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:776,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:776,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:778,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:778,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:779,1
    - Dst: FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:780,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:782,1
    - Dst: InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:783,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:790,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:791,1
    - Dst: InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:793,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:795,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:795,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:797,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:797,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:798,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:798,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:801,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:801,1
    - Dst: InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:803,1
    - Dst: FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:805,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:812,1
    - Dst: CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:813,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:813,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:813,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:822,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:822,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:823,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:826,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:826,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:827,1
    - Dst: CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:827,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:828,1
    - Dst: InSameNumaPartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:829,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:830,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:831,1
    - Dst: FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:832,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:836,1
    - Dst: free_non_normal
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:837,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:842,1
    - Dst: CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:842,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:846,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:849,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:849,1
    - Dst: InSameNumaPartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:850,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:852,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:852,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:854,1
    - Dst: InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:855,1
    - Dst: FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:858,1
    - Dst: GetSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:868,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:873,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:874,1
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:876,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:880,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:886,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:887,1
    - Dst: AccessAsCold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:887,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:889,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:890,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:897,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:897,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:901,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:905,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:913,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:914,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:914,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:915,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:918,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:918,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:920,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:920,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:922,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:922,1
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:930,1
    - Dst: static_cast<void>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:934,1
    - Dst: MallocExtension_Internal_ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:935,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:945,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:949,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:953,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:954,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:956,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:958,1
    - Dst: InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:958,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:967,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:971,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:973,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:974,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:976,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:978,1
    - Dst: InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:978,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 358
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 986
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - capacity
    - NumaNormalTag
    - nallocx_slow
    - GetMemoryTag
    - peak_heap_tracker
    - PointerIsCorrectlyAligned
    - memset
    - TCMalloc_Internal_GetStats
    - char::char
    - GetOwnership
    - CorrectSize
    - TCMallocStats::num_released_soft_limit_exceeded::in_bytes
    - AccessAsCold
    - ThreadCache::GetCacheIfPresent
    - GetLargeSizeAndSampled
    - AllocationSample::AllocationSample
    - is_cold
    - PrintStats
    - GetSize
    - GetSizeAndSampled
    - transfer_cache
    - TCMallocStats::num_released_process_background_actions::in_bytes
    - BytesToLengthCeil
    - DumpStatsInPbtxt
    - static_cast<int>
    - TCMallocStats::num_released_release_memory_to_system::in_bytes
    - TCMallocStats::num_released_hard_limit_exceeded::in_bytes
    - IsSelSanMemory
    - strlen
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    - write
    - IsInited
    - MallocHook::InvokeDeleteHook
    - tcmalloc_internal::subtle::percpu::IsFast
    - numa_partition
    - InvokeHooksAndFreePages
    - FreeSmall
    - absl::bit_width
    - Printer::SpaceRequired
    - ABSL_PREDICT_FALSE
    - Printer::printf
    - static_cast<uint64_t>
    - std::max<Length>
    - HeapSizeBytes
    - clear
    - FreeSmallSlow
    - reinterpret_cast<void*>
    - PageIdContaining
    - tcmalloc_internal::Parameters::set_heap_size_hard_limit
    - absl::has_single_bit
    - MaybeUnsampleAllocation
    - InSameNumaPartitionAs
    - FreeWithHooksOrPerThread
    - reinterpret_cast<uintptr_t>
    - std::max<size_t>
    - absl::bit_cast<void*>
    - std::max
    - GetLargeSize
    - CorrectAlignment
    - sizemap
    - TC_ASSERT_NE
    - pagemap
    - TC_ASSERT_GT
    - ReportMismatchedDelete
    - SampleLargeAllocation
    - ExternalBytes
    - Length::in_bytes
    - SLOW_PATH_BARRIER
    - static_cast<PageAllocator::LimitKind>
    - guardedpage_allocator
    - deallocationz::DeallocationSample::DeallocationSample
    - static_cast<size_t>
    - LocalBytes
    - sampled
    - align
    - UsePerCpuCache
    - sampled_internal_fragmentation_::value
    - Span*::start_address
    - InitIfNecessary
    - page_allocator
    - numa_topology
    - bytes_in_span
    - MallocExtension_Internal_ReleaseMemoryToSystem
    - IsNormalMemory
    - ColdFeatureActive
    - GetRegionFactory
    - TCMallocStats::num_released_total::in_bytes
    - PointerIsMine
    - ThreadCache*::Deallocate
    - TC_ASSERT
    - Span*::donated
    - Range
    - TC_CHECK_EQ
    - static_cast<uintptr_t>
    - cpu_cache
    - tcmalloc_internal::Span::Delete
    - safe_div
    - absl::Span<char>
    - CpuCacheActive
    - ReportCorruptedFree
    - PhysicalMemoryUsed
    - Length
    - tcmalloc_internal::ThreadCache::BecomeIdle
    - absl::Now
    - GetNumericProperty
    - static_cast<void>
    - sampled_allocation
    - CppPolicy
    - DumpHeapProfile
    - absl::Span<void*>
    - system_allocator
    - VirtualMemoryUsed
    - RequiredBytes
    - Span*::bytes_in_span
    - TC_ASSERT_EQ
    - ABSL_PREDICT_TRUE
    - Span*::num_pages
    - DumpFragmentationProfile
    - resize
    - ExtractTCMallocStats
    - begin
    - SlackBytes
    - InUseByApp
    - release_errors
    - free_non_normal
    - Release
    - PageIdContainingTagged
    - static_cast<std::align_val_t>
    - absl::bit_cast<uintptr_t>
    - DumpStats
    - IsExpandedSizeClass
    - UpdateTag
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    - ReportDoubleFree
    - Deallocate
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:184,1
    - Dst: tcmalloc_internal::DumpStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:189,1
    - Dst: tcmalloc_internal::DumpStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:191,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:194,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:199,1
    - Dst: absl::Span<char>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - buffer
    - buffer_length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 182
    functionDepth: 6
    functionLinenumber: 182
    functionLinenumberEnd: 204
    functionName: tcmalloc_internal::MallocExtension_Internal_GetStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Printer::SpaceRequired
    - tcmalloc_internal::DumpStatsInPbtxt
    - TC_ASSERT_GT
    - absl::Span<char>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: "ABSL_ATTRIBUTE_UNUSED MallocExtension_Internal_GetStatsInPbtxt(\n
      \   char* buffer, int buffer_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:208,1
    - Dst: tcmalloc_internal::DumpStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:210,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:211,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 6
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: tcmalloc_internal::PrintStats
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - strlen
    - write
    - tcmalloc_internal::DumpStats
    - char::char
    linkageType: ''
    returnType: void
    signature: void PrintStats(int level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:216,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:216,1
    - Dst: std::string*::capacity
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:216,1
    - Dst: std::string*::resize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:224,1
    - Dst: tcmalloc_internal::TCMalloc_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:226,1
    - Dst: std::string*::begin
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:226,1
    - Dst: std::string*::resize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ret
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: tcmalloc_internal::MallocExtension_Internal_GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - std::string*::begin
    - std::string*::capacity
    - tcmalloc_internal::TCMalloc_Internal_GetStats
    - std::string*::resize
    - std::max<size_t>
    linkageType: ''
    returnType: void
    signature: void MallocExtension_Internal_GetStats(std::string* ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::DumpStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:239,1
    - Dst: tcmalloc_internal::DumpStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:241,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:244,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:245,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:246,1
    - Dst: release_errors
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:247,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:249,1
    - Dst: GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:253,1
    - Dst: absl::Span<char>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - buffer_length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 235
    functionDepth: 6
    functionLinenumber: 235
    functionLinenumberEnd: 258
    functionName: tcmalloc_internal::TCMalloc_Internal_GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - system_allocator
    - tcmalloc_internal::DumpStats
    - Printer::SpaceRequired
    - Printer::printf
    - absl::Span<char>
    - GetRegionFactory
    - release_errors
    linkageType: ''
    returnType: size_t
    signature: "size_t TCMalloc_Internal_GetStats(char* buffer,\n                                             size_t
      buffer_length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DumpHeapProfile
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:264,1
    - Dst: DumpFragmentationProfile
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:266,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: tcmalloc_internal::MallocExtension_Internal_SnapshotCurrent
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - DumpHeapProfile
    - peak_heap_tracker
    - DumpFragmentationProfile
    linkageType: ''
    returnType: ProfileBase
    signature: "ProfileBase * MallocExtension_Internal_SnapshotCurrent(\n    ProfileType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:276,1
    - Dst: AllocationSample::AllocationSample
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: tcmalloc_internal::MallocExtension_Internal_StartAllocationProfiling
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - absl::Now
    - AllocationSample::AllocationSample
    linkageType: ''
    returnType: AllocationProfilingTokenBase
    signature: 'AllocationProfilingTokenBase *

      MallocExtension_Internal_StartAllocationProfiling()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deallocationz::DeallocationSample::DeallocationSample
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: tcmalloc_internal::MallocExtension_Internal_StartLifetimeProfiling
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - deallocationz::DeallocationSample::DeallocationSample
    linkageType: ''
    returnType: tcmalloc_internal::AllocationProfilingTokenBase
    signature: 'tcmalloc_internal::AllocationProfilingTokenBase *

      MallocExtension_Internal_StartLifetimeProfiling()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:286,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::GetOwnership
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - tcmalloc_internal::PageIdContainingTagged
    linkageType: ''
    returnType: MallocExtension::Ownership
    signature: MallocExtension::Ownership GetOwnership(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name_data
    - name_size
    - value
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 6
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: tcmalloc_internal::MallocExtension_Internal_GetNumericProperty
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetNumericProperty
    linkageType: ''
    returnType: bool
    signature: "bool MallocExtension_Internal_GetNumericProperty(\n    const char*
      name_data, size_t name_size, size_t* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:305,1
    - Dst: static_cast<PageAllocator::LimitKind>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - tcmalloc::MallocExtension::LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: tcmalloc_internal::MallocExtension_Internal_GetMemoryLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - page_allocator
    - static_cast<PageAllocator::LimitKind>
    linkageType: ''
    returnType: size_t
    signature: "size_t MallocExtension_Internal_GetMemoryLimit(\n    tcmalloc::MallocExtension::LimitKind
      limit_kind)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::set_heap_size_hard_limit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:312,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:314,1
    - Dst: static_cast<PageAllocator::LimitKind>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - limit
    - limit_kind
    argTypes:
    - size_t
    - tcmalloc::MallocExtension::LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: tcmalloc_internal::MallocExtension_Internal_SetMemoryLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - page_allocator
    - static_cast<PageAllocator::LimitKind>
    - tcmalloc_internal::Parameters::set_heap_size_hard_limit
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_SetMemoryLimit(\n    size_t limit, tcmalloc::MallocExtension::LimitKind
      limit_kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ThreadCache::BecomeIdle
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: tcmalloc_internal::MallocExtension_Internal_MarkThreadIdle
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::BecomeIdle
    linkageType: ''
    returnType: void
    signature: void MallocExtension_Internal_MarkThreadIdle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: tcmalloc_internal::MallocExtension_Internal_GetRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    linkageType: ''
    returnType: AddressRegionFactory
    signature: AddressRegionFactory * MallocExtension_Internal_GetRegionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - factory
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: tcmalloc_internal::MallocExtension_Internal_SetRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_SetRegionFactory(\n    AddressRegionFactory*
      factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 348
    functionName: tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: size_t
    signature: "size_t MallocExtension_Internal_ReleaseMemoryToSystem(\n    size_t
      num_bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:358,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:359,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:361,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:361,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:362,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:363,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:364,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - size
    - flags
    - hot_cold
    argTypes:
    - size_t
    - int
    - hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 368
    functionName: tcmalloc_internal::nallocx_slow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - sizemap
    - TC_ASSERT_NE
    - static_cast<size_t>
    - CppPolicy
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::BytesToLengthCeil
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE nallocx_slow(size_t size, int flags,\n                                                   hot_cold_t
      hot_cold)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:376,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:376,1
    - Dst: tcmalloc_internal::nallocx_slow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:377,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:380,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:381,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:381,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:382,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:383,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - size
    - flags
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 387
    functionName: tcmalloc_internal::nallocx
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - IsInited
    - tcmalloc_internal::nallocx_slow
    - CppPolicy
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::BytesToLengthCeil
    linkageType: ''
    returnType: size_t
    signature: size_t nallocx(size_t size, int flags) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::nallocx_slow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - hot_cold
    argTypes:
    - size_t
    - tcmalloc::hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: tcmalloc_internal::MallocExtension_Internal_GetEstimatedAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::nallocx_slow
    linkageType: ''
    returnType: size_t
    signature: "size_t MallocExtension_Internal_GetEstimatedAllocatedSize(\n    size_t
      bytes, tcmalloc::hot_cold_t hot_cold)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetOwnership
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: tcmalloc_internal::MallocExtension_Internal_GetOwnership
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetOwnership
    linkageType: ''
    returnType: MallocExtension::Ownership
    signature: "MallocExtension::Ownership MallocExtension_Internal_GetOwnership(\n
      \   const void* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:404,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:406,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:407,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:408,1
    - Dst: std::map<std::string, MallocExtension::Property>*::clear
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:410,1
    - Dst: tcmalloc_internal::HeapSizeBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:418,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:420,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:421,1
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:422,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:441,1
    - Dst: tcmalloc_internal::LocalBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:446,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:449,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:458,1
    - Dst: tcmalloc_internal::ExternalBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:461,1
    - Dst: tcmalloc_internal::RequiredBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:462,1
    - Dst: tcmalloc_internal::SlackBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:463,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:466,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:468,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:472,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:474,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:477,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:480,1
    - Dst: TCMallocStats::num_released_total::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:484,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:486,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:488,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:490,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::map<std::string, MallocExtension::Property>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 399
    functionDepth: 5
    functionLinenumber: 399
    functionLinenumberEnd: 493
    functionName: tcmalloc_internal::MallocExtension_Internal_GetProperties
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SlackBytes
    - tcmalloc_internal::PhysicalMemoryUsed
    - page_allocator
    - static_cast<uint64_t>
    - tcmalloc_internal::ExtractTCMallocStats
    - tcmalloc_internal::VirtualMemoryUsed
    - TCMallocStats::num_released_soft_limit_exceeded::in_bytes
    - tcmalloc_internal::InUseByApp
    - tcmalloc_internal::RequiredBytes
    - TCMallocStats::num_released_total::in_bytes
    - tcmalloc_internal::safe_div
    - TCMallocStats::num_released_process_background_actions::in_bytes
    - tcmalloc_internal::ExternalBytes
    - TCMallocStats::num_released_release_memory_to_system::in_bytes
    - TCMallocStats::num_released_hard_limit_exceeded::in_bytes
    - tcmalloc_internal::HeapSizeBytes
    - tcmalloc_internal::LocalBytes
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    - std::map<std::string, MallocExtension::Property>*::clear
    - CpuCacheActive
    - sampled_internal_fragmentation_::value
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_GetProperties(\n    std::map<std::string,
      MallocExtension::Property>* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:496,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:496,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:499,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 503
    functionName: tcmalloc_internal::MallocExtension_Internal_ReleaseCpuMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheActive
    - cpu_cache
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: size_t
    signature: size_t MallocExtension_Internal_ReleaseCpuMemory(int cpu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:516,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:517,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:519,1
    - Dst: sampled_allocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:522,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ptr
    - ' span'
    argTypes:
    - void*
    - Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 526
    functionName: tcmalloc_internal::GetLargeSizeAndSampled
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - bytes_in_span
    - sampled_allocation
    - guardedpage_allocator
    - sampled
    linkageType: ''
    returnType: SizeAndSampled
    signature: "SizeAndSampled GetLargeSizeAndSampled(const void* ptr,\n                                             const
      Span& span)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetLargeSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ' span'
    argTypes:
    - void*
    - Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 530
    functionName: tcmalloc_internal::GetLargeSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetLargeSizeAndSampled
    linkageType: ''
    returnType: size_t
    signature: size_t GetLargeSize(const void* ptr, const Span& span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetLargeSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:533,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - p
    argTypes:
    - void*
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 535
    functionName: tcmalloc_internal::GetLargeSizeAndSampled
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - pagemap
    - tcmalloc_internal::GetLargeSizeAndSampled
    linkageType: ''
    returnType: SizeAndSampled
    signature: SizeAndSampled GetLargeSizeAndSampled(const void* ptr, const PageId
      p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:539,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:541,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:543,1
    - Dst: tcmalloc_internal::GetLargeSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 548
    functionName: tcmalloc_internal::GetSizeAndSampled
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - tcmalloc_internal::GetLargeSizeAndSampled
    - tcmalloc_internal::PageIdContainingTagged
    - sizemap
    linkageType: ''
    returnType: SizeAndSampled
    signature: SizeAndSampled GetSizeAndSampled(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 550
    functionName: tcmalloc_internal::GetSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetSizeAndSampled
    linkageType: ''
    returnType: size_t
    signature: size_t GetSize(const void* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MallocHook::InvokeDeleteHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:555,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:556,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:558,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:558,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:559,1
    - Dst: ThreadCache::GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:560,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:561,1
    - Dst: ThreadCache*::Deallocate
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:562,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:566,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ptr
    - size
    - size_class
    argTypes:
    - void*
    - std::optional<size_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 569
    functionName: tcmalloc_internal::FreeWithHooksOrPerThread
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - transfer_cache
    - cpu_cache
    - sizemap
    - absl::Span<void*>
    - ThreadCache::GetCacheIfPresent
    - tcmalloc_internal::UsePerCpuCache
    - MallocHook::InvokeDeleteHook
    - ThreadCache*::Deallocate
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE FreeWithHooksOrPerThread(\n    void* ptr,
      std::optional<size_t> size, size_t size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:582,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:582,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:583,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:583,1
    - Dst: tcmalloc_internal::FreeWithHooksOrPerThread
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:584,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - size
    - size_class
    argTypes:
    - void*
    - std::optional<size_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 577
    functionDepth: 4
    functionLinenumber: 577
    functionLinenumberEnd: 587
    functionName: tcmalloc_internal::FreeSmallSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::FreeWithHooksOrPerThread
    - tcmalloc_internal::UsePerCpuCache
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE FreeSmallSlow(void* ptr,\n                                                  std::optional<size_t>
      size,\n                                                  size_t size_class)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:591,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:592,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:592,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:592,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:594,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:594,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:597,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:597,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:598,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:605,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:606,1
    - Dst: tcmalloc_internal::FreeSmallSlow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ptr
    - size
    - size_class
    argTypes:
    - void*
    - std::optional<size_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 589
    functionDepth: 5
    functionLinenumber: 589
    functionLinenumberEnd: 609
    functionName: tcmalloc_internal::FreeSmall
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - IsNormalMemory
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - absl::bit_cast<void*>
    - absl::bit_cast<uintptr_t>
    - tcmalloc_internal::IsExpandedSizeClass
    - GetMemoryTag
    - TC_ASSERT
    - TC_ASSERT_EQ
    - tcmalloc_internal::FreeSmallSlow
    - IsSelSanMemory
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE FreeSmall(\n    void* ptr, std::optional<size_t>
      size, size_t size_class)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:615,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:616,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:620,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:624,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:624,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:625,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:628,1
    - Dst: Span*::bytes_in_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:629,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 633
    functionName: tcmalloc_internal::selsan::HeapObjectInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - pagemap
    - Span*::bytes_in_span
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - PageIdContaining
    - Span*::start_address
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> HeapObjectInfo(void* ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:615,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:616,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:620,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:624,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:624,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:625,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:628,1
    - Dst: Span*::bytes_in_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:629,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 633
    functionName: tcmalloc_internal::selsan::HeapObjectInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - pagemap
    - Span*::bytes_in_span
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - PageIdContaining
    - Span*::start_address
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> HeapObjectInfo(void* ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::max<Length>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:641,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:641,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:641,1
    - Dst: Policy::is_cold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:644,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:646,1
    - Dst: tcmalloc_internal::NumaNormalTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:647,1
    - Dst: Policy::numa_partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:647,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:649,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:650,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:650,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:657,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:657,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: SampleLargeAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:661,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - size
    - weight
    - policy
    argTypes:
    - size_t
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 666
    functionName: tcmalloc_internal::do_malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - Policy::numa_partition
    - Policy::align
    - Length
    - page_allocator
    - tcmalloc_internal::ColdFeatureActive
    - Policy::is_cold
    - std::max<Length>
    - numa_topology
    - tcmalloc_internal::NumaNormalTag
    - Length::in_bytes
    - GetMemoryTag
    - SampleLargeAllocation
    - TC_CHECK_EQ
    - TC_ASSERT
    - Span*::start_address
    - tcmalloc_internal::BytesToLengthCeil
    linkageType: ''
    returnType: sized_ptr_t
    signature: sized_ptr_t do_malloc_pages(size_t size, size_t weight, Policy policy)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:674,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:676,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:683,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:684,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:687,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:688,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:696,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:697,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:698,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:698,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:702,1
    - Dst: MallocHook::InvokeDeleteHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:703,1
    - Dst: tcmalloc_internal::GetLargeSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:704,1
    - Dst: MaybeUnsampleAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:707,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:709,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:710,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:714,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:716,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:716,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:717,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:717,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:722,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:722,1
    - Dst: tcmalloc_internal::Range
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:725,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:725,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:726,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:728,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:730,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:730,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 672
    functionDepth: 4
    functionLinenumber: 672
    functionLinenumberEnd: 736
    functionName: tcmalloc_internal::InvokeHooksAndFreePages
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - page_allocator
    - GetMemoryTag
    - PointerIsCorrectlyAligned
    - tcmalloc_internal::PageIdContaining
    - MaybeUnsampleAllocation
    - PointerIsMine
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    - Span*::num_pages
    - tcmalloc_internal::Range
    - Span*::donated
    - pagemap
    - static_cast<std::align_val_t>
    - guardedpage_allocator
    - tcmalloc_internal::Span::Delete
    - MallocHook::InvokeDeleteHook
    - ReportDoubleFree
    - ReportCorruptedFree
    - Deallocate
    - tcmalloc_internal::GetLargeSize
    - Span*::start_address
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE InvokeHooksAndFreePages(void* ptr, std::optional<size_t>
      size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    - Dst: tcmalloc_internal::CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:759,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:759,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:760,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:763,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:763,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:765,1
    - Dst: tcmalloc_internal::PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:765,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:766,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:767,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:768,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:772,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:776,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:776,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:778,1
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:778,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:779,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:780,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:782,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:783,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ptr
    - policy
    argTypes:
    - void*
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 755
    functionDepth: 6
    functionLinenumber: 755
    functionLinenumberEnd: 785
    functionName: tcmalloc_internal::do_free
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - tcmalloc_internal::FreeSmall
    - static_cast<std::align_val_t>
    - ABSL_PREDICT_FALSE
    - sizemap
    - TC_ASSERT_NE
    - SLOW_PATH_BARRIER
    - pagemap
    - UpdateTag
    - tcmalloc_internal::PageIdContaining
    - tcmalloc_internal::PageIdContainingTagged
    - tcmalloc_internal::InvokeHooksAndFreePages
    - IsInited
    - tcmalloc_internal::CorrectAlignment
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    - IsSelSanMemory
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE do_free(void* ptr, Policy policy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:790,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:791,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:793,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:795,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:795,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:797,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:797,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:798,1
    - Dst: AlignPolicy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:798,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:801,1
    - Dst: AlignPolicy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:801,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:803,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ptr
    - size
    - align
    argTypes:
    - void*
    - size_t
    - AlignPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 788
    functionDepth: 6
    functionLinenumber: 788
    functionLinenumberEnd: 806
    functionName: tcmalloc_internal::free_non_normal
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::FreeSmall
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - sizemap
    - AlignPolicy::align
    - GetMemoryTag
    - tcmalloc_internal::InvokeHooksAndFreePages
    - CppPolicy
    - TC_ASSERT
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE free_non_normal(void* ptr, size_t size,\n
      \                                                   AlignPolicy align)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:812,1
    - Dst: tcmalloc_internal::CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:813,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:813,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:813,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:822,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:822,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:823,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:826,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:826,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:827,1
    - Dst: tcmalloc_internal::CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:827,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:828,1
    - Dst: Policy::InSameNumaPartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:829,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:830,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:831,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:832,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:836,1
    - Dst: tcmalloc_internal::free_non_normal
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:837,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:842,1
    - Dst: tcmalloc_internal::CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:842,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:846,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:849,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:849,1
    - Dst: Policy::InSameNumaPartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:850,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:852,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:852,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:854,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:855,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - ptr
    - size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 809
    functionDepth: 7
    functionLinenumber: 809
    functionLinenumberEnd: 859
    functionName: tcmalloc_internal::do_free_with_size
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - Policy::align
    - static_cast<std::align_val_t>
    - ABSL_PREDICT_FALSE
    - sizemap
    - tcmalloc_internal::FreeSmall
    - Policy::InSameNumaPartitionAs
    - SLOW_PATH_BARRIER
    - TC_ASSERT_NE
    - UpdateTag
    - tcmalloc_internal::InvokeHooksAndFreePages
    - tcmalloc_internal::CorrectSize
    - tcmalloc_internal::CorrectAlignment
    - tcmalloc_internal::free_non_normal
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    - IsSelSanMemory
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE do_free_with_size(void* ptr,\n                                                           size_t
      size,\n                                                           Policy policy)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:868,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:873,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:874,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:876,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:880,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:886,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:887,1
    - Dst: Policy::AccessAsCold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:887,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:889,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:890,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:897,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:897,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:901,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:905,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - ptr
    - provided_size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 863
    functionDepth: 3
    functionLinenumber: 863
    functionLinenumberEnd: 909
    functionName: tcmalloc_internal::CorrectSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - IsNormalMemory
    - Policy::align
    - sizemap
    - tcmalloc_internal::GetSize
    - guardedpage_allocator
    - Policy::AccessAsCold
    - static_cast<size_t>
    - ReportMismatchedDelete
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::BytesToLengthCeil
    linkageType: ''
    returnType: bool
    signature: bool CorrectSize(void* ptr, const size_t provided_size, Policy policy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:913,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:914,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:914,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:915,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:918,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:918,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:920,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:920,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:922,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ptr
    - alignment
    argTypes:
    - void*
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 926
    functionName: tcmalloc_internal::CorrectAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - static_cast<std::align_val_t>
    - ABSL_PREDICT_FALSE
    - static_cast<size_t>
    - tcmalloc_internal::max
    - GetMemoryTag
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    - absl::has_single_bit
    - ReportCorruptedFree
    linkageType: ''
    returnType: bool
    signature: bool CorrectAlignment(void* ptr, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PrintStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 930
    functionName: tcmalloc_internal::do_malloc_stats
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PrintStats
    linkageType: ''
    returnType: void
    signature: void do_malloc_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:934,1
    - Dst: tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pad
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 936
    functionName: tcmalloc_internal::do_malloc_trim
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - static_cast<void>
    - tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
    linkageType: ''
    returnType: int
    signature: int do_malloc_trim(size_t pad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 940
    functionName: tcmalloc_internal::do_mallopt
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int do_mallopt(int cmd, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:945,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:949,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:953,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:954,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:956,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:958,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 943
    functionDepth: 5
    functionLinenumber: 943
    functionLinenumberEnd: 961
    functionName: tcmalloc_internal::do_mallinfo
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::InUseByApp
    - static_cast<int>
    - tcmalloc_internal::ExtractTCMallocStats
    - memset
    linkageType: ''
    returnType: struct mallinfo
    signature: struct mallinfo do_mallinfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:967,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:971,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:973,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:974,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:976,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:978,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 965
    functionDepth: 5
    functionLinenumber: 965
    functionLinenumberEnd: 981
    functionName: tcmalloc_internal::do_mallinfo2
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::InUseByApp
    - tcmalloc_internal::ExtractTCMallocStats
    - static_cast<size_t>
    - memset
    linkageType: ''
    returnType: struct mallinfo2
    signature: struct mallinfo2 do_mallinfo2()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::max<Length>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:641,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:641,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:641,1
    - Dst: Policy::is_cold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:644,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:646,1
    - Dst: tcmalloc_internal::NumaNormalTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:647,1
    - Dst: Policy::numa_partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:647,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:649,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:650,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:650,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:657,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:657,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: SampleLargeAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:661,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - size
    - weight
    - policy
    argTypes:
    - size_t
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 666
    functionName: tcmalloc_internal::do_malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - Policy::numa_partition
    - Policy::align
    - Length
    - page_allocator
    - tcmalloc_internal::ColdFeatureActive
    - Policy::is_cold
    - std::max<Length>
    - numa_topology
    - tcmalloc_internal::NumaNormalTag
    - Length::in_bytes
    - GetMemoryTag
    - SampleLargeAllocation
    - TC_CHECK_EQ
    - TC_ASSERT
    - Span*::start_address
    - tcmalloc_internal::BytesToLengthCeil
    linkageType: ''
    returnType: sized_ptr_t
    signature: sized_ptr_t do_malloc_pages(size_t size, size_t weight, Policy policy)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:674,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:676,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:683,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:684,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:687,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:688,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:696,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:697,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:698,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:698,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:702,1
    - Dst: MallocHook::InvokeDeleteHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:703,1
    - Dst: tcmalloc_internal::GetLargeSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:704,1
    - Dst: MaybeUnsampleAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:707,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:709,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:710,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:714,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:716,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:716,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:717,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:717,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:722,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:722,1
    - Dst: tcmalloc_internal::Range
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:725,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:725,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:726,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:728,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:730,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:730,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 672
    functionDepth: 4
    functionLinenumber: 672
    functionLinenumberEnd: 736
    functionName: tcmalloc_internal::InvokeHooksAndFreePages
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 3
    functionsReached:
    - ABSL_PREDICT_FALSE
    - page_allocator
    - GetMemoryTag
    - PointerIsCorrectlyAligned
    - tcmalloc_internal::PageIdContaining
    - MaybeUnsampleAllocation
    - PointerIsMine
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    - Span*::num_pages
    - tcmalloc_internal::Range
    - Span*::donated
    - pagemap
    - static_cast<std::align_val_t>
    - guardedpage_allocator
    - tcmalloc_internal::Span::Delete
    - MallocHook::InvokeDeleteHook
    - ReportDoubleFree
    - ReportCorruptedFree
    - Deallocate
    - tcmalloc_internal::GetLargeSize
    - Span*::start_address
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE InvokeHooksAndFreePages(void* ptr, std::optional<size_t>
      size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    - Dst: tcmalloc_internal::CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:759,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:759,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:760,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:763,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:763,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:765,1
    - Dst: tcmalloc_internal::PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:765,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:766,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:767,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:768,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:772,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:776,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:776,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:778,1
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:778,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:779,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:780,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:782,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:783,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ptr
    - policy
    argTypes:
    - void*
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 755
    functionDepth: 6
    functionLinenumber: 755
    functionLinenumberEnd: 785
    functionName: tcmalloc_internal::do_free
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - tcmalloc_internal::FreeSmall
    - static_cast<std::align_val_t>
    - ABSL_PREDICT_FALSE
    - sizemap
    - TC_ASSERT_NE
    - SLOW_PATH_BARRIER
    - pagemap
    - UpdateTag
    - tcmalloc_internal::PageIdContaining
    - tcmalloc_internal::PageIdContainingTagged
    - tcmalloc_internal::InvokeHooksAndFreePages
    - IsInited
    - tcmalloc_internal::CorrectAlignment
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    - IsSelSanMemory
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE do_free(void* ptr, Policy policy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:790,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:791,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:793,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:795,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:795,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:797,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:797,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:798,1
    - Dst: AlignPolicy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:798,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:801,1
    - Dst: AlignPolicy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:801,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:803,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ptr
    - size
    - align
    argTypes:
    - void*
    - size_t
    - AlignPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 788
    functionDepth: 6
    functionLinenumber: 788
    functionLinenumberEnd: 806
    functionName: tcmalloc_internal::free_non_normal
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::FreeSmall
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - sizemap
    - AlignPolicy::align
    - GetMemoryTag
    - tcmalloc_internal::InvokeHooksAndFreePages
    - CppPolicy
    - TC_ASSERT
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE free_non_normal(void* ptr, size_t size,\n
      \                                                   AlignPolicy align)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:812,1
    - Dst: tcmalloc_internal::CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:813,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:813,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:813,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:822,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:822,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:823,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:826,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:826,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:827,1
    - Dst: tcmalloc_internal::CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:827,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:828,1
    - Dst: Policy::InSameNumaPartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:829,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:830,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:831,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:832,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:836,1
    - Dst: tcmalloc_internal::free_non_normal
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:837,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:842,1
    - Dst: tcmalloc_internal::CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:842,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:846,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:849,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:849,1
    - Dst: Policy::InSameNumaPartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:850,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:852,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:852,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:854,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:855,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - ptr
    - size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 809
    functionDepth: 7
    functionLinenumber: 809
    functionLinenumberEnd: 859
    functionName: tcmalloc_internal::do_free_with_size
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - Policy::align
    - static_cast<std::align_val_t>
    - ABSL_PREDICT_FALSE
    - sizemap
    - tcmalloc_internal::FreeSmall
    - Policy::InSameNumaPartitionAs
    - SLOW_PATH_BARRIER
    - TC_ASSERT_NE
    - UpdateTag
    - tcmalloc_internal::InvokeHooksAndFreePages
    - tcmalloc_internal::CorrectSize
    - tcmalloc_internal::CorrectAlignment
    - tcmalloc_internal::free_non_normal
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    - IsSelSanMemory
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE do_free_with_size(void* ptr,\n                                                           size_t
      size,\n                                                           Policy policy)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:868,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:873,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:874,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:876,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:880,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:886,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:887,1
    - Dst: Policy::AccessAsCold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:887,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:889,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:890,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:897,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:897,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:901,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:905,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - ptr
    - provided_size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 863
    functionDepth: 3
    functionLinenumber: 863
    functionLinenumberEnd: 909
    functionName: tcmalloc_internal::CorrectSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - IsNormalMemory
    - Policy::align
    - sizemap
    - tcmalloc_internal::GetSize
    - guardedpage_allocator
    - Policy::AccessAsCold
    - static_cast<size_t>
    - ReportMismatchedDelete
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::BytesToLengthCeil
    linkageType: ''
    returnType: bool
    signature: bool CorrectSize(void* ptr, const size_t provided_size, Policy policy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:913,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:914,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:914,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:915,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:918,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:918,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:920,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:920,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:922,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ptr
    - alignment
    argTypes:
    - void*
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 926
    functionName: tcmalloc_internal::CorrectAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 4
    functionsReached:
    - static_cast<std::align_val_t>
    - ABSL_PREDICT_FALSE
    - static_cast<size_t>
    - tcmalloc_internal::max
    - GetMemoryTag
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    - absl::has_single_bit
    - ReportCorruptedFree
    linkageType: ''
    returnType: bool
    signature: bool CorrectAlignment(void* ptr, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PrintStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 930
    functionName: tcmalloc_internal::do_malloc_stats
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PrintStats
    linkageType: ''
    returnType: void
    signature: void do_malloc_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:934,1
    - Dst: tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pad
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 936
    functionName: tcmalloc_internal::do_malloc_trim
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - static_cast<void>
    - tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
    linkageType: ''
    returnType: int
    signature: int do_malloc_trim(size_t pad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 940
    functionName: tcmalloc_internal::do_mallopt
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int do_mallopt(int cmd, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:945,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:949,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:953,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:954,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:956,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:958,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 943
    functionDepth: 5
    functionLinenumber: 943
    functionLinenumberEnd: 961
    functionName: tcmalloc_internal::do_mallinfo
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::InUseByApp
    - static_cast<int>
    - tcmalloc_internal::ExtractTCMallocStats
    - memset
    linkageType: ''
    returnType: struct mallinfo
    signature: struct mallinfo do_mallinfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:967,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:971,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:973,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:974,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:976,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:978,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 965
    functionDepth: 5
    functionLinenumber: 965
    functionLinenumberEnd: 981
    functionName: tcmalloc_internal::do_mallinfo2
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::InUseByApp
    - tcmalloc_internal::ExtractTCMallocStats
    - static_cast<size_t>
    - memset
    linkageType: ''
    returnType: struct mallinfo2
    signature: struct mallinfo2 do_mallinfo2()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:184,1
    - Dst: tcmalloc_internal::DumpStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:189,1
    - Dst: tcmalloc_internal::DumpStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:191,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:194,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:199,1
    - Dst: absl::Span<char>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - buffer
    - buffer_length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 182
    functionDepth: 6
    functionLinenumber: 182
    functionLinenumberEnd: 204
    functionName: tcmalloc_internal::MallocExtension_Internal_GetStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Printer::SpaceRequired
    - tcmalloc_internal::DumpStatsInPbtxt
    - TC_ASSERT_GT
    - absl::Span<char>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_UNUSED
    signature: "ABSL_ATTRIBUTE_UNUSED MallocExtension_Internal_GetStatsInPbtxt(\n
      \   char* buffer, int buffer_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:208,1
    - Dst: tcmalloc_internal::DumpStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:210,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:211,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 6
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: tcmalloc_internal::PrintStats
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - strlen
    - write
    - tcmalloc_internal::DumpStats
    - char::char
    linkageType: ''
    returnType: void
    signature: void PrintStats(int level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:216,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:216,1
    - Dst: std::string*::capacity
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:216,1
    - Dst: std::string*::resize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:224,1
    - Dst: tcmalloc_internal::TCMalloc_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:226,1
    - Dst: std::string*::begin
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:226,1
    - Dst: std::string*::resize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ret
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 215
    functionDepth: 7
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: tcmalloc_internal::MallocExtension_Internal_GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - std::string*::begin
    - std::string*::capacity
    - tcmalloc_internal::TCMalloc_Internal_GetStats
    - std::string*::resize
    - std::max<size_t>
    linkageType: ''
    returnType: void
    signature: void MallocExtension_Internal_GetStats(std::string* ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::DumpStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:239,1
    - Dst: tcmalloc_internal::DumpStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:241,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:244,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:245,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:246,1
    - Dst: release_errors
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:247,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:249,1
    - Dst: GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:253,1
    - Dst: absl::Span<char>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - buffer_length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 235
    functionDepth: 6
    functionLinenumber: 235
    functionLinenumberEnd: 258
    functionName: tcmalloc_internal::TCMalloc_Internal_GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - system_allocator
    - tcmalloc_internal::DumpStats
    - Printer::SpaceRequired
    - Printer::printf
    - absl::Span<char>
    - GetRegionFactory
    - release_errors
    linkageType: ''
    returnType: size_t
    signature: "size_t TCMalloc_Internal_GetStats(char* buffer,\n                                             size_t
      buffer_length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DumpHeapProfile
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:264,1
    - Dst: DumpFragmentationProfile
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:266,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: tcmalloc_internal::MallocExtension_Internal_SnapshotCurrent
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - DumpHeapProfile
    - peak_heap_tracker
    - DumpFragmentationProfile
    linkageType: ''
    returnType: ProfileBase
    signature: "ProfileBase * MallocExtension_Internal_SnapshotCurrent(\n    ProfileType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:276,1
    - Dst: AllocationSample::AllocationSample
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: tcmalloc_internal::MallocExtension_Internal_StartAllocationProfiling
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - absl::Now
    - AllocationSample::AllocationSample
    linkageType: ''
    returnType: AllocationProfilingTokenBase
    signature: 'AllocationProfilingTokenBase *

      MallocExtension_Internal_StartAllocationProfiling()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deallocationz::DeallocationSample::DeallocationSample
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: tcmalloc_internal::MallocExtension_Internal_StartLifetimeProfiling
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - deallocationz::DeallocationSample::DeallocationSample
    linkageType: ''
    returnType: tcmalloc_internal::AllocationProfilingTokenBase
    signature: 'tcmalloc_internal::AllocationProfilingTokenBase *

      MallocExtension_Internal_StartLifetimeProfiling()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:286,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::GetOwnership
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - pagemap
    - tcmalloc_internal::PageIdContainingTagged
    linkageType: ''
    returnType: MallocExtension::Ownership
    signature: MallocExtension::Ownership GetOwnership(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name_data
    - name_size
    - value
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 6
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: tcmalloc_internal::MallocExtension_Internal_GetNumericProperty
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetNumericProperty
    linkageType: ''
    returnType: bool
    signature: "bool MallocExtension_Internal_GetNumericProperty(\n    const char*
      name_data, size_t name_size, size_t* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:305,1
    - Dst: static_cast<PageAllocator::LimitKind>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - tcmalloc::MallocExtension::LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: tcmalloc_internal::MallocExtension_Internal_GetMemoryLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - page_allocator
    - static_cast<PageAllocator::LimitKind>
    linkageType: ''
    returnType: size_t
    signature: "size_t MallocExtension_Internal_GetMemoryLimit(\n    tcmalloc::MallocExtension::LimitKind
      limit_kind)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::set_heap_size_hard_limit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:312,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:314,1
    - Dst: static_cast<PageAllocator::LimitKind>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - limit
    - limit_kind
    argTypes:
    - size_t
    - tcmalloc::MallocExtension::LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: tcmalloc_internal::MallocExtension_Internal_SetMemoryLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - page_allocator
    - static_cast<PageAllocator::LimitKind>
    - tcmalloc_internal::Parameters::set_heap_size_hard_limit
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_SetMemoryLimit(\n    size_t limit, tcmalloc::MallocExtension::LimitKind
      limit_kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ThreadCache::BecomeIdle
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: tcmalloc_internal::MallocExtension_Internal_MarkThreadIdle
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::BecomeIdle
    linkageType: ''
    returnType: void
    signature: void MallocExtension_Internal_MarkThreadIdle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: tcmalloc_internal::MallocExtension_Internal_GetRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    linkageType: ''
    returnType: AddressRegionFactory
    signature: AddressRegionFactory * MallocExtension_Internal_GetRegionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - factory
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: tcmalloc_internal::MallocExtension_Internal_SetRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_SetRegionFactory(\n    AddressRegionFactory*
      factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 348
    functionName: tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - Release
    linkageType: ''
    returnType: size_t
    signature: "size_t MallocExtension_Internal_ReleaseMemoryToSystem(\n    size_t
      num_bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:358,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:359,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:361,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:361,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:362,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:363,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:364,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - size
    - flags
    - hot_cold
    argTypes:
    - size_t
    - int
    - hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 368
    functionName: tcmalloc_internal::nallocx_slow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - InitIfNecessary
    - sizemap
    - TC_ASSERT_NE
    - static_cast<size_t>
    - CppPolicy
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::BytesToLengthCeil
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE nallocx_slow(size_t size, int flags,\n                                                   hot_cold_t
      hot_cold)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:376,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:376,1
    - Dst: tcmalloc_internal::nallocx_slow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:377,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:380,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:381,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:381,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:382,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:383,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - size
    - flags
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 387
    functionName: tcmalloc_internal::nallocx
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - IsInited
    - tcmalloc_internal::nallocx_slow
    - CppPolicy
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::BytesToLengthCeil
    linkageType: ''
    returnType: size_t
    signature: size_t nallocx(size_t size, int flags) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::nallocx_slow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - hot_cold
    argTypes:
    - size_t
    - tcmalloc::hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: tcmalloc_internal::MallocExtension_Internal_GetEstimatedAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::nallocx_slow
    linkageType: ''
    returnType: size_t
    signature: "size_t MallocExtension_Internal_GetEstimatedAllocatedSize(\n    size_t
      bytes, tcmalloc::hot_cold_t hot_cold)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetOwnership
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: tcmalloc_internal::MallocExtension_Internal_GetOwnership
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetOwnership
    linkageType: ''
    returnType: MallocExtension::Ownership
    signature: "MallocExtension::Ownership MallocExtension_Internal_GetOwnership(\n
      \   const void* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:404,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:406,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:407,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:408,1
    - Dst: std::map<std::string, MallocExtension::Property>*::clear
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:410,1
    - Dst: tcmalloc_internal::HeapSizeBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:418,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:420,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:421,1
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:422,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:441,1
    - Dst: tcmalloc_internal::LocalBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:446,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:449,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:458,1
    - Dst: tcmalloc_internal::ExternalBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:461,1
    - Dst: tcmalloc_internal::RequiredBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:462,1
    - Dst: tcmalloc_internal::SlackBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:463,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:466,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:468,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:472,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:474,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:477,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:480,1
    - Dst: TCMallocStats::num_released_total::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:484,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:486,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:488,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:490,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::map<std::string, MallocExtension::Property>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 399
    functionDepth: 5
    functionLinenumber: 399
    functionLinenumberEnd: 493
    functionName: tcmalloc_internal::MallocExtension_Internal_GetProperties
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SlackBytes
    - tcmalloc_internal::PhysicalMemoryUsed
    - page_allocator
    - static_cast<uint64_t>
    - tcmalloc_internal::ExtractTCMallocStats
    - tcmalloc_internal::VirtualMemoryUsed
    - TCMallocStats::num_released_soft_limit_exceeded::in_bytes
    - tcmalloc_internal::InUseByApp
    - tcmalloc_internal::RequiredBytes
    - TCMallocStats::num_released_total::in_bytes
    - tcmalloc_internal::safe_div
    - TCMallocStats::num_released_process_background_actions::in_bytes
    - tcmalloc_internal::ExternalBytes
    - TCMallocStats::num_released_release_memory_to_system::in_bytes
    - TCMallocStats::num_released_hard_limit_exceeded::in_bytes
    - tcmalloc_internal::HeapSizeBytes
    - tcmalloc_internal::LocalBytes
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    - std::map<std::string, MallocExtension::Property>*::clear
    - CpuCacheActive
    - sampled_internal_fragmentation_::value
    linkageType: ''
    returnType: void
    signature: "void MallocExtension_Internal_GetProperties(\n    std::map<std::string,
      MallocExtension::Property>* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:496,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:496,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:499,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 503
    functionName: tcmalloc_internal::MallocExtension_Internal_ReleaseCpuMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheActive
    - cpu_cache
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: size_t
    signature: size_t MallocExtension_Internal_ReleaseCpuMemory(int cpu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:516,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:517,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:519,1
    - Dst: sampled_allocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:522,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ptr
    - ' span'
    argTypes:
    - void*
    - Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 526
    functionName: tcmalloc_internal::GetLargeSizeAndSampled
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 3
    functionsReached:
    - bytes_in_span
    - sampled_allocation
    - guardedpage_allocator
    - sampled
    linkageType: ''
    returnType: SizeAndSampled
    signature: "SizeAndSampled GetLargeSizeAndSampled(const void* ptr,\n                                             const
      Span& span)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetLargeSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ' span'
    argTypes:
    - void*
    - Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 530
    functionName: tcmalloc_internal::GetLargeSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::GetLargeSizeAndSampled
    linkageType: ''
    returnType: size_t
    signature: size_t GetLargeSize(const void* ptr, const Span& span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetLargeSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:533,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - p
    argTypes:
    - void*
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 535
    functionName: tcmalloc_internal::GetLargeSizeAndSampled
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 5
    functionsReached:
    - pagemap
    - tcmalloc_internal::GetLargeSizeAndSampled
    linkageType: ''
    returnType: SizeAndSampled
    signature: SizeAndSampled GetLargeSizeAndSampled(const void* ptr, const PageId
      p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:539,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:541,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:543,1
    - Dst: tcmalloc_internal::GetLargeSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 548
    functionName: tcmalloc_internal::GetSizeAndSampled
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - pagemap
    - tcmalloc_internal::GetLargeSizeAndSampled
    - tcmalloc_internal::PageIdContainingTagged
    - sizemap
    linkageType: ''
    returnType: SizeAndSampled
    signature: SizeAndSampled GetSizeAndSampled(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 550
    functionName: tcmalloc_internal::GetSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::GetSizeAndSampled
    linkageType: ''
    returnType: size_t
    signature: size_t GetSize(const void* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MallocHook::InvokeDeleteHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:555,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:556,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:558,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:558,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:559,1
    - Dst: ThreadCache::GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:560,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:561,1
    - Dst: ThreadCache*::Deallocate
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:562,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:566,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ptr
    - size
    - size_class
    argTypes:
    - void*
    - std::optional<size_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 569
    functionName: tcmalloc_internal::FreeWithHooksOrPerThread
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - transfer_cache
    - cpu_cache
    - sizemap
    - absl::Span<void*>
    - ThreadCache::GetCacheIfPresent
    - tcmalloc_internal::UsePerCpuCache
    - MallocHook::InvokeDeleteHook
    - ThreadCache*::Deallocate
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE FreeWithHooksOrPerThread(\n    void* ptr,
      std::optional<size_t> size, size_t size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:582,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:582,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:583,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:583,1
    - Dst: tcmalloc_internal::FreeWithHooksOrPerThread
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:584,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - size
    - size_class
    argTypes:
    - void*
    - std::optional<size_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 577
    functionDepth: 4
    functionLinenumber: 577
    functionLinenumberEnd: 587
    functionName: tcmalloc_internal::FreeSmallSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::FreeWithHooksOrPerThread
    - tcmalloc_internal::UsePerCpuCache
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE FreeSmallSlow(void* ptr,\n                                                  std::optional<size_t>
      size,\n                                                  size_t size_class)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:591,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:592,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:592,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:592,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:594,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:594,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:597,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:597,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:598,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:605,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:606,1
    - Dst: tcmalloc_internal::FreeSmallSlow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ptr
    - size
    - size_class
    argTypes:
    - void*
    - std::optional<size_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 589
    functionDepth: 5
    functionLinenumber: 589
    functionLinenumberEnd: 609
    functionName: tcmalloc_internal::FreeSmall
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 6
    functionsReached:
    - static_cast<uintptr_t>
    - IsNormalMemory
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - absl::bit_cast<void*>
    - absl::bit_cast<uintptr_t>
    - tcmalloc_internal::IsExpandedSizeClass
    - GetMemoryTag
    - TC_ASSERT
    - TC_ASSERT_EQ
    - tcmalloc_internal::FreeSmallSlow
    - IsSelSanMemory
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE FreeSmall(\n    void* ptr, std::optional<size_t>
      size, size_t size_class)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:615,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:616,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:620,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:624,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:624,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:625,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:628,1
    - Dst: Span*::bytes_in_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:629,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 633
    functionName: tcmalloc_internal::selsan::HeapObjectInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - pagemap
    - Span*::bytes_in_span
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - PageIdContaining
    - Span*::start_address
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> HeapObjectInfo(void* ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:615,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:616,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:620,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:624,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:624,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:625,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:628,1
    - Dst: Span*::bytes_in_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:629,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 633
    functionName: tcmalloc_internal::selsan::HeapObjectInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - sizemap
    - pagemap
    - Span*::bytes_in_span
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - PageIdContaining
    - Span*::start_address
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> HeapObjectInfo(void* ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::max<Length>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:641,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:641,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:641,1
    - Dst: Policy::is_cold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:644,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:646,1
    - Dst: tcmalloc_internal::NumaNormalTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:647,1
    - Dst: Policy::numa_partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:647,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:649,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:650,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:650,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:657,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:657,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: SampleLargeAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:661,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - size
    - weight
    - policy
    argTypes:
    - size_t
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 666
    functionName: tcmalloc_internal::do_malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - Policy::numa_partition
    - Policy::align
    - Length
    - page_allocator
    - tcmalloc_internal::ColdFeatureActive
    - Policy::is_cold
    - std::max<Length>
    - numa_topology
    - tcmalloc_internal::NumaNormalTag
    - Length::in_bytes
    - GetMemoryTag
    - SampleLargeAllocation
    - TC_CHECK_EQ
    - TC_ASSERT
    - Span*::start_address
    - tcmalloc_internal::BytesToLengthCeil
    linkageType: ''
    returnType: sized_ptr_t
    signature: sized_ptr_t do_malloc_pages(size_t size, size_t weight, Policy policy)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:674,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:676,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:683,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:684,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:687,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:688,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:696,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:697,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:698,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:698,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:702,1
    - Dst: MallocHook::InvokeDeleteHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:703,1
    - Dst: tcmalloc_internal::GetLargeSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:704,1
    - Dst: MaybeUnsampleAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:707,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:709,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:710,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:714,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:716,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:716,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:717,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:717,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:722,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:722,1
    - Dst: tcmalloc_internal::Range
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:725,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:725,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:726,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:728,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:730,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:730,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 672
    functionDepth: 4
    functionLinenumber: 672
    functionLinenumberEnd: 736
    functionName: tcmalloc_internal::InvokeHooksAndFreePages
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 6
    functionsReached:
    - ABSL_PREDICT_FALSE
    - page_allocator
    - GetMemoryTag
    - PointerIsCorrectlyAligned
    - tcmalloc_internal::PageIdContaining
    - MaybeUnsampleAllocation
    - PointerIsMine
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    - Span*::num_pages
    - tcmalloc_internal::Range
    - Span*::donated
    - pagemap
    - static_cast<std::align_val_t>
    - guardedpage_allocator
    - tcmalloc_internal::Span::Delete
    - MallocHook::InvokeDeleteHook
    - ReportDoubleFree
    - ReportCorruptedFree
    - Deallocate
    - tcmalloc_internal::GetLargeSize
    - Span*::start_address
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE InvokeHooksAndFreePages(void* ptr, std::optional<size_t>
      size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    - Dst: tcmalloc_internal::CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:759,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:759,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:760,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:763,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:763,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:765,1
    - Dst: tcmalloc_internal::PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:765,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:766,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:767,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:768,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:772,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:776,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:776,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:778,1
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:778,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:779,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:780,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:782,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:783,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ptr
    - policy
    argTypes:
    - void*
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 755
    functionDepth: 6
    functionLinenumber: 755
    functionLinenumberEnd: 785
    functionName: tcmalloc_internal::do_free
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - tcmalloc_internal::FreeSmall
    - static_cast<std::align_val_t>
    - ABSL_PREDICT_FALSE
    - sizemap
    - TC_ASSERT_NE
    - SLOW_PATH_BARRIER
    - pagemap
    - UpdateTag
    - tcmalloc_internal::PageIdContaining
    - tcmalloc_internal::PageIdContainingTagged
    - tcmalloc_internal::InvokeHooksAndFreePages
    - IsInited
    - tcmalloc_internal::CorrectAlignment
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    - IsSelSanMemory
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE do_free(void* ptr, Policy policy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:790,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:791,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:793,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:795,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:795,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:797,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:797,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:798,1
    - Dst: AlignPolicy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:798,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:801,1
    - Dst: AlignPolicy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:801,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:803,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ptr
    - size
    - align
    argTypes:
    - void*
    - size_t
    - AlignPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 788
    functionDepth: 6
    functionLinenumber: 788
    functionLinenumberEnd: 806
    functionName: tcmalloc_internal::free_non_normal
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::FreeSmall
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - sizemap
    - AlignPolicy::align
    - GetMemoryTag
    - tcmalloc_internal::InvokeHooksAndFreePages
    - CppPolicy
    - TC_ASSERT
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE free_non_normal(void* ptr, size_t size,\n
      \                                                   AlignPolicy align)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:812,1
    - Dst: tcmalloc_internal::CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:813,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:813,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:813,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:822,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:822,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:823,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:826,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:826,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:827,1
    - Dst: tcmalloc_internal::CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:827,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:828,1
    - Dst: Policy::InSameNumaPartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:829,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:830,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:831,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:832,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:836,1
    - Dst: tcmalloc_internal::free_non_normal
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:837,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:842,1
    - Dst: tcmalloc_internal::CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:842,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:846,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:849,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:849,1
    - Dst: Policy::InSameNumaPartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:850,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:852,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:852,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:854,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:855,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - ptr
    - size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 809
    functionDepth: 7
    functionLinenumber: 809
    functionLinenumberEnd: 859
    functionName: tcmalloc_internal::do_free_with_size
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - Policy::align
    - static_cast<std::align_val_t>
    - ABSL_PREDICT_FALSE
    - sizemap
    - tcmalloc_internal::FreeSmall
    - Policy::InSameNumaPartitionAs
    - SLOW_PATH_BARRIER
    - TC_ASSERT_NE
    - UpdateTag
    - tcmalloc_internal::InvokeHooksAndFreePages
    - tcmalloc_internal::CorrectSize
    - tcmalloc_internal::CorrectAlignment
    - tcmalloc_internal::free_non_normal
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    - IsSelSanMemory
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE do_free_with_size(void* ptr,\n                                                           size_t
      size,\n                                                           Policy policy)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:868,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:873,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:874,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:876,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:880,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:886,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:887,1
    - Dst: Policy::AccessAsCold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:887,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:889,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:890,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:897,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:897,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:901,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:905,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - ptr
    - provided_size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 863
    functionDepth: 3
    functionLinenumber: 863
    functionLinenumberEnd: 909
    functionName: tcmalloc_internal::CorrectSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 3
    functionsReached:
    - IsNormalMemory
    - Policy::align
    - sizemap
    - tcmalloc_internal::GetSize
    - guardedpage_allocator
    - Policy::AccessAsCold
    - static_cast<size_t>
    - ReportMismatchedDelete
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::BytesToLengthCeil
    linkageType: ''
    returnType: bool
    signature: bool CorrectSize(void* ptr, const size_t provided_size, Policy policy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:913,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:914,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:914,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:915,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:918,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:918,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:920,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:920,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:922,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ptr
    - alignment
    argTypes:
    - void*
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 926
    functionName: tcmalloc_internal::CorrectAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 6
    functionsReached:
    - static_cast<std::align_val_t>
    - ABSL_PREDICT_FALSE
    - static_cast<size_t>
    - tcmalloc_internal::max
    - GetMemoryTag
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    - absl::has_single_bit
    - ReportCorruptedFree
    linkageType: ''
    returnType: bool
    signature: bool CorrectAlignment(void* ptr, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PrintStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 930
    functionName: tcmalloc_internal::do_malloc_stats
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PrintStats
    linkageType: ''
    returnType: void
    signature: void do_malloc_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:934,1
    - Dst: tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pad
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 936
    functionName: tcmalloc_internal::do_malloc_trim
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - static_cast<void>
    - tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
    linkageType: ''
    returnType: int
    signature: int do_malloc_trim(size_t pad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 940
    functionName: tcmalloc_internal::do_mallopt
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int do_mallopt(int cmd, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:945,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:949,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:953,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:954,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:956,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:958,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 943
    functionDepth: 5
    functionLinenumber: 943
    functionLinenumberEnd: 961
    functionName: tcmalloc_internal::do_mallinfo
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::InUseByApp
    - static_cast<int>
    - tcmalloc_internal::ExtractTCMallocStats
    - memset
    linkageType: ''
    returnType: struct mallinfo
    signature: struct mallinfo do_mallinfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:967,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:971,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:973,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:974,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:976,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:978,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 965
    functionDepth: 5
    functionLinenumber: 965
    functionLinenumberEnd: 981
    functionName: tcmalloc_internal::do_mallinfo2
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::InUseByApp
    - tcmalloc_internal::ExtractTCMallocStats
    - static_cast<size_t>
    - memset
    linkageType: ''
    returnType: struct mallinfo2
    signature: struct mallinfo2 do_mallinfo2()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::max<Length>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:641,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:641,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:641,1
    - Dst: Policy::is_cold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:644,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:646,1
    - Dst: tcmalloc_internal::NumaNormalTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:647,1
    - Dst: Policy::numa_partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:647,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:649,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:650,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:650,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:657,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:657,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: SampleLargeAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:661,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - size
    - weight
    - policy
    argTypes:
    - size_t
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 666
    functionName: tcmalloc_internal::do_malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - Policy::numa_partition
    - Policy::align
    - Length
    - page_allocator
    - tcmalloc_internal::ColdFeatureActive
    - Policy::is_cold
    - std::max<Length>
    - numa_topology
    - tcmalloc_internal::NumaNormalTag
    - Length::in_bytes
    - GetMemoryTag
    - SampleLargeAllocation
    - TC_CHECK_EQ
    - TC_ASSERT
    - Span*::start_address
    - tcmalloc_internal::BytesToLengthCeil
    linkageType: ''
    returnType: sized_ptr_t
    signature: sized_ptr_t do_malloc_pages(size_t size, size_t weight, Policy policy)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:674,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:676,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:683,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:684,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:687,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:688,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:696,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:697,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:698,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:698,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:702,1
    - Dst: MallocHook::InvokeDeleteHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:703,1
    - Dst: tcmalloc_internal::GetLargeSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:704,1
    - Dst: MaybeUnsampleAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:707,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:709,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:710,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:714,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:716,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:716,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:717,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:717,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:722,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:722,1
    - Dst: tcmalloc_internal::Range
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:725,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:725,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:726,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:728,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:730,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:730,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 672
    functionDepth: 4
    functionLinenumber: 672
    functionLinenumberEnd: 736
    functionName: tcmalloc_internal::InvokeHooksAndFreePages
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 9
    functionsReached:
    - ABSL_PREDICT_FALSE
    - page_allocator
    - GetMemoryTag
    - PointerIsCorrectlyAligned
    - tcmalloc_internal::PageIdContaining
    - MaybeUnsampleAllocation
    - PointerIsMine
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    - Span*::num_pages
    - tcmalloc_internal::Range
    - Span*::donated
    - pagemap
    - static_cast<std::align_val_t>
    - guardedpage_allocator
    - tcmalloc_internal::Span::Delete
    - MallocHook::InvokeDeleteHook
    - ReportDoubleFree
    - ReportCorruptedFree
    - Deallocate
    - tcmalloc_internal::GetLargeSize
    - Span*::start_address
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE InvokeHooksAndFreePages(void* ptr, std::optional<size_t>
      size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    - Dst: tcmalloc_internal::CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:759,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:759,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:760,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:763,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:763,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:765,1
    - Dst: tcmalloc_internal::PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:765,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:766,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:767,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:768,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:772,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:776,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:776,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:778,1
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:778,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:779,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:780,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:782,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:783,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ptr
    - policy
    argTypes:
    - void*
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 755
    functionDepth: 6
    functionLinenumber: 755
    functionLinenumberEnd: 785
    functionName: tcmalloc_internal::do_free
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - tcmalloc_internal::FreeSmall
    - static_cast<std::align_val_t>
    - ABSL_PREDICT_FALSE
    - sizemap
    - TC_ASSERT_NE
    - SLOW_PATH_BARRIER
    - pagemap
    - UpdateTag
    - tcmalloc_internal::PageIdContaining
    - tcmalloc_internal::PageIdContainingTagged
    - tcmalloc_internal::InvokeHooksAndFreePages
    - IsInited
    - tcmalloc_internal::CorrectAlignment
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    - IsSelSanMemory
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE do_free(void* ptr, Policy policy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:790,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:791,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:793,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:795,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:795,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:797,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:797,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:798,1
    - Dst: AlignPolicy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:798,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:801,1
    - Dst: AlignPolicy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:801,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:803,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ptr
    - size
    - align
    argTypes:
    - void*
    - size_t
    - AlignPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 788
    functionDepth: 6
    functionLinenumber: 788
    functionLinenumberEnd: 806
    functionName: tcmalloc_internal::free_non_normal
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::FreeSmall
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - sizemap
    - AlignPolicy::align
    - GetMemoryTag
    - tcmalloc_internal::InvokeHooksAndFreePages
    - CppPolicy
    - TC_ASSERT
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE free_non_normal(void* ptr, size_t size,\n
      \                                                   AlignPolicy align)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:812,1
    - Dst: tcmalloc_internal::CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:813,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:813,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:813,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:822,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:822,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:823,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:826,1
    - Dst: IsSelSanMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:826,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:827,1
    - Dst: tcmalloc_internal::CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:827,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:828,1
    - Dst: Policy::InSameNumaPartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:829,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:830,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:831,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:832,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:836,1
    - Dst: tcmalloc_internal::free_non_normal
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:837,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:842,1
    - Dst: tcmalloc_internal::CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:842,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:846,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:849,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:849,1
    - Dst: Policy::InSameNumaPartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:850,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:852,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:852,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:854,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:855,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - ptr
    - size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 809
    functionDepth: 7
    functionLinenumber: 809
    functionLinenumberEnd: 859
    functionName: tcmalloc_internal::do_free_with_size
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - IsNormalMemory
    - Policy::align
    - static_cast<std::align_val_t>
    - ABSL_PREDICT_FALSE
    - sizemap
    - tcmalloc_internal::FreeSmall
    - Policy::InSameNumaPartitionAs
    - SLOW_PATH_BARRIER
    - TC_ASSERT_NE
    - UpdateTag
    - tcmalloc_internal::InvokeHooksAndFreePages
    - tcmalloc_internal::CorrectSize
    - tcmalloc_internal::CorrectAlignment
    - tcmalloc_internal::free_non_normal
    - TC_ASSERT
    - ABSL_PREDICT_TRUE
    - IsSelSanMemory
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE do_free_with_size(void* ptr,\n                                                           size_t
      size,\n                                                           Policy policy)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:868,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:873,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:874,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:876,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:880,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:886,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:887,1
    - Dst: Policy::AccessAsCold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:887,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:889,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:890,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:897,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:897,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:901,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:905,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - ptr
    - provided_size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 863
    functionDepth: 3
    functionLinenumber: 863
    functionLinenumberEnd: 909
    functionName: tcmalloc_internal::CorrectSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 4
    functionsReached:
    - IsNormalMemory
    - Policy::align
    - sizemap
    - tcmalloc_internal::GetSize
    - guardedpage_allocator
    - Policy::AccessAsCold
    - static_cast<size_t>
    - ReportMismatchedDelete
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::BytesToLengthCeil
    linkageType: ''
    returnType: bool
    signature: bool CorrectSize(void* ptr, const size_t provided_size, Policy policy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:913,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:914,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:914,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:915,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:918,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:918,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:920,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:920,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:922,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ptr
    - alignment
    argTypes:
    - void*
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 926
    functionName: tcmalloc_internal::CorrectAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 8
    functionsReached:
    - static_cast<std::align_val_t>
    - ABSL_PREDICT_FALSE
    - static_cast<size_t>
    - tcmalloc_internal::max
    - GetMemoryTag
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    - absl::has_single_bit
    - ReportCorruptedFree
    linkageType: ''
    returnType: bool
    signature: bool CorrectAlignment(void* ptr, std::align_val_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PrintStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 930
    functionName: tcmalloc_internal::do_malloc_stats
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PrintStats
    linkageType: ''
    returnType: void
    signature: void do_malloc_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:934,1
    - Dst: tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pad
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 936
    functionName: tcmalloc_internal::do_malloc_trim
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - static_cast<void>
    - tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
    linkageType: ''
    returnType: int
    signature: int do_malloc_trim(size_t pad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 940
    functionName: tcmalloc_internal::do_mallopt
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int do_mallopt(int cmd, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:945,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:949,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:953,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:954,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:956,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:958,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 943
    functionDepth: 5
    functionLinenumber: 943
    functionLinenumberEnd: 961
    functionName: tcmalloc_internal::do_mallinfo
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::InUseByApp
    - static_cast<int>
    - tcmalloc_internal::ExtractTCMallocStats
    - memset
    linkageType: ''
    returnType: struct mallinfo
    signature: struct mallinfo do_mallinfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:967,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:971,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:973,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:974,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:976,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:978,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 965
    functionDepth: 5
    functionLinenumber: 965
    functionLinenumberEnd: 981
    functionName: tcmalloc_internal::do_mallinfo2
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::InUseByApp
    - tcmalloc_internal::ExtractTCMallocStats
    - static_cast<size_t>
    - memset
    linkageType: ''
    returnType: struct mallinfo2
    signature: struct mallinfo2 do_mallinfo2()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1010,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1012,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1012,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1013,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1017,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1018,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1019,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1020,1
    - Dst: tcmalloc_internal::ThreadCache::GetCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1022,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1024,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1024,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1026,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1027,1
    - Dst: SampleSmallAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1028,1
    - Dst: tcmalloc_internal::TCMallocPolicy::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1031,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1034,1
    - Dst: tcmalloc_internal::TCMallocPolicy::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1034,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1037,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - size
    - size_class
    - policy
    - weight
    argTypes:
    - size_t
    - size_t
    - Policy
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1007
    functionDepth: 3
    functionLinenumber: 1007
    functionLinenumberEnd: 1038
    functionName: "typename Policy::pointer_type\nalloc_small_sampled_hooks_or_perthread(size_t
      size, size_t size_class,\n                                       Policy policy,
      size_t weight)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook::InvokeNewHook
    - cpu_cache
    - tcmalloc_internal::ThreadCache::GetCache
    - sizemap
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::TCMallocPolicy::size_returning
    - IsInited
    - tcmalloc_internal::TCMallocPolicy::invoke_hooks
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - UsePerCpuCache
    - TC_ASSERT
    - SampleSmallAllocation
    - ABSL_PREDICT_TRUE
    - Policy::handle_oom
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE typename Policy::pointer_type\nalloc_small_sampled_hooks_or_perthread(size_t
      size, size_t size_class,\n                                       Policy policy,
      size_t weight)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1053,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1054,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1055,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1055,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1056,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1056,1
    - Dst: alloc_small_sampled_hooks_or_perthread
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1057,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1061,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1062,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1062,1
    - Dst: tcmalloc_internal::TCMallocPolicy::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - size
    - size_class
    - policy
    argTypes:
    - size_t
    - uint32_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1049
    functionDepth: 2
    functionLinenumber: 1049
    functionLinenumberEnd: 1064
    functionName: 'typename Policy::pointer_type

      slow_alloc_small(size_t size, uint32_t size_class, Policy policy)'
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - alloc_small_sampled_hooks_or_perthread
    - GetThreadSampler
    - tcmalloc_internal::TCMallocPolicy::to_pointer
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    - UsePerCpuCache
    - Policy::handle_oom
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: 'ABSL_ATTRIBUTE_NOINLINE typename Policy::pointer_type

      slow_alloc_small(size_t size, uint32_t size_class, Policy policy)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1069,1
    - Dst: do_malloc_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1070,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1071,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1071,1
    - Dst: tcmalloc_internal::TCMallocPolicy::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1073,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1076,1
    - Dst: tcmalloc_internal::TCMallocPolicy::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1076,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - policy
    argTypes:
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1067
    functionDepth: 3
    functionLinenumber: 1067
    functionLinenumberEnd: 1080
    functionName: "typename Policy::pointer_type slow_alloc_large(\n    size_t size,
      Policy policy)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook::InvokeNewHook
    - tcmalloc_internal::TCMallocPolicy::size_returning
    - ABSL_PREDICT_FALSE
    - do_malloc_pages
    - GetThreadSampler
    - tcmalloc_internal::TCMallocPolicy::invoke_hooks
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - Policy::handle_oom
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE typename Policy::pointer_type slow_alloc_large(\n
      \   size_t size, Policy policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1091,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1092,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1093,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1102,1
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1102,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1103,1
    - Dst: slow_alloc_small
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1104,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1113,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1114,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1115,1
    - Dst: slow_alloc_small
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1116,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1119,1
    - Dst: tcmalloc_internal::TCMallocPolicy::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - size
    - policy
    argTypes:
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1121
    functionName: tcmalloc::tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::fast_alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - SLOW_PATH_BARRIER
    - GetThreadSampler
    - sizemap
    - slow_alloc_small
    - TC_ASSERT_NE
    - tcmalloc_internal::TCMallocPolicy::to_pointer
    linkageType: ''
    returnType: Pointer
    signature: "Pointer ABSL_ATTRIBUTE_ALWAYS_INLINE fast_alloc(size_t size,\n                                                              Policy
      policy)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1010,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1012,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1012,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1013,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1017,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1018,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1019,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1020,1
    - Dst: tcmalloc_internal::ThreadCache::GetCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1022,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1024,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1024,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1026,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1027,1
    - Dst: SampleSmallAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1028,1
    - Dst: tcmalloc_internal::TCMallocPolicy::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1031,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1034,1
    - Dst: tcmalloc_internal::TCMallocPolicy::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1034,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1037,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - size
    - size_class
    - policy
    - weight
    argTypes:
    - size_t
    - size_t
    - Policy
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1007
    functionDepth: 3
    functionLinenumber: 1007
    functionLinenumberEnd: 1038
    functionName: "typename Policy::pointer_type\nalloc_small_sampled_hooks_or_perthread(size_t
      size, size_t size_class,\n                                       Policy policy,
      size_t weight)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook::InvokeNewHook
    - cpu_cache
    - tcmalloc_internal::ThreadCache::GetCache
    - sizemap
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::TCMallocPolicy::size_returning
    - IsInited
    - tcmalloc_internal::TCMallocPolicy::invoke_hooks
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - UsePerCpuCache
    - TC_ASSERT
    - SampleSmallAllocation
    - ABSL_PREDICT_TRUE
    - Policy::handle_oom
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE typename Policy::pointer_type\nalloc_small_sampled_hooks_or_perthread(size_t
      size, size_t size_class,\n                                       Policy policy,
      size_t weight)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1053,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1054,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1055,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1055,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1056,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1056,1
    - Dst: alloc_small_sampled_hooks_or_perthread
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1057,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1061,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1062,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1062,1
    - Dst: tcmalloc_internal::TCMallocPolicy::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - size
    - size_class
    - policy
    argTypes:
    - size_t
    - uint32_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1049
    functionDepth: 2
    functionLinenumber: 1049
    functionLinenumberEnd: 1064
    functionName: 'typename Policy::pointer_type

      slow_alloc_small(size_t size, uint32_t size_class, Policy policy)'
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - alloc_small_sampled_hooks_or_perthread
    - GetThreadSampler
    - tcmalloc_internal::TCMallocPolicy::to_pointer
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    - UsePerCpuCache
    - Policy::handle_oom
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: 'ABSL_ATTRIBUTE_NOINLINE typename Policy::pointer_type

      slow_alloc_small(size_t size, uint32_t size_class, Policy policy)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1069,1
    - Dst: do_malloc_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1070,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1071,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1071,1
    - Dst: tcmalloc_internal::TCMallocPolicy::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1073,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1076,1
    - Dst: tcmalloc_internal::TCMallocPolicy::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1076,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - policy
    argTypes:
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1067
    functionDepth: 3
    functionLinenumber: 1067
    functionLinenumberEnd: 1080
    functionName: "typename Policy::pointer_type slow_alloc_large(\n    size_t size,
      Policy policy)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook::InvokeNewHook
    - tcmalloc_internal::TCMallocPolicy::size_returning
    - ABSL_PREDICT_FALSE
    - do_malloc_pages
    - GetThreadSampler
    - tcmalloc_internal::TCMallocPolicy::invoke_hooks
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - Policy::handle_oom
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE typename Policy::pointer_type slow_alloc_large(\n
      \   size_t size, Policy policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1091,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1092,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1093,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1102,1
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1102,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1103,1
    - Dst: slow_alloc_small
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1104,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1113,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1114,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1115,1
    - Dst: slow_alloc_small
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1116,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1119,1
    - Dst: tcmalloc_internal::TCMallocPolicy::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - size
    - policy
    argTypes:
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1121
    functionName: tcmalloc::tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::fast_alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - SLOW_PATH_BARRIER
    - GetThreadSampler
    - sizemap
    - slow_alloc_small
    - TC_ASSERT_NE
    - tcmalloc_internal::TCMallocPolicy::to_pointer
    linkageType: ''
    returnType: Pointer
    signature: "Pointer ABSL_ATTRIBUTE_ALWAYS_INLINE fast_alloc(size_t size,\n                                                              Policy
      policy)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1010,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1012,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1012,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1013,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1017,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1018,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1019,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1020,1
    - Dst: tcmalloc_internal::ThreadCache::GetCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1022,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1024,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1024,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1026,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1027,1
    - Dst: SampleSmallAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1028,1
    - Dst: tcmalloc_internal::TCMallocPolicy::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1031,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1034,1
    - Dst: tcmalloc_internal::TCMallocPolicy::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1034,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1037,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - size
    - size_class
    - policy
    - weight
    argTypes:
    - size_t
    - size_t
    - Policy
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1007
    functionDepth: 3
    functionLinenumber: 1007
    functionLinenumberEnd: 1038
    functionName: "typename Policy::pointer_type\nalloc_small_sampled_hooks_or_perthread(size_t
      size, size_t size_class,\n                                       Policy policy,
      size_t weight)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook::InvokeNewHook
    - cpu_cache
    - tcmalloc_internal::ThreadCache::GetCache
    - sizemap
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::TCMallocPolicy::size_returning
    - IsInited
    - tcmalloc_internal::TCMallocPolicy::invoke_hooks
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - UsePerCpuCache
    - TC_ASSERT
    - SampleSmallAllocation
    - ABSL_PREDICT_TRUE
    - Policy::handle_oom
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE typename Policy::pointer_type\nalloc_small_sampled_hooks_or_perthread(size_t
      size, size_t size_class,\n                                       Policy policy,
      size_t weight)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1053,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1054,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1055,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1055,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1056,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1056,1
    - Dst: alloc_small_sampled_hooks_or_perthread
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1057,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1061,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1062,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1062,1
    - Dst: tcmalloc_internal::TCMallocPolicy::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - size
    - size_class
    - policy
    argTypes:
    - size_t
    - uint32_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1049
    functionDepth: 2
    functionLinenumber: 1049
    functionLinenumberEnd: 1064
    functionName: 'typename Policy::pointer_type

      slow_alloc_small(size_t size, uint32_t size_class, Policy policy)'
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - alloc_small_sampled_hooks_or_perthread
    - GetThreadSampler
    - tcmalloc_internal::TCMallocPolicy::to_pointer
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    - UsePerCpuCache
    - Policy::handle_oom
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: 'ABSL_ATTRIBUTE_NOINLINE typename Policy::pointer_type

      slow_alloc_small(size_t size, uint32_t size_class, Policy policy)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1069,1
    - Dst: do_malloc_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1070,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1071,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1071,1
    - Dst: tcmalloc_internal::TCMallocPolicy::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1073,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1076,1
    - Dst: tcmalloc_internal::TCMallocPolicy::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1076,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - policy
    argTypes:
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1067
    functionDepth: 3
    functionLinenumber: 1067
    functionLinenumberEnd: 1080
    functionName: "typename Policy::pointer_type slow_alloc_large(\n    size_t size,
      Policy policy)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook::InvokeNewHook
    - tcmalloc_internal::TCMallocPolicy::size_returning
    - ABSL_PREDICT_FALSE
    - do_malloc_pages
    - GetThreadSampler
    - tcmalloc_internal::TCMallocPolicy::invoke_hooks
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - Policy::handle_oom
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE typename Policy::pointer_type slow_alloc_large(\n
      \   size_t size, Policy policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1091,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1092,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1093,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1102,1
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1102,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1103,1
    - Dst: slow_alloc_small
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1104,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1113,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1114,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1115,1
    - Dst: slow_alloc_small
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1116,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1119,1
    - Dst: tcmalloc_internal::TCMallocPolicy::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - size
    - policy
    argTypes:
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1121
    functionName: tcmalloc::tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::fast_alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - SLOW_PATH_BARRIER
    - GetThreadSampler
    - sizemap
    - slow_alloc_small
    - TC_ASSERT_NE
    - tcmalloc_internal::TCMallocPolicy::to_pointer
    linkageType: ''
    returnType: Pointer
    signature: "Pointer ABSL_ATTRIBUTE_ALWAYS_INLINE fast_alloc(size_t size,\n                                                              Policy
      policy)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1010,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1012,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1012,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1013,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1017,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1018,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1019,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1020,1
    - Dst: tcmalloc_internal::ThreadCache::GetCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1022,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1024,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1024,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1026,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1027,1
    - Dst: SampleSmallAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1028,1
    - Dst: tcmalloc_internal::TCMallocPolicy::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1031,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1034,1
    - Dst: tcmalloc_internal::TCMallocPolicy::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1034,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1037,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - size
    - size_class
    - policy
    - weight
    argTypes:
    - size_t
    - size_t
    - Policy
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1007
    functionDepth: 3
    functionLinenumber: 1007
    functionLinenumberEnd: 1038
    functionName: "typename Policy::pointer_type\nalloc_small_sampled_hooks_or_perthread(size_t
      size, size_t size_class,\n                                       Policy policy,
      size_t weight)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook::InvokeNewHook
    - cpu_cache
    - tcmalloc_internal::ThreadCache::GetCache
    - sizemap
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::TCMallocPolicy::size_returning
    - IsInited
    - tcmalloc_internal::TCMallocPolicy::invoke_hooks
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - UsePerCpuCache
    - TC_ASSERT
    - SampleSmallAllocation
    - ABSL_PREDICT_TRUE
    - Policy::handle_oom
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE typename Policy::pointer_type\nalloc_small_sampled_hooks_or_perthread(size_t
      size, size_t size_class,\n                                       Policy policy,
      size_t weight)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1053,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1054,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1055,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1055,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1056,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1056,1
    - Dst: alloc_small_sampled_hooks_or_perthread
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1057,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1061,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1062,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1062,1
    - Dst: tcmalloc_internal::TCMallocPolicy::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - size
    - size_class
    - policy
    argTypes:
    - size_t
    - uint32_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1049
    functionDepth: 2
    functionLinenumber: 1049
    functionLinenumberEnd: 1064
    functionName: 'typename Policy::pointer_type

      slow_alloc_small(size_t size, uint32_t size_class, Policy policy)'
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - alloc_small_sampled_hooks_or_perthread
    - GetThreadSampler
    - tcmalloc_internal::TCMallocPolicy::to_pointer
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    - UsePerCpuCache
    - Policy::handle_oom
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: 'ABSL_ATTRIBUTE_NOINLINE typename Policy::pointer_type

      slow_alloc_small(size_t size, uint32_t size_class, Policy policy)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1069,1
    - Dst: do_malloc_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1070,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1071,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1071,1
    - Dst: tcmalloc_internal::TCMallocPolicy::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1073,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1076,1
    - Dst: tcmalloc_internal::TCMallocPolicy::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1076,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - policy
    argTypes:
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1067
    functionDepth: 3
    functionLinenumber: 1067
    functionLinenumberEnd: 1080
    functionName: "typename Policy::pointer_type slow_alloc_large(\n    size_t size,
      Policy policy)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook::InvokeNewHook
    - tcmalloc_internal::TCMallocPolicy::size_returning
    - ABSL_PREDICT_FALSE
    - do_malloc_pages
    - GetThreadSampler
    - tcmalloc_internal::TCMallocPolicy::invoke_hooks
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - Policy::handle_oom
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE typename Policy::pointer_type slow_alloc_large(\n
      \   size_t size, Policy policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1091,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1092,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1093,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1102,1
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1102,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1103,1
    - Dst: slow_alloc_small
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1104,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1113,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1114,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1115,1
    - Dst: slow_alloc_small
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1116,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1119,1
    - Dst: tcmalloc_internal::TCMallocPolicy::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - size
    - policy
    argTypes:
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1121
    functionName: tcmalloc::tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::fast_alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - SLOW_PATH_BARRIER
    - GetThreadSampler
    - sizemap
    - slow_alloc_small
    - TC_ASSERT_NE
    - tcmalloc_internal::TCMallocPolicy::to_pointer
    linkageType: ''
    returnType: Pointer
    signature: "Pointer ABSL_ATTRIBUTE_ALWAYS_INLINE fast_alloc(size_t size,\n                                                              Policy
      policy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1129
    functionName: MallocHook_HooksChanged
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 5
    functionsReached:
    - cpu_cache
    linkageType: ''
    returnType: void
    signature: void MallocHook_HooksChanged()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1135,1
    - Dst: GetOwnership
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1135,1
    - Dst: GetSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1134
    functionDepth: 1
    functionLinenumber: 1134
    functionLinenumberEnd: 1138
    functionName: MallocExtension_Internal_GetAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - TC_ASSERT
    - GetSize
    - GetOwnership
    linkageType: ''
    returnType: size_t
    signature: size_t MallocExtension_Internal_GetAllocatedSize(const void* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1141,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1143,1
    - Dst: tcmalloc_internal::ThreadCache::GetCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1140
    functionDepth: 3
    functionLinenumber: 1140
    functionLinenumberEnd: 1149
    functionName: MallocExtension_Internal_MarkThreadBusy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - UsePerCpuCache
    - InitIfNecessary
    - tcmalloc_internal::ThreadCache::GetCache
    linkageType: ''
    returnType: void
    signature: void MallocExtension_Internal_MarkThreadBusy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: span_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1158,1
    - Dst: tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::spans::reserve
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1163,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1166,1
    - Dst: tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::spans::size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1167,1
    - Dst: tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::spans::clear
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1170,1
    - Dst: absl::InternalError
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1175
    functionName: MallocTracingExtension_Internal_GetAllocatedAddressRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - absl::InternalError
    - pagemap
    - tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::spans::reserve
    - tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::spans::size
    - tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::spans::clear
    - span_allocator
    linkageType: ''
    returnType: absl::StatusOr<tcmalloc::malloc_tracing_extension::AllocatedAddressRanges>
    signature: absl::StatusOr<tcmalloc::malloc_tracing_extension::AllocatedAddressRanges>
      MallocTracingExtension_Internal_GetAllocatedAddressRanges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1179
    functionName: TCMalloc_Internal_GetMadvise
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    linkageType: ''
    returnType: tcmalloc::tcmalloc_internal::MadvisePreference
    signature: tcmalloc::tcmalloc_internal::MadvisePreference TCMalloc_Internal_GetMadvise()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - tcmalloc::tcmalloc_internal::MadvisePreference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1184
    functionName: TCMalloc_Internal_SetMadvise
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    linkageType: ''
    returnType: void
    signature: "void TCMalloc_Internal_SetMadvise(\n    tcmalloc::tcmalloc_internal::MadvisePreference
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tc_fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1206
    functionName: TCMALLOC_ALIAS
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_ALIAS(tc_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1210,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1211
    functionName: TCMallocInternalMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - fast_alloc
    - MallocPolicy
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * TCMallocInternalMalloc(\n    size_t size)
      noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1214,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1215
    functionName: TCMallocInternalNew
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: ABSL_CACHELINE_ALIGNED * TCMallocInternalNew(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1219,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1220
    functionName: TCMallocInternalNewNothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * TCMallocInternalNewNothrow(\n    size_t size,
      const std::nothrow_t&) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1224,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1225
    functionName: __sized_ptr_t::TCMallocInternalSizeReturningNew
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: 'ABSL_CACHELINE_ALIGNED __sized_ptr_t

      TCMallocInternalSizeReturningNew(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1230,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1230,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1230,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1231,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1232
    functionName: __sized_ptr_t::TCMallocInternalSizeReturningNewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - fast_alloc
    - static_cast<size_t>
    - CppPolicy
    - TC_ASSERT
    - absl::has_single_bit
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED __sized_ptr_t\nTCMallocInternalSizeReturningNewAligned(size_t
      size,\n                                        std::align_val_t alignment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1255,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - hot_cold
    argTypes:
    - size_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1256
    functionName: __size_returning_new_hot_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - CppPolicy
    - fast_alloc
    linkageType: ''
    returnType: __sized_ptr_t
    signature: "__sized_ptr_t __size_returning_new_hot_cold(size_t size,\n                                            __hot_cold_t
      hot_cold)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1262,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1262,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1262,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1263,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - size
    - alignment
    - hot_cold
    argTypes:
    - size_t
    - std::align_val_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1259
    functionDepth: 1
    functionLinenumber: 1259
    functionLinenumberEnd: 1265
    functionName: __size_returning_new_aligned_hot_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - fast_alloc
    - static_cast<size_t>
    - CppPolicy
    - TC_ASSERT
    - absl::has_single_bit
    linkageType: ''
    returnType: __sized_ptr_t
    signature: "__sized_ptr_t __size_returning_new_aligned_hot_cold(size_t size,\n
      \                                                   std::align_val_t alignment,\n
      \                                                   __hot_cold_t hot_cold)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1270,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1270,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1271,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - align
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1272
    functionName: TCMallocInternalMemalign
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - TC_ASSERT
    - fast_alloc
    - absl::has_single_bit
    - MallocPolicy
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * TCMallocInternalMemalign(\n    size_t align,
      size_t size) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1276,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1276,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1276,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1277,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1274
    functionDepth: 1
    functionLinenumber: 1274
    functionLinenumberEnd: 1278
    functionName: TCMallocInternalNewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - fast_alloc
    - static_cast<size_t>
    - CppPolicy
    - TC_ASSERT
    - absl::has_single_bit
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * TCMallocInternalNewAligned(\n    size_t size,
      std::align_val_t alignment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1282,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1282,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1282,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1283,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1280
    functionDepth: 1
    functionLinenumber: 1280
    functionLinenumberEnd: 1284
    functionName: TCMallocInternalNewAlignedNothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - fast_alloc
    - static_cast<size_t>
    - CppPolicy
    - TC_ASSERT
    - absl::has_single_bit
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * TCMallocInternalNewAlignedNothrow(\n    size_t
      size, std::align_val_t alignment, const std::nothrow_t&) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1289,1
    - Dst: MultiplyOverflow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1289,1
    - Dst: tcmalloc_internal::TCMallocPolicy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1290,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1290,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1292,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1292,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1293,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - n
    - elem_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1297
    functionName: TCMallocInternalCalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - fast_alloc
    - MallocPolicy
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::TCMallocPolicy::handle_oom
    - tcmalloc_internal::max
    - memset
    - ABSL_PREDICT_TRUE
    - MultiplyOverflow
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * TCMallocInternalCalloc(\n    size_t n, size_t
      elem_size) noexcept"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1301,1
    - Dst: GetSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1303,1
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1313,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1322,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1322,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1324,1
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1326,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1332,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1334,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1334,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1338,1
    - Dst: do_free
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1342,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1342,1
    - Dst: MallocHook::InvokeDeleteHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1346,1
    - Dst: const_cast<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1347,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1349,1
    - Dst: const_cast<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1350,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1353,1
    - Dst: CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1353,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1353,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - old_ptr
    - new_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1299
    functionDepth: 3
    functionLinenumber: 1299
    functionLinenumberEnd: 1356
    functionName: do_realloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook::InvokeNewHook
    - const_cast<void*>
    - MallocPolicy
    - InitIfNecessary
    - sizemap
    - fast_alloc
    - GetThreadSampler
    - BytesToLengthCeil
    - guardedpage_allocator
    - memcpy
    - MallocHook::InvokeDeleteHook
    - do_free
    - TC_ASSERT
    - CorrectSize
    - GetSizeAndSampled
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * do_realloc(void* old_ptr,\n                                                            size_t
      new_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1361,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1361,1
    - Dst: do_free
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1364,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1364,1
    - Dst: do_realloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1358
    functionDepth: 4
    functionLinenumber: 1358
    functionLinenumberEnd: 1368
    functionName: TCMallocInternalRealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - do_realloc
    - fast_alloc
    - do_free
    - MallocPolicy
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * TCMallocInternalRealloc(\n    void* ptr,
      size_t size) noexcept"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1373,1
    - Dst: MultiplyOverflow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1373,1
    - Dst: tcmalloc_internal::TCMallocPolicy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1374,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1374,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1377,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1377,1
    - Dst: do_free
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1380,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1380,1
    - Dst: do_realloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ptr
    - n
    - elem_size
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1370
    functionDepth: 4
    functionLinenumber: 1370
    functionLinenumberEnd: 1384
    functionName: TCMallocInternalReallocArray
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - do_realloc
    - fast_alloc
    - MallocPolicy
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::TCMallocPolicy::handle_oom
    - tcmalloc_internal::max
    - do_free
    - MultiplyOverflow
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * TCMallocInternalReallocArray(\n    void*
      ptr, size_t n, size_t elem_size) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1390,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1391
    functionName: tcmalloc_size_returning_operator_new_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    linkageType: ''
    returnType: __sized_ptr_t
    signature: "__sized_ptr_t tcmalloc_size_returning_operator_new_nothrow(\n    size_t
      size) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1396,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1396,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1396,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1397,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1399
    functionName: tcmalloc_size_returning_operator_new_aligned_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - fast_alloc
    - static_cast<size_t>
    - CppPolicy
    - TC_ASSERT
    - absl::has_single_bit
    linkageType: ''
    returnType: __sized_ptr_t
    signature: "__sized_ptr_t tcmalloc_size_returning_operator_new_aligned_nothrow(\n
      \   size_t size, std::align_val_t alignment) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1404,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - hot_cold
    argTypes:
    - size_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1406
    functionName: tcmalloc_size_returning_operator_new_hot_cold_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    linkageType: ''
    returnType: __sized_ptr_t
    signature: "__sized_ptr_t tcmalloc_size_returning_operator_new_hot_cold_nothrow(\n
      \   size_t size, __hot_cold_t hot_cold) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1411,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1411,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1411,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1412,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - size
    - alignment
    - hot_cold
    argTypes:
    - size_t
    - std::align_val_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1409
    functionDepth: 1
    functionLinenumber: 1409
    functionLinenumberEnd: 1417
    functionName: tcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - fast_alloc
    - static_cast<size_t>
    - CppPolicy
    - TC_ASSERT
    - absl::has_single_bit
    linkageType: ''
    returnType: __sized_ptr_t
    signature: "__sized_ptr_t tcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow(\n
      \   size_t size, std::align_val_t alignment, __hot_cold_t hot_cold) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_free
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1422,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1423
    functionName: TCMallocInternalFree
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - MallocPolicy
    - do_free
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED TCMallocInternalFree(\n    void* ptr) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_free_with_size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1427,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1428
    functionName: TCMallocInternalFreeSized
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocPolicy
    - do_free_with_size
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED TCMallocInternalFreeSized(\n    void* ptr,
      size_t size) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1432,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1432,1
    - Dst: do_free_with_size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1433,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - align
    - size
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1434
    functionName: TCMallocInternalFreeAlignedSized
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - MallocPolicy
    - absl::has_single_bit
    - do_free_with_size
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED TCMallocInternalFreeAlignedSized(\n    void*
      ptr, size_t align, size_t size) noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1443,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1444,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1445,1
    - Dst: do_free_with_size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1448,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - flags
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1449
    functionName: TCMallocInternalSdallocx
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocPolicy
    - ABSL_PREDICT_FALSE
    - static_cast<size_t>
    - TC_ASSERT_EQ
    - do_free_with_size
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED TCMallocInternalSdallocx(\n    void* ptr, size_t
      size, int flags) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_free
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1452,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1453
    functionName: TCMallocInternalDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - do_free
    linkageType: ''
    returnType: void
    signature: void TCMallocInternalDelete(void* p) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_free_with_size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1471,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1472
    functionName: TCMallocInternalDeleteSized
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - do_free_with_size
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED TCMallocInternalDeleteSized(\n    void* p,
      size_t size) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1476,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1476,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1476,1
    - Dst: do_free_with_size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1477,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - t
    - alignment
    argTypes:
    - void*
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1478
    functionName: TCMallocInternalDeleteSizedAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - CppPolicy
    - TC_ASSERT
    - absl::has_single_bit
    - do_free_with_size
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED TCMallocInternalDeleteSizedAligned(\n    void*
      p, size_t t, std::align_val_t alignment) noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1534,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1534,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1540,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - align
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1541
    functionName: TCMallocInternalAlignedAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocPolicy
    - fast_alloc
    - absl::has_single_bit
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * TCMallocInternalAlignedAlloc(\n    size_t
      align, size_t size) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1545,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1546,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1547,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1550,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1550,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - result_ptr
    - align
    - size
    argTypes:
    - void**
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1556
    functionName: TCMallocInternalPosixMemalign
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocPolicy
    - fast_alloc
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - absl::has_single_bit
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED TCMallocInternalPosixMemalign(\n    void**
      result_ptr, size_t align, size_t size) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1561,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1561,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1558
    functionDepth: 0
    functionLinenumber: 1558
    functionLinenumberEnd: 1562
    functionName: TCMallocInternalValloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - GetPageSize
    - fast_alloc
    - MallocPolicy
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * TCMallocInternalValloc(\n    size_t size)
      noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1567,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1572,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1564
    functionDepth: 0
    functionLinenumber: 1564
    functionLinenumberEnd: 1573
    functionName: TCMallocInternalPvalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - GetPageSize
    - fast_alloc
    - MallocPolicy
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * TCMallocInternalPvalloc(\n    size_t size)
      noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_malloc_stats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1577
    functionName: TCMallocInternalMallocStats
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - do_malloc_stats
    linkageType: ''
    returnType: void
    signature: void TCMallocInternalMallocStats(void) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_malloc_trim
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pad
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1581
    functionName: TCMallocInternalMallocTrim
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - do_malloc_trim
    linkageType: ''
    returnType: int
    signature: int TCMallocInternalMallocTrim(size_t pad) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_mallopt
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1585
    functionName: TCMallocInternalMallOpt
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - do_mallopt
    linkageType: ''
    returnType: int
    signature: int TCMallocInternalMallOpt(int cmd, int value) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_mallinfo
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1590
    functionName: TCMallocInternalMallInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - do_mallinfo
    linkageType: ''
    returnType: struct mallinfo
    signature: struct mallinfo TCMallocInternalMallInfo(void) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_mallinfo2
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1596
    functionName: TCMallocInternalMallInfo2
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - do_mallinfo2
    linkageType: ''
    returnType: struct mallinfo2
    signature: struct mallinfo2 TCMallocInternalMallInfo2(void) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ABSL_ATTRIBUTE_UNUSED
    - fp
    argTypes:
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1603
    functionName: TCMallocInternalMallocInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: "int TCMallocInternalMallocInfo(int opts ABSL_ATTRIBUTE_UNUSED,\n                                          FILE*
      fp) noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1610,1
    - Dst: GetOwnership
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1610,1
    - Dst: GetSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1613
    functionName: TCMallocInternalMallocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - GetSize
    - GetOwnership
    linkageType: ''
    returnType: size_t
    signature: size_t TCMallocInternalMallocSize(void* ptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1617,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - min_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1619
    functionName: alloc_result_t::TCMallocInternalAllocAtLeast
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - fast_alloc
    - MallocPolicy
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: 'ABSL_CACHELINE_ALIGNED alloc_result_t

      TCMallocInternalAllocAtLeast(size_t min_size) noexcept'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1628,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1628,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1635,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - alignment
    - min_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1637
    functionName: alloc_result_t::TCMallocInternalAlignedAllocAtLeast
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocPolicy
    - fast_alloc
    - absl::has_single_bit
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED alloc_result_t\nTCMallocInternalAlignedAllocAtLeast(size_t
      alignment,\n                                    size_t min_size) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1654,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1654,1
    - Dst: tcmalloc_internal::ThreadCache::InitTSD
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1655,1
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1656,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1656,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1639
    functionDepth: 2
    functionLinenumber: 1639
    functionLinenumberEnd: 1666
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook_HooksChanged
    - TCMallocInternalMalloc
    - tcmalloc_internal::ThreadCache::InitTSD
    - TCMallocInternalFree
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1654,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1654,1
    - Dst: tcmalloc_internal::ThreadCache::InitTSD
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1655,1
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1656,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1656,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1653
    functionDepth: 2
    functionLinenumber: 1653
    functionLinenumberEnd: 1659
    functionName: tcmalloc_internal::TCMallocGuard::TCMallocGuard
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook_HooksChanged
    - TCMallocInternalMalloc
    - tcmalloc_internal::ThreadCache::InitTSD
    - TCMallocInternalFree
    linkageType: ''
    returnType: void
    signature: void TCMallocGuard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1654,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1654,1
    - Dst: tcmalloc_internal::ThreadCache::InitTSD
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1655,1
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1656,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1656,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1653
    functionDepth: 2
    functionLinenumber: 1653
    functionLinenumberEnd: 1659
    functionName: tcmalloc_internal::TCMallocGuard::TCMallocGuard
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook_HooksChanged
    - TCMallocInternalMalloc
    - tcmalloc_internal::ThreadCache::InitTSD
    - TCMallocInternalFree
    linkageType: ''
    returnType: void
    signature: void TCMallocGuard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1654,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1654,1
    - Dst: tcmalloc_internal::ThreadCache::InitTSD
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1655,1
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1656,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1656,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1653
    functionDepth: 2
    functionLinenumber: 1653
    functionLinenumberEnd: 1659
    functionName: tcmalloc_internal::TCMallocGuard::TCMallocGuard
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook_HooksChanged
    - TCMallocInternalMalloc
    - tcmalloc_internal::ThreadCache::InitTSD
    - TCMallocInternalFree
    linkageType: ''
    returnType: void
    signature: void TCMallocGuard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1654,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1654,1
    - Dst: tcmalloc_internal::ThreadCache::InitTSD
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1655,1
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1656,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1656,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1653
    functionDepth: 2
    functionLinenumber: 1653
    functionLinenumberEnd: 1659
    functionName: tcmalloc_internal::TCMallocGuard::TCMallocGuard
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook_HooksChanged
    - TCMallocInternalMalloc
    - tcmalloc_internal::ThreadCache::InitTSD
    - TCMallocInternalFree
    linkageType: ''
    returnType: void
    signature: void TCMallocGuard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1671,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - hot_cold
    argTypes:
    - size_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1672
    functionName: "* operator new(\n    size_t size, __hot_cold_t hot_cold) noexcept(false)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * operator new(\n    size_t size, __hot_cold_t
      hot_cold) noexcept(false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1676,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - hot_cold
    argTypes:
    - size_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1677
    functionName: "* operator new(size_t size, const std::nothrow_t&,\n                                          __hot_cold_t
      hot_cold) noexcept"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * operator new(size_t size, const std::nothrow_t&,\n
      \                                         __hot_cold_t hot_cold) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1682,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1682,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1682,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1683,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - size
    - align
    - hot_cold
    argTypes:
    - size_t
    - std::align_val_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1679
    functionDepth: 1
    functionLinenumber: 1679
    functionLinenumberEnd: 1684
    functionName: "* operator new(\n    size_t size, std::align_val_t align,\n    __hot_cold_t
      hot_cold) noexcept(false)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - fast_alloc
    - static_cast<size_t>
    - CppPolicy
    - TC_ASSERT
    - absl::has_single_bit
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * operator new(\n    size_t size, std::align_val_t
      align,\n    __hot_cold_t hot_cold) noexcept(false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1689,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1689,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1689,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1690,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - size
    - align
    - hot_cold
    argTypes:
    - size_t
    - std::align_val_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1686
    functionDepth: 1
    functionLinenumber: 1686
    functionLinenumberEnd: 1692
    functionName: "* operator new(size_t size, std::align_val_t align,\n                                          const
      std::nothrow_t&,\n                                          __hot_cold_t hot_cold)
      noexcept"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - fast_alloc
    - static_cast<size_t>
    - CppPolicy
    - TC_ASSERT
    - absl::has_single_bit
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * operator new(size_t size, std::align_val_t
      align,\n                                          const std::nothrow_t&,\n                                          __hot_cold_t
      hot_cold) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1696,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - hot_cold
    argTypes:
    - size_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1697
    functionName: "* operator new[](\n    size_t size, __hot_cold_t hot_cold) noexcept(false)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * operator new[](\n    size_t size, __hot_cold_t
      hot_cold) noexcept(false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1701,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - hot_cold
    argTypes:
    - size_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1702
    functionName: "* operator new[](size_t size, const std::nothrow_t&,\n                                            __hot_cold_t
      hot_cold) noexcept"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * operator new[](size_t size, const std::nothrow_t&,\n
      \                                           __hot_cold_t hot_cold) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1707,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1707,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1707,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1708,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - size
    - align
    - hot_cold
    argTypes:
    - size_t
    - std::align_val_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1704
    functionDepth: 1
    functionLinenumber: 1704
    functionLinenumberEnd: 1709
    functionName: "* operator new[](\n    size_t size, std::align_val_t align,\n    __hot_cold_t
      hot_cold) noexcept(false)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - fast_alloc
    - static_cast<size_t>
    - CppPolicy
    - TC_ASSERT
    - absl::has_single_bit
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * operator new[](\n    size_t size, std::align_val_t
      align,\n    __hot_cold_t hot_cold) noexcept(false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1714,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1714,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1714,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1715,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - size
    - align
    - hot_cold
    argTypes:
    - size_t
    - std::align_val_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1717
    functionName: "* operator new[](size_t size, std::align_val_t align,\n                                            const
      std::nothrow_t&,\n                                            __hot_cold_t hot_cold)
      noexcept"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - fast_alloc
    - static_cast<size_t>
    - CppPolicy
    - TC_ASSERT
    - absl::has_single_bit
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * operator new[](size_t size, std::align_val_t
      align,\n                                            const std::nothrow_t&,\n
      \                                           __hot_cold_t hot_cold) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:59,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResetClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::HugeCacheTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
    - backing_::resize
    linkageType: ''
    returnType: void
    signature: void HugeCacheTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:82,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetCacheTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::get<0>
    - GetParam
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetCacheTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:86,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - GetParam
    linkageType: ''
    returnType: bool
    signature: bool GetDemandBasedRelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
    - tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    linkageType: ''
    returnType: void
    signature: void Release(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Get
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:110,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:110,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:111,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:112,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:112,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:113,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:117,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:119,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Get
    - NHugePages
    - EXPECT_FALSE
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Backing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:125,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:128,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:129,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:130,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:131,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:132,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:133,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:134,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:135,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:136,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:137,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:139,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:140,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:142,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:144,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:146,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:148,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:149,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:150,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:157,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:158,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:160,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - ReleaseCachedPages
    - EXPECT_EQ
    - size
    - Get
    - start
    - HugeRange::start
    - Return
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:168,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:171,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:172,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:173,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:174,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:175,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:176,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:177,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:178,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:179,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:180,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:182,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:183,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:185,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:187,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:189,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:191,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:192,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:193,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:197,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:201,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:205,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:205,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - ReleaseCachedPages
    - EXPECT_EQ
    - size
    - Get
    - start
    - HugeRange::start
    - Return
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:212,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:218,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:219,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:223,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:224,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:225,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:226,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:227,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:227,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:228,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:234,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:246,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:248,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:250,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:252,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:254,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:256,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:262,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Split
    - Length
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Stat
    - size
    - std::tie
    - Get
    - AddSpanStats
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' cache'
    - spans
    - pages_backed
    - pages_unbacked
    argTypes:
    - HugeCache
    - size_t*
    - Length*
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: tcmalloc::tcmalloc_internal::Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 9
    functionsReached:
    - AddSpanStats
    linkageType: ''
    returnType: void
    signature: "void Stat(const HugeCache& cache, size_t* spans,\n                     Length*
      pages_backed, Length* pages_unbacked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - denom
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: tcmalloc::tcmalloc_internal::Frac
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - HugeLength::raw_num
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Frac(HugeLength num, HugeLength denom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:275,1
    - Dst: std::bernoulli_distribution
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:290,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:295,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:295,1
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:297,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:298,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:299,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:301,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:306,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:314,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:315,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:321,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:321,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:325,1
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:330,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:331,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:332,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:333,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:334,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:342,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:345,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:346,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:348,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:354,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:355,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:357,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:363,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 366
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - in_bytes
    - NHugePages
    - EXPECT_CALL
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - HugeLength::raw_num
    - size
    - push_back
    - Return
    - sizes
    - Advance
    - EXPECT_LE
    - Get
    - Release
    - Unback
    - std::vector::push_back
    - SCOPED_TRACE
    - GetDemandBasedRelease
    - std::bernoulli_distribution
    - ReleaseCachedPagesByDemand
    - alloc
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::Frac
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Growth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:373,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:376,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:376,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:377,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:385,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:389,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:391,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:392,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:393,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:393,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:395,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - std::vector::push_back
    - GTEST_SKIP
    - Advance
    - GetDemandBasedRelease
    - size
    - GetCacheTime
    - EXPECT_GE
    - Get
    - Return
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SlowGrowthUncached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:403,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:404,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:406,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:406,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:407,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:408,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:417,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:419,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:422,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:422,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 425
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - std::vector::push_back
    - GTEST_SKIP
    - size
    - GetDemandBasedRelease
    - EXPECT_GE
    - GetCacheTime
    - Advance
    - Get
    - Return
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesUncached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:435,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:437,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:446,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:449,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 456
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - GTEST_SKIP
    - EXPECT_EQ
    - limit
    - size
    - GetDemandBasedRelease
    - Advance
    - GetCacheTime
    - Get
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesCachedNoUnback)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:465,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:466,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:475,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:478,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 486
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - sizes
    - tcmalloc::tcmalloc_internal::Frac
    - std::vector::push_back
    - Advance
    - EXPECT_GE
    - GetCacheTime
    - Get
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, DipsCached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:494,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:496,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:496,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:497,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:500,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:504,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:504,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:506,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:506,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:509,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 533
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - ASSERT_LE
    - std::vector::push_back
    - GTEST_SKIP
    - ASSERT_GE
    - size
    - GetDemandBasedRelease
    - Advance
    - GetCacheTime
    - Get
    - Return
    - limit
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Shrink)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:547,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:556,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:556,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:559,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:559,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:560,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:564,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:564,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:567,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:567,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:571,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandHardRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:582,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:583,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:585,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:585,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:586,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:589,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:589,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:590,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:590,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:591,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:591,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:594,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:594,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:595,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:595,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:596,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:597,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:597,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:600,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:601,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:602,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:602,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:612,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:613,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:614,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:617,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:620,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:621,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:622,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:625,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:625,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:630,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:631,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:632,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:635,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:637,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:637,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:640,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:641,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:642,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:642,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:646,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:647,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:650,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 651
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - usage
    - Advance
    - GetDemandBasedRelease
    - size
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandIncreaseTarget)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:655,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:658,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:658,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:659,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:660,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:661,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 664
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - GetDemandBasedRelease
    - ReleaseCachedPagesByDemand
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandReleaseZero)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:668,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:669,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:671,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:671,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:672,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:678,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:678,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:679,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:679,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:680,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:681,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:682,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 685
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - size
    - GetDemandBasedRelease
    - Advance
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandNoHistory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:689,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:692,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:692,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:693,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:697,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:697,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:698,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:698,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:699,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:700,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:701,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:701,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:703,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:703,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:704,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:704,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:709,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:709,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:710,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:711,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:712,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 720
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - GTEST_SKIP
    - EXPECT_EQ
    - Advance
    - GetDemandBasedRelease
    - size
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandCappedByDemandPeak)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:728,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:732,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:732,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:733,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:745,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:745,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:746,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:746,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:747,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:749,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:750,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:751,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:751,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:752,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:752,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:755,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:763,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:763,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:764,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:769,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:769,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:770,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:770,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:772,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:773,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:780,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:780,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:781,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:781,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:785,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:787,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:794,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:795,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:797,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:798,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:799,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:805,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:807,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:808,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:813,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:820,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:822,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:823,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:829,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:831,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:832,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:837,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:839,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:844,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:846,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:853,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:855,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:856,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:862,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:864,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:865,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:866,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:871,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:871,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:872,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:875,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:875,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:876,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:880,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 885
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - absl::Milliseconds
    - absl::Minutes
    - EXPECT_EQ
    - usage
    - Advance
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandSkipRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:892,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:892,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:893,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:895,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:895,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:896,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:902,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:902,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:903,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:903,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:904,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:904,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:905,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:906,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:906,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:910,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:910,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:911,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:912,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:914,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:915,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:915,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:916,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:916,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:917,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:922,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:923,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:928,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:928,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:929,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:929,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:933,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:934,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:934,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:935,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:935,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:937,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:937,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:938,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:939,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:941,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:942,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:942,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:943,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:943,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:944,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:944,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:945,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:946,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:951,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:952,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:952,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:956,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:956,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:957,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:961,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 965
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - absl::Minutes
    - EXPECT_EQ
    - usage
    - Advance
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandSkipReleaseReport)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:970,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:970,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:973,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:976,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 982
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseUnbacked
    - EXPECT_EQ
    - usage
    - Get
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:987,1
    - Dst: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 988
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 994
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1003,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1007,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1011,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1011,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1015,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1019,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1019,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1024,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1025,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1025,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1033,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1034,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1034,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1043,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1044,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1049
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - MinMaxTracker::MinOverTime
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - MinMaxTracker::MaxOverTime
    - Advance
    - MinMaxTracker::Report
    - NHugePages
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(MinMaxTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:59,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResetClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::HugeCacheTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
    - backing_::resize
    linkageType: ''
    returnType: void
    signature: void HugeCacheTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:82,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetCacheTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::get<0>
    - GetParam
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetCacheTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:86,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 1
    functionsReached:
    - std::get<1>
    - GetParam
    linkageType: ''
    returnType: bool
    signature: bool GetDemandBasedRelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
    - tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    linkageType: ''
    returnType: void
    signature: void Release(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Get
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:110,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:110,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:111,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:112,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:112,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:113,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:117,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:119,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Get
    - NHugePages
    - EXPECT_FALSE
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Backing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:125,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:128,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:129,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:130,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:131,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:132,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:133,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:134,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:135,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:136,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:137,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:139,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:140,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:142,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:144,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:146,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:148,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:149,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:150,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:157,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:158,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:160,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - ReleaseCachedPages
    - EXPECT_EQ
    - size
    - Get
    - start
    - HugeRange::start
    - Return
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:168,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:171,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:172,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:173,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:174,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:175,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:176,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:177,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:178,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:179,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:180,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:182,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:183,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:185,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:187,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:189,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:191,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:192,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:193,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:197,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:201,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:205,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:205,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - ReleaseCachedPages
    - EXPECT_EQ
    - size
    - Get
    - start
    - HugeRange::start
    - Return
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:212,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:218,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:219,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:223,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:224,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:225,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:226,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:227,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:227,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:228,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:234,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:246,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:248,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:250,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:252,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:254,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:256,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:262,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Split
    - Length
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Stat
    - size
    - std::tie
    - Get
    - AddSpanStats
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' cache'
    - spans
    - pages_backed
    - pages_unbacked
    argTypes:
    - HugeCache
    - size_t*
    - Length*
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: tcmalloc::tcmalloc_internal::Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 10
    functionsReached:
    - AddSpanStats
    linkageType: ''
    returnType: void
    signature: "void Stat(const HugeCache& cache, size_t* spans,\n                     Length*
      pages_backed, Length* pages_unbacked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - denom
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: tcmalloc::tcmalloc_internal::Frac
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 2
    functionsReached:
    - HugeLength::raw_num
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Frac(HugeLength num, HugeLength denom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:275,1
    - Dst: std::bernoulli_distribution
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:290,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:295,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:295,1
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:297,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:298,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:299,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:301,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:306,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:314,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:315,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:321,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:321,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:325,1
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:330,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:331,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:332,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:333,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:334,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:342,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:345,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:346,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:348,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:354,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:355,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:357,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:363,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 366
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - in_bytes
    - NHugePages
    - EXPECT_CALL
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - HugeLength::raw_num
    - size
    - push_back
    - Return
    - sizes
    - Advance
    - EXPECT_LE
    - Get
    - Release
    - Unback
    - std::vector::push_back
    - SCOPED_TRACE
    - GetDemandBasedRelease
    - std::bernoulli_distribution
    - ReleaseCachedPagesByDemand
    - alloc
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::Frac
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Growth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:373,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:376,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:376,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:377,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:385,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:389,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:391,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:392,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:393,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:393,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:395,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - std::vector::push_back
    - GTEST_SKIP
    - Advance
    - GetDemandBasedRelease
    - size
    - GetCacheTime
    - EXPECT_GE
    - Get
    - Return
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SlowGrowthUncached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:403,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:404,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:406,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:406,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:407,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:408,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:417,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:419,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:422,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:422,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 425
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - std::vector::push_back
    - GTEST_SKIP
    - size
    - GetDemandBasedRelease
    - EXPECT_GE
    - GetCacheTime
    - Advance
    - Get
    - Return
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesUncached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:435,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:437,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:446,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:449,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 456
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - GTEST_SKIP
    - EXPECT_EQ
    - limit
    - size
    - GetDemandBasedRelease
    - Advance
    - GetCacheTime
    - Get
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesCachedNoUnback)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:465,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:466,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:475,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:478,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 486
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - sizes
    - tcmalloc::tcmalloc_internal::Frac
    - std::vector::push_back
    - Advance
    - EXPECT_GE
    - GetCacheTime
    - Get
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, DipsCached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:494,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:496,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:496,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:497,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:500,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:504,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:504,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:506,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:506,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:509,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 533
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - ASSERT_LE
    - std::vector::push_back
    - GTEST_SKIP
    - ASSERT_GE
    - size
    - GetDemandBasedRelease
    - Advance
    - GetCacheTime
    - Get
    - Return
    - limit
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Shrink)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:547,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:556,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:556,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:559,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:559,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:560,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:564,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:564,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:567,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:567,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:571,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandHardRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:582,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:583,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:585,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:585,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:586,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:589,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:589,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:590,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:590,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:591,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:591,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:594,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:594,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:595,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:595,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:596,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:597,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:597,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:600,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:601,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:602,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:602,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:612,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:613,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:614,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:617,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:620,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:621,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:622,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:625,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:625,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:630,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:631,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:632,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:635,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:637,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:637,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:640,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:641,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:642,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:642,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:646,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:647,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:650,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 651
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - usage
    - Advance
    - GetDemandBasedRelease
    - size
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandIncreaseTarget)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:655,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:658,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:658,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:659,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:660,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:661,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 664
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - GetDemandBasedRelease
    - ReleaseCachedPagesByDemand
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandReleaseZero)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:668,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:669,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:671,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:671,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:672,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:678,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:678,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:679,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:679,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:680,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:681,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:682,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 685
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - size
    - GetDemandBasedRelease
    - Advance
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandNoHistory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:689,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:692,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:692,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:693,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:697,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:697,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:698,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:698,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:699,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:700,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:701,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:701,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:703,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:703,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:704,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:704,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:709,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:709,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:710,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:711,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:712,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 720
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - GTEST_SKIP
    - EXPECT_EQ
    - Advance
    - GetDemandBasedRelease
    - size
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandCappedByDemandPeak)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:728,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:732,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:732,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:733,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:745,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:745,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:746,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:746,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:747,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:749,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:750,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:751,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:751,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:752,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:752,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:755,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:763,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:763,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:764,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:769,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:769,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:770,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:770,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:772,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:773,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:780,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:780,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:781,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:781,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:785,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:787,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:794,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:795,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:797,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:798,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:799,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:805,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:807,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:808,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:813,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:820,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:822,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:823,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:829,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:831,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:832,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:837,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:839,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:844,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:846,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:853,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:855,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:856,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:862,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:864,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:865,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:866,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:871,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:871,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:872,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:875,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:875,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:876,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:880,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 885
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - absl::Milliseconds
    - absl::Minutes
    - EXPECT_EQ
    - usage
    - Advance
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandSkipRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:892,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:892,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:893,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:895,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:895,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:896,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:902,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:902,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:903,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:903,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:904,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:904,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:905,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:906,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:906,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:910,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:910,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:911,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:912,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:914,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:915,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:915,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:916,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:916,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:917,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:922,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:923,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:928,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:928,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:929,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:929,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:933,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:934,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:934,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:935,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:935,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:937,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:937,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:938,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:939,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:941,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:942,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:942,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:943,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:943,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:944,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:944,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:945,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:946,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:951,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:952,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:952,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:956,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:956,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:957,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:961,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 965
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - absl::Minutes
    - EXPECT_EQ
    - usage
    - Advance
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandSkipReleaseReport)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:970,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:970,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:973,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:976,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 982
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseUnbacked
    - EXPECT_EQ
    - usage
    - Get
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:987,1
    - Dst: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 986
    functionDepth: 2
    functionLinenumber: 986
    functionLinenumberEnd: 988
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 994
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1003,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1007,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1011,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1011,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1015,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1019,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1019,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1024,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1025,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1025,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1033,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1034,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1034,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1043,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1044,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1049
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - MinMaxTracker::MinOverTime
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - MinMaxTracker::MaxOverTime
    - Advance
    - MinMaxTracker::Report
    - NHugePages
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(MinMaxTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:59,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResetClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::HugeCacheTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
    - backing_::resize
    linkageType: ''
    returnType: void
    signature: void HugeCacheTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:82,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetCacheTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::get<0>
    - GetParam
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetCacheTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:86,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 2
    functionsReached:
    - std::get<1>
    - GetParam
    linkageType: ''
    returnType: bool
    signature: bool GetDemandBasedRelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
    - tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    linkageType: ''
    returnType: void
    signature: void Release(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Get
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:110,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:110,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:111,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:112,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:112,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:113,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:117,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:119,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Get
    - NHugePages
    - EXPECT_FALSE
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Backing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:125,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:128,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:129,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:130,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:131,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:132,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:133,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:134,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:135,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:136,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:137,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:139,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:140,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:142,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:144,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:146,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:148,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:149,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:150,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:157,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:158,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:160,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - ReleaseCachedPages
    - EXPECT_EQ
    - size
    - Get
    - start
    - HugeRange::start
    - Return
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:168,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:171,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:172,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:173,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:174,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:175,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:176,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:177,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:178,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:179,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:180,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:182,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:183,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:185,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:187,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:189,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:191,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:192,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:193,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:197,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:201,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:205,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:205,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - ReleaseCachedPages
    - EXPECT_EQ
    - size
    - Get
    - start
    - HugeRange::start
    - Return
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:212,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:218,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:219,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:223,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:224,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:225,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:226,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:227,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:227,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:228,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:234,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:246,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:248,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:250,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:252,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:254,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:256,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:262,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Split
    - Length
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Stat
    - size
    - std::tie
    - Get
    - AddSpanStats
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' cache'
    - spans
    - pages_backed
    - pages_unbacked
    argTypes:
    - HugeCache
    - size_t*
    - Length*
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: tcmalloc::tcmalloc_internal::Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 11
    functionsReached:
    - AddSpanStats
    linkageType: ''
    returnType: void
    signature: "void Stat(const HugeCache& cache, size_t* spans,\n                     Length*
      pages_backed, Length* pages_unbacked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - denom
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: tcmalloc::tcmalloc_internal::Frac
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 4
    functionsReached:
    - HugeLength::raw_num
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Frac(HugeLength num, HugeLength denom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:275,1
    - Dst: std::bernoulli_distribution
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:290,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:295,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:295,1
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:297,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:298,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:299,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:301,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:306,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:314,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:315,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:321,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:321,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:325,1
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:330,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:331,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:332,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:333,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:334,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:342,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:345,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:346,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:348,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:354,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:355,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:357,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:363,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 366
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - in_bytes
    - NHugePages
    - EXPECT_CALL
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - HugeLength::raw_num
    - size
    - push_back
    - Return
    - sizes
    - Advance
    - EXPECT_LE
    - Get
    - Release
    - Unback
    - std::vector::push_back
    - SCOPED_TRACE
    - GetDemandBasedRelease
    - std::bernoulli_distribution
    - ReleaseCachedPagesByDemand
    - alloc
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::Frac
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Growth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:373,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:376,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:376,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:377,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:385,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:389,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:391,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:392,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:393,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:393,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:395,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - std::vector::push_back
    - GTEST_SKIP
    - Advance
    - GetDemandBasedRelease
    - size
    - GetCacheTime
    - EXPECT_GE
    - Get
    - Return
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SlowGrowthUncached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:403,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:404,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:406,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:406,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:407,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:408,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:417,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:419,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:422,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:422,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 425
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - std::vector::push_back
    - GTEST_SKIP
    - size
    - GetDemandBasedRelease
    - EXPECT_GE
    - GetCacheTime
    - Advance
    - Get
    - Return
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesUncached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:435,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:437,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:446,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:449,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 456
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - GTEST_SKIP
    - EXPECT_EQ
    - limit
    - size
    - GetDemandBasedRelease
    - Advance
    - GetCacheTime
    - Get
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesCachedNoUnback)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:465,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:466,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:475,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:478,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 486
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - sizes
    - tcmalloc::tcmalloc_internal::Frac
    - std::vector::push_back
    - Advance
    - EXPECT_GE
    - GetCacheTime
    - Get
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, DipsCached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:494,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:496,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:496,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:497,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:500,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:504,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:504,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:506,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:506,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:509,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 533
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - ASSERT_LE
    - std::vector::push_back
    - GTEST_SKIP
    - ASSERT_GE
    - size
    - GetDemandBasedRelease
    - Advance
    - GetCacheTime
    - Get
    - Return
    - limit
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Shrink)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:547,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:556,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:556,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:559,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:559,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:560,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:564,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:564,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:567,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:567,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:571,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandHardRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:582,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:583,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:585,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:585,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:586,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:589,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:589,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:590,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:590,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:591,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:591,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:594,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:594,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:595,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:595,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:596,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:597,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:597,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:600,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:601,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:602,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:602,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:612,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:613,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:614,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:617,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:620,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:621,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:622,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:625,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:625,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:630,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:631,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:632,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:635,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:637,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:637,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:640,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:641,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:642,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:642,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:646,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:647,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:650,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 651
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - usage
    - Advance
    - GetDemandBasedRelease
    - size
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandIncreaseTarget)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:655,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:658,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:658,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:659,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:660,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:661,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 664
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - GetDemandBasedRelease
    - ReleaseCachedPagesByDemand
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandReleaseZero)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:668,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:669,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:671,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:671,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:672,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:678,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:678,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:679,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:679,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:680,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:681,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:682,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 685
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - size
    - GetDemandBasedRelease
    - Advance
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandNoHistory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:689,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:692,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:692,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:693,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:697,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:697,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:698,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:698,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:699,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:700,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:701,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:701,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:703,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:703,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:704,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:704,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:709,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:709,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:710,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:711,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:712,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 720
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - GTEST_SKIP
    - EXPECT_EQ
    - Advance
    - GetDemandBasedRelease
    - size
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandCappedByDemandPeak)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:728,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:732,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:732,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:733,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:745,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:745,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:746,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:746,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:747,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:749,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:750,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:751,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:751,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:752,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:752,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:755,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:763,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:763,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:764,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:769,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:769,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:770,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:770,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:772,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:773,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:780,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:780,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:781,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:781,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:785,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:787,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:794,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:795,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:797,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:798,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:799,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:805,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:807,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:808,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:813,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:820,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:822,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:823,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:829,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:831,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:832,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:837,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:839,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:844,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:846,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:853,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:855,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:856,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:862,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:864,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:865,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:866,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:871,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:871,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:872,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:875,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:875,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:876,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:880,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 885
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - absl::Milliseconds
    - absl::Minutes
    - EXPECT_EQ
    - usage
    - Advance
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandSkipRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:892,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:892,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:893,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:895,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:895,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:896,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:902,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:902,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:903,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:903,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:904,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:904,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:905,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:906,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:906,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:910,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:910,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:911,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:912,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:914,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:915,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:915,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:916,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:916,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:917,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:922,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:923,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:928,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:928,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:929,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:929,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:933,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:934,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:934,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:935,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:935,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:937,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:937,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:938,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:939,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:941,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:942,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:942,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:943,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:943,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:944,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:944,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:945,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:946,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:951,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:952,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:952,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:956,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:956,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:957,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:961,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 965
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - absl::Minutes
    - EXPECT_EQ
    - usage
    - Advance
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandSkipReleaseReport)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:970,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:970,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:973,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:976,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 982
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseUnbacked
    - EXPECT_EQ
    - usage
    - Get
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:987,1
    - Dst: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 986
    functionDepth: 2
    functionLinenumber: 986
    functionLinenumberEnd: 988
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 994
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1003,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1007,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1011,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1011,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1015,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1019,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1019,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1024,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1025,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1025,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1033,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1034,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1034,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1043,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1044,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1049
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - MinMaxTracker::MinOverTime
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - MinMaxTracker::MaxOverTime
    - Advance
    - MinMaxTracker::Report
    - NHugePages
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(MinMaxTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:59,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResetClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::HugeCacheTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
    - backing_::resize
    linkageType: ''
    returnType: void
    signature: void HugeCacheTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:82,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetCacheTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::get<0>
    - GetParam
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetCacheTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:86,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 3
    functionsReached:
    - std::get<1>
    - GetParam
    linkageType: ''
    returnType: bool
    signature: bool GetDemandBasedRelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
    - tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    linkageType: ''
    returnType: void
    signature: void Release(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Get
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:110,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:110,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:111,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:112,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:112,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:113,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:117,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:119,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Get
    - NHugePages
    - EXPECT_FALSE
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Backing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:125,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:128,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:129,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:130,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:131,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:132,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:133,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:134,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:135,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:136,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:137,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:139,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:140,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:142,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:144,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:146,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:148,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:149,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:150,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:157,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:158,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:160,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - ReleaseCachedPages
    - EXPECT_EQ
    - size
    - Get
    - start
    - HugeRange::start
    - Return
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:168,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:171,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:172,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:173,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:174,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:175,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:176,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:177,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:178,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:179,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:180,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:182,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:183,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:185,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:187,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:189,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:191,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:192,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:193,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:197,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:201,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:205,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:205,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - ReleaseCachedPages
    - EXPECT_EQ
    - size
    - Get
    - start
    - HugeRange::start
    - Return
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:212,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:218,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:219,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:223,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:224,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:225,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:226,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:227,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:227,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:228,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:234,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:246,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:248,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:250,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:252,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:254,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:256,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:262,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Split
    - Length
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Stat
    - size
    - std::tie
    - Get
    - AddSpanStats
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' cache'
    - spans
    - pages_backed
    - pages_unbacked
    argTypes:
    - HugeCache
    - size_t*
    - Length*
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: tcmalloc::tcmalloc_internal::Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 12
    functionsReached:
    - AddSpanStats
    linkageType: ''
    returnType: void
    signature: "void Stat(const HugeCache& cache, size_t* spans,\n                     Length*
      pages_backed, Length* pages_unbacked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - denom
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: tcmalloc::tcmalloc_internal::Frac
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 6
    functionsReached:
    - HugeLength::raw_num
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Frac(HugeLength num, HugeLength denom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:275,1
    - Dst: std::bernoulli_distribution
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:290,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:295,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:295,1
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:297,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:298,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:299,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:301,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:306,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:314,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:315,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:321,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:321,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:325,1
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:330,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:331,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:332,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:333,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:334,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:342,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:345,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:346,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:348,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:354,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:355,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:357,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:363,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 366
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - in_bytes
    - NHugePages
    - EXPECT_CALL
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - HugeLength::raw_num
    - size
    - push_back
    - Return
    - sizes
    - Advance
    - EXPECT_LE
    - Get
    - Release
    - Unback
    - std::vector::push_back
    - SCOPED_TRACE
    - GetDemandBasedRelease
    - std::bernoulli_distribution
    - ReleaseCachedPagesByDemand
    - alloc
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::Frac
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Growth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:373,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:376,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:376,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:377,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:385,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:389,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:391,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:392,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:393,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:393,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:395,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - std::vector::push_back
    - GTEST_SKIP
    - Advance
    - GetDemandBasedRelease
    - size
    - GetCacheTime
    - EXPECT_GE
    - Get
    - Return
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SlowGrowthUncached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:403,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:404,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:406,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:406,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:407,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:408,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:417,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:419,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:422,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:422,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 425
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - std::vector::push_back
    - GTEST_SKIP
    - size
    - GetDemandBasedRelease
    - EXPECT_GE
    - GetCacheTime
    - Advance
    - Get
    - Return
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesUncached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:435,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:437,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:446,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:449,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 456
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - GTEST_SKIP
    - EXPECT_EQ
    - limit
    - size
    - GetDemandBasedRelease
    - Advance
    - GetCacheTime
    - Get
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesCachedNoUnback)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:465,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:466,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:475,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:478,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 486
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - sizes
    - tcmalloc::tcmalloc_internal::Frac
    - std::vector::push_back
    - Advance
    - EXPECT_GE
    - GetCacheTime
    - Get
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, DipsCached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:494,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:496,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:496,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:497,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:500,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:504,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:504,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:506,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:506,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:509,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 533
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - ASSERT_LE
    - std::vector::push_back
    - GTEST_SKIP
    - ASSERT_GE
    - size
    - GetDemandBasedRelease
    - Advance
    - GetCacheTime
    - Get
    - Return
    - limit
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Shrink)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:547,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:556,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:556,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:559,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:559,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:560,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:564,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:564,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:567,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:567,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:571,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandHardRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:582,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:583,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:585,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:585,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:586,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:589,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:589,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:590,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:590,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:591,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:591,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:594,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:594,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:595,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:595,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:596,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:597,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:597,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:600,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:601,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:602,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:602,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:612,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:613,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:614,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:617,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:620,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:621,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:622,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:625,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:625,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:630,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:631,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:632,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:635,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:637,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:637,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:640,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:641,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:642,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:642,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:646,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:647,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:650,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 651
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - usage
    - Advance
    - GetDemandBasedRelease
    - size
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandIncreaseTarget)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:655,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:658,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:658,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:659,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:660,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:661,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 664
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - GetDemandBasedRelease
    - ReleaseCachedPagesByDemand
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandReleaseZero)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:668,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:669,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:671,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:671,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:672,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:678,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:678,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:679,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:679,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:680,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:681,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:682,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 685
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - size
    - GetDemandBasedRelease
    - Advance
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandNoHistory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:689,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:692,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:692,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:693,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:697,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:697,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:698,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:698,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:699,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:700,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:701,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:701,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:703,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:703,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:704,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:704,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:709,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:709,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:710,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:711,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:712,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 720
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - GTEST_SKIP
    - EXPECT_EQ
    - Advance
    - GetDemandBasedRelease
    - size
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandCappedByDemandPeak)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:728,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:732,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:732,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:733,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:745,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:745,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:746,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:746,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:747,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:749,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:750,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:751,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:751,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:752,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:752,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:755,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:763,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:763,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:764,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:769,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:769,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:770,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:770,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:772,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:773,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:780,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:780,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:781,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:781,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:785,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:787,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:794,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:795,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:797,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:798,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:799,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:805,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:807,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:808,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:813,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:820,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:822,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:823,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:829,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:831,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:832,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:837,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:839,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:844,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:846,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:853,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:855,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:856,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:862,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:864,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:865,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:866,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:871,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:871,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:872,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:875,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:875,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:876,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:880,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 885
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - absl::Milliseconds
    - absl::Minutes
    - EXPECT_EQ
    - usage
    - Advance
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandSkipRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:892,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:892,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:893,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:895,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:895,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:896,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:902,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:902,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:903,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:903,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:904,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:904,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:905,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:906,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:906,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:910,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:910,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:911,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:912,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:914,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:915,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:915,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:916,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:916,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:917,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:922,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:923,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:928,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:928,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:929,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:929,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:933,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:934,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:934,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:935,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:935,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:937,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:937,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:938,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:939,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:941,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:942,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:942,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:943,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:943,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:944,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:944,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:945,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:946,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:951,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:952,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:952,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:956,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:956,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:957,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:961,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 965
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - absl::Minutes
    - EXPECT_EQ
    - usage
    - Advance
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandSkipReleaseReport)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:970,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:970,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:973,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:976,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 982
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseUnbacked
    - EXPECT_EQ
    - usage
    - Get
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:987,1
    - Dst: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 986
    functionDepth: 2
    functionLinenumber: 986
    functionLinenumberEnd: 988
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 994
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1003,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1007,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1011,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1011,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1015,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1019,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1019,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1024,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1025,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1025,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1033,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1034,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1034,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1043,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1044,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1049
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - MinMaxTracker::MinOverTime
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - MinMaxTracker::MaxOverTime
    - Advance
    - MinMaxTracker::Report
    - NHugePages
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(MinMaxTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:59,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResetClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::HugeCacheTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
    - backing_::resize
    linkageType: ''
    returnType: void
    signature: void HugeCacheTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:82,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetCacheTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::get<0>
    - GetParam
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetCacheTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:86,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 4
    functionsReached:
    - std::get<1>
    - GetParam
    linkageType: ''
    returnType: bool
    signature: bool GetDemandBasedRelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
    - tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    linkageType: ''
    returnType: void
    signature: void Release(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Get
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:110,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:110,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:111,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:112,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:112,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:113,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:117,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:119,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Get
    - NHugePages
    - EXPECT_FALSE
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Backing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:125,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:128,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:129,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:130,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:131,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:132,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:133,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:134,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:135,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:136,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:137,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:139,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:140,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:142,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:144,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:146,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:148,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:149,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:150,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:157,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:158,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:160,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - ReleaseCachedPages
    - EXPECT_EQ
    - size
    - Get
    - start
    - HugeRange::start
    - Return
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:168,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:171,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:172,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:173,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:174,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:175,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:176,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:177,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:178,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:179,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:180,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:182,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:183,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:185,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:187,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:189,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:191,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:192,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:193,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:197,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:201,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:205,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:205,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - ReleaseCachedPages
    - EXPECT_EQ
    - size
    - Get
    - start
    - HugeRange::start
    - Return
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:212,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:218,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:219,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:223,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:224,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:225,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:226,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:227,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:227,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:228,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:234,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:246,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:248,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:250,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:252,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:254,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:256,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:262,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Split
    - Length
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Stat
    - size
    - std::tie
    - Get
    - AddSpanStats
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' cache'
    - spans
    - pages_backed
    - pages_unbacked
    argTypes:
    - HugeCache
    - size_t*
    - Length*
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: tcmalloc::tcmalloc_internal::Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 13
    functionsReached:
    - AddSpanStats
    linkageType: ''
    returnType: void
    signature: "void Stat(const HugeCache& cache, size_t* spans,\n                     Length*
      pages_backed, Length* pages_unbacked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - denom
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: tcmalloc::tcmalloc_internal::Frac
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 8
    functionsReached:
    - HugeLength::raw_num
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Frac(HugeLength num, HugeLength denom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:275,1
    - Dst: std::bernoulli_distribution
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:290,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:295,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:295,1
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:297,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:298,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:299,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:301,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:306,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:314,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:315,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:321,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:321,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:325,1
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:330,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:331,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:332,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:333,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:334,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:342,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:345,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:346,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:348,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:354,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:355,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:357,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:363,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 366
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - in_bytes
    - NHugePages
    - EXPECT_CALL
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - HugeLength::raw_num
    - size
    - push_back
    - Return
    - sizes
    - Advance
    - EXPECT_LE
    - Get
    - Release
    - Unback
    - std::vector::push_back
    - SCOPED_TRACE
    - GetDemandBasedRelease
    - std::bernoulli_distribution
    - ReleaseCachedPagesByDemand
    - alloc
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::Frac
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Growth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:373,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:376,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:376,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:377,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:385,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:389,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:391,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:392,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:393,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:393,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:395,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - std::vector::push_back
    - GTEST_SKIP
    - Advance
    - GetDemandBasedRelease
    - size
    - GetCacheTime
    - EXPECT_GE
    - Get
    - Return
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SlowGrowthUncached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:403,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:404,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:406,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:406,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:407,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:408,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:417,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:419,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:422,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:422,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 425
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - std::vector::push_back
    - GTEST_SKIP
    - size
    - GetDemandBasedRelease
    - EXPECT_GE
    - GetCacheTime
    - Advance
    - Get
    - Return
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesUncached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:435,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:437,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:446,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:449,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 456
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - GTEST_SKIP
    - EXPECT_EQ
    - limit
    - size
    - GetDemandBasedRelease
    - Advance
    - GetCacheTime
    - Get
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesCachedNoUnback)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:465,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:466,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:475,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:478,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 486
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - sizes
    - tcmalloc::tcmalloc_internal::Frac
    - std::vector::push_back
    - Advance
    - EXPECT_GE
    - GetCacheTime
    - Get
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, DipsCached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:494,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:496,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:496,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:497,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:500,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:504,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:504,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:506,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:506,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:509,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 533
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - ASSERT_LE
    - std::vector::push_back
    - GTEST_SKIP
    - ASSERT_GE
    - size
    - GetDemandBasedRelease
    - Advance
    - GetCacheTime
    - Get
    - Return
    - limit
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Shrink)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:547,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:556,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:556,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:559,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:559,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:560,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:564,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:564,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:567,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:567,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:571,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandHardRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:582,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:583,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:585,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:585,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:586,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:589,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:589,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:590,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:590,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:591,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:591,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:594,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:594,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:595,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:595,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:596,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:597,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:597,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:600,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:601,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:602,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:602,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:612,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:613,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:614,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:617,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:620,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:621,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:622,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:625,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:625,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:630,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:631,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:632,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:635,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:637,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:637,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:640,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:641,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:642,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:642,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:646,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:647,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:650,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 651
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - usage
    - Advance
    - GetDemandBasedRelease
    - size
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandIncreaseTarget)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:655,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:658,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:658,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:659,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:660,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:661,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 664
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - GetDemandBasedRelease
    - ReleaseCachedPagesByDemand
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandReleaseZero)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:668,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:669,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:671,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:671,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:672,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:678,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:678,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:679,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:679,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:680,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:681,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:682,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 685
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - size
    - GetDemandBasedRelease
    - Advance
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandNoHistory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:689,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:692,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:692,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:693,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:697,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:697,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:698,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:698,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:699,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:700,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:701,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:701,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:703,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:703,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:704,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:704,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:709,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:709,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:710,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:711,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:712,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 720
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - GTEST_SKIP
    - EXPECT_EQ
    - Advance
    - GetDemandBasedRelease
    - size
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandCappedByDemandPeak)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:728,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:732,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:732,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:733,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:745,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:745,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:746,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:746,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:747,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:749,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:750,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:751,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:751,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:752,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:752,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:755,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:763,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:763,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:764,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:769,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:769,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:770,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:770,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:772,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:773,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:780,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:780,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:781,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:781,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:785,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:787,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:794,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:795,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:797,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:798,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:799,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:805,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:807,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:808,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:813,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:820,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:822,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:823,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:829,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:831,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:832,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:837,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:839,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:844,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:846,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:853,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:855,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:856,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:862,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:864,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:865,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:866,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:871,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:871,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:872,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:875,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:875,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:876,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:880,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 885
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - absl::Milliseconds
    - absl::Minutes
    - EXPECT_EQ
    - usage
    - Advance
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandSkipRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:892,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:892,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:893,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:895,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:895,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:896,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:902,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:902,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:903,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:903,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:904,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:904,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:905,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:906,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:906,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:910,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:910,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:911,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:912,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:914,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:915,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:915,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:916,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:916,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:917,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:922,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:923,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:928,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:928,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:929,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:929,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:933,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:934,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:934,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:935,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:935,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:937,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:937,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:938,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:939,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:941,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:942,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:942,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:943,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:943,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:944,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:944,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:945,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:946,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:951,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:952,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:952,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:956,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:956,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:957,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:961,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 965
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - absl::Minutes
    - EXPECT_EQ
    - usage
    - Advance
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandSkipReleaseReport)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:970,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:970,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:973,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:976,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 982
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseUnbacked
    - EXPECT_EQ
    - usage
    - Get
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:987,1
    - Dst: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 986
    functionDepth: 2
    functionLinenumber: 986
    functionLinenumberEnd: 988
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 994
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1003,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1007,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1011,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1011,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1015,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1019,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1019,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1024,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1025,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1025,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1033,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1034,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1034,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1043,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1044,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1049
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - MinMaxTracker::MinOverTime
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - MinMaxTracker::MaxOverTime
    - Advance
    - MinMaxTracker::Report
    - NHugePages
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(MinMaxTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:59,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResetClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::HugeCacheTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
    - backing_::resize
    linkageType: ''
    returnType: void
    signature: void HugeCacheTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:82,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetCacheTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::get<0>
    - GetParam
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetCacheTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:86,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 5
    functionsReached:
    - std::get<1>
    - GetParam
    linkageType: ''
    returnType: bool
    signature: bool GetDemandBasedRelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
    - tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    linkageType: ''
    returnType: void
    signature: void Release(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Get
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:110,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:110,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:111,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:112,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:112,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:113,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:117,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:119,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Get
    - NHugePages
    - EXPECT_FALSE
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Backing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:125,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:128,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:129,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:130,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:131,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:132,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:133,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:134,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:135,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:136,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:137,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:139,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:140,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:142,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:144,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:146,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:148,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:149,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:150,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:157,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:158,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:160,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - ReleaseCachedPages
    - EXPECT_EQ
    - size
    - Get
    - start
    - HugeRange::start
    - Return
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:168,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:171,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:172,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:173,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:174,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:175,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:176,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:177,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:178,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:179,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:180,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:182,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:183,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:185,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:187,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:189,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:191,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:192,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:193,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:197,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:201,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:205,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:205,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - ReleaseCachedPages
    - EXPECT_EQ
    - size
    - Get
    - start
    - HugeRange::start
    - Return
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:212,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:218,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:219,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:223,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:224,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:225,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:226,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:227,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:227,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:228,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:234,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:246,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:248,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:250,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:252,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:254,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:256,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:262,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Split
    - Length
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Stat
    - size
    - std::tie
    - Get
    - AddSpanStats
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' cache'
    - spans
    - pages_backed
    - pages_unbacked
    argTypes:
    - HugeCache
    - size_t*
    - Length*
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: tcmalloc::tcmalloc_internal::Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 14
    functionsReached:
    - AddSpanStats
    linkageType: ''
    returnType: void
    signature: "void Stat(const HugeCache& cache, size_t* spans,\n                     Length*
      pages_backed, Length* pages_unbacked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - denom
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: tcmalloc::tcmalloc_internal::Frac
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 10
    functionsReached:
    - HugeLength::raw_num
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Frac(HugeLength num, HugeLength denom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:275,1
    - Dst: std::bernoulli_distribution
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:290,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:295,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:295,1
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:297,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:298,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:299,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:301,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:306,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:314,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:315,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:321,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:321,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:325,1
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:330,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:331,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:332,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:333,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:334,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:342,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:345,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:346,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:348,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:354,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:355,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:357,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:363,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 366
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - in_bytes
    - NHugePages
    - EXPECT_CALL
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - HugeLength::raw_num
    - size
    - push_back
    - Return
    - sizes
    - Advance
    - EXPECT_LE
    - Get
    - Release
    - Unback
    - std::vector::push_back
    - SCOPED_TRACE
    - GetDemandBasedRelease
    - std::bernoulli_distribution
    - ReleaseCachedPagesByDemand
    - alloc
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::Frac
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Growth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:373,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:376,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:376,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:377,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:385,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:389,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:391,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:392,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:393,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:393,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:395,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - std::vector::push_back
    - GTEST_SKIP
    - Advance
    - GetDemandBasedRelease
    - size
    - GetCacheTime
    - EXPECT_GE
    - Get
    - Return
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SlowGrowthUncached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:403,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:404,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:406,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:406,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:407,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:408,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:417,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:419,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:422,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:422,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 425
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - std::vector::push_back
    - GTEST_SKIP
    - size
    - GetDemandBasedRelease
    - EXPECT_GE
    - GetCacheTime
    - Advance
    - Get
    - Return
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesUncached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:435,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:437,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:446,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:449,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 456
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - GTEST_SKIP
    - EXPECT_EQ
    - limit
    - size
    - GetDemandBasedRelease
    - Advance
    - GetCacheTime
    - Get
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesCachedNoUnback)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:465,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:466,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:475,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:478,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 486
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - sizes
    - tcmalloc::tcmalloc_internal::Frac
    - std::vector::push_back
    - Advance
    - EXPECT_GE
    - GetCacheTime
    - Get
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, DipsCached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:494,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:496,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:496,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:497,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:500,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:504,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:504,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:506,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:506,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:509,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 533
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - ASSERT_LE
    - std::vector::push_back
    - GTEST_SKIP
    - ASSERT_GE
    - size
    - GetDemandBasedRelease
    - Advance
    - GetCacheTime
    - Get
    - Return
    - limit
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Shrink)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:547,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:556,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:556,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:559,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:559,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:560,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:564,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:564,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:567,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:567,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:571,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandHardRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:582,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:583,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:585,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:585,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:586,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:589,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:589,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:590,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:590,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:591,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:591,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:594,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:594,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:595,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:595,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:596,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:597,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:597,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:600,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:601,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:602,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:602,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:612,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:613,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:614,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:617,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:620,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:621,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:622,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:625,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:625,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:630,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:631,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:632,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:635,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:637,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:637,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:640,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:641,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:642,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:642,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:646,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:647,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:650,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 651
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - usage
    - Advance
    - GetDemandBasedRelease
    - size
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandIncreaseTarget)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:655,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:658,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:658,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:659,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:660,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:661,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 664
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - GetDemandBasedRelease
    - ReleaseCachedPagesByDemand
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandReleaseZero)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:668,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:669,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:671,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:671,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:672,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:678,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:678,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:679,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:679,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:680,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:681,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:682,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 685
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - size
    - GetDemandBasedRelease
    - Advance
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandNoHistory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:689,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:692,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:692,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:693,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:697,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:697,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:698,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:698,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:699,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:700,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:701,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:701,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:703,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:703,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:704,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:704,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:709,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:709,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:710,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:711,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:712,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 720
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - GTEST_SKIP
    - EXPECT_EQ
    - Advance
    - GetDemandBasedRelease
    - size
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandCappedByDemandPeak)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:728,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:732,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:732,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:733,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:745,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:745,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:746,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:746,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:747,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:749,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:750,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:751,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:751,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:752,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:752,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:755,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:763,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:763,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:764,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:769,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:769,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:770,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:770,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:772,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:773,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:780,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:780,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:781,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:781,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:785,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:787,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:794,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:795,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:797,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:798,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:799,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:805,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:807,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:808,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:813,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:820,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:822,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:823,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:829,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:831,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:832,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:837,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:839,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:844,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:846,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:853,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:855,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:856,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:862,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:864,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:865,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:866,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:871,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:871,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:872,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:875,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:875,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:876,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:880,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 885
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - absl::Milliseconds
    - absl::Minutes
    - EXPECT_EQ
    - usage
    - Advance
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandSkipRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:892,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:892,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:893,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:895,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:895,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:896,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:902,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:902,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:903,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:903,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:904,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:904,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:905,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:906,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:906,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:910,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:910,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:911,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:912,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:914,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:915,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:915,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:916,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:916,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:917,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:922,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:923,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:928,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:928,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:929,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:929,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:933,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:934,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:934,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:935,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:935,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:937,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:937,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:938,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:939,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:941,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:942,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:942,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:943,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:943,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:944,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:944,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:945,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:946,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:951,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:952,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:952,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:956,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:956,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:957,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:961,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 965
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - absl::Minutes
    - EXPECT_EQ
    - usage
    - Advance
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandSkipReleaseReport)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:970,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:970,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:973,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:976,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 982
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseUnbacked
    - EXPECT_EQ
    - usage
    - Get
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:987,1
    - Dst: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 986
    functionDepth: 2
    functionLinenumber: 986
    functionLinenumberEnd: 988
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 994
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1003,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1007,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1011,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1011,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1015,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1019,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1019,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1024,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1025,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1025,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1033,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1034,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1034,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1043,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1044,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1049
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - MinMaxTracker::MinOverTime
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - MinMaxTracker::MaxOverTime
    - Advance
    - MinMaxTracker::Report
    - NHugePages
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(MinMaxTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:59,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResetClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::HugeCacheTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
    - backing_::resize
    linkageType: ''
    returnType: void
    signature: void HugeCacheTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:82,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetCacheTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::get<0>
    - GetParam
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetCacheTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:86,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 6
    functionsReached:
    - std::get<1>
    - GetParam
    linkageType: ''
    returnType: bool
    signature: bool GetDemandBasedRelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
    - tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    linkageType: ''
    returnType: void
    signature: void Release(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Get
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:110,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:110,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:111,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:112,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:112,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:113,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:117,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:119,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Get
    - NHugePages
    - EXPECT_FALSE
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Backing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:125,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:128,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:129,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:130,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:131,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:132,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:133,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:134,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:135,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:136,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:137,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:139,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:140,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:142,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:144,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:146,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:148,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:149,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:150,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:157,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:158,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:160,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - ReleaseCachedPages
    - EXPECT_EQ
    - size
    - Get
    - start
    - HugeRange::start
    - Return
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:168,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:171,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:172,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:173,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:174,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:175,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:176,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:177,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:178,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:179,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:180,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:182,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:183,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:185,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:187,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:189,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:191,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:192,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:193,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:197,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:201,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:205,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:205,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - ReleaseCachedPages
    - EXPECT_EQ
    - size
    - Get
    - start
    - HugeRange::start
    - Return
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:212,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:218,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:219,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:223,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:224,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:225,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:226,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:227,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:227,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:228,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:234,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:246,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:248,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:250,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:252,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:254,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:256,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:262,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Split
    - Length
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Stat
    - size
    - std::tie
    - Get
    - AddSpanStats
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' cache'
    - spans
    - pages_backed
    - pages_unbacked
    argTypes:
    - HugeCache
    - size_t*
    - Length*
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: tcmalloc::tcmalloc_internal::Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 15
    functionsReached:
    - AddSpanStats
    linkageType: ''
    returnType: void
    signature: "void Stat(const HugeCache& cache, size_t* spans,\n                     Length*
      pages_backed, Length* pages_unbacked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - denom
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: tcmalloc::tcmalloc_internal::Frac
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 12
    functionsReached:
    - HugeLength::raw_num
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Frac(HugeLength num, HugeLength denom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:275,1
    - Dst: std::bernoulli_distribution
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:290,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:295,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:295,1
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:297,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:298,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:299,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:301,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:306,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:314,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:315,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:321,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:321,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:325,1
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:330,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:331,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:332,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:333,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:334,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:342,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:345,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:346,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:348,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:354,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:355,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:357,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:363,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 366
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - in_bytes
    - NHugePages
    - EXPECT_CALL
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - HugeLength::raw_num
    - size
    - push_back
    - Return
    - sizes
    - Advance
    - EXPECT_LE
    - Get
    - Release
    - Unback
    - std::vector::push_back
    - SCOPED_TRACE
    - GetDemandBasedRelease
    - std::bernoulli_distribution
    - ReleaseCachedPagesByDemand
    - alloc
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::Frac
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Growth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:373,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:376,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:376,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:377,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:385,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:389,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:391,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:392,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:393,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:393,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:395,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - std::vector::push_back
    - GTEST_SKIP
    - Advance
    - GetDemandBasedRelease
    - size
    - GetCacheTime
    - EXPECT_GE
    - Get
    - Return
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SlowGrowthUncached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:403,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:404,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:406,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:406,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:407,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:408,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:417,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:419,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:422,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:422,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 425
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - std::vector::push_back
    - GTEST_SKIP
    - size
    - GetDemandBasedRelease
    - EXPECT_GE
    - GetCacheTime
    - Advance
    - Get
    - Return
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesUncached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:435,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:437,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:446,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:449,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 456
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - GTEST_SKIP
    - EXPECT_EQ
    - limit
    - size
    - GetDemandBasedRelease
    - Advance
    - GetCacheTime
    - Get
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesCachedNoUnback)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:465,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:466,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:475,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:478,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 486
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - sizes
    - tcmalloc::tcmalloc_internal::Frac
    - std::vector::push_back
    - Advance
    - EXPECT_GE
    - GetCacheTime
    - Get
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, DipsCached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:494,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:496,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:496,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:497,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:500,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:504,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:504,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:506,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:506,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:509,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 533
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - ASSERT_LE
    - std::vector::push_back
    - GTEST_SKIP
    - ASSERT_GE
    - size
    - GetDemandBasedRelease
    - Advance
    - GetCacheTime
    - Get
    - Return
    - limit
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Shrink)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:547,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:556,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:556,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:559,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:559,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:560,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:564,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:564,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:567,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:567,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:571,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandHardRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:582,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:583,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:585,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:585,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:586,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:589,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:589,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:590,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:590,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:591,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:591,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:594,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:594,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:595,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:595,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:596,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:597,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:597,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:600,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:601,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:602,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:602,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:612,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:613,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:614,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:617,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:620,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:621,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:622,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:625,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:625,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:630,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:631,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:632,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:635,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:637,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:637,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:640,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:641,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:642,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:642,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:646,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:647,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:650,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 651
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - usage
    - Advance
    - GetDemandBasedRelease
    - size
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandIncreaseTarget)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:655,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:658,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:658,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:659,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:660,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:661,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 664
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - GetDemandBasedRelease
    - ReleaseCachedPagesByDemand
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandReleaseZero)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:668,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:669,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:671,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:671,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:672,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:678,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:678,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:679,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:679,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:680,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:681,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:682,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 685
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - size
    - GetDemandBasedRelease
    - Advance
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandNoHistory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:689,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:692,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:692,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:693,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:697,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:697,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:698,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:698,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:699,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:700,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:701,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:701,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:703,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:703,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:704,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:704,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:709,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:709,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:710,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:711,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:712,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 720
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - GTEST_SKIP
    - EXPECT_EQ
    - Advance
    - GetDemandBasedRelease
    - size
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandCappedByDemandPeak)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:728,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:732,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:732,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:733,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:745,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:745,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:746,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:746,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:747,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:749,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:750,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:751,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:751,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:752,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:752,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:755,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:763,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:763,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:764,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:769,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:769,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:770,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:770,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:772,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:773,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:780,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:780,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:781,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:781,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:785,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:787,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:794,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:795,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:797,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:798,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:799,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:805,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:807,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:808,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:813,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:820,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:822,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:823,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:829,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:831,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:832,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:837,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:839,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:844,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:846,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:853,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:855,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:856,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:862,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:864,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:865,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:866,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:871,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:871,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:872,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:875,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:875,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:876,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:880,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 885
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - absl::Milliseconds
    - absl::Minutes
    - EXPECT_EQ
    - usage
    - Advance
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandSkipRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:892,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:892,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:893,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:895,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:895,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:896,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:902,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:902,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:903,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:903,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:904,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:904,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:905,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:906,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:906,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:910,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:910,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:911,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:912,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:914,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:915,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:915,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:916,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:916,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:917,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:922,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:923,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:928,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:928,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:929,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:929,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:933,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:934,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:934,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:935,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:935,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:937,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:937,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:938,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:939,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:941,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:942,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:942,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:943,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:943,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:944,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:944,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:945,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:946,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:951,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:952,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:952,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:956,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:956,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:957,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:961,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 965
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - absl::Minutes
    - EXPECT_EQ
    - usage
    - Advance
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandSkipReleaseReport)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:970,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:970,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:973,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:976,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 982
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseUnbacked
    - EXPECT_EQ
    - usage
    - Get
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:987,1
    - Dst: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 986
    functionDepth: 2
    functionLinenumber: 986
    functionLinenumberEnd: 988
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 994
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1003,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1007,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1011,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1011,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1015,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1019,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1019,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1024,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1025,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1025,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1033,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1034,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1034,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1043,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1044,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1049
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - MinMaxTracker::MinOverTime
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - MinMaxTracker::MaxOverTime
    - Advance
    - MinMaxTracker::Report
    - NHugePages
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(MinMaxTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:59,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResetClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: bool
    signature: bool operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::HugeCacheTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
    - backing_::resize
    linkageType: ''
    returnType: void
    signature: void HugeCacheTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:82,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetCacheTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::get<0>
    - GetParam
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetCacheTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:86,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 7
    functionsReached:
    - std::get<1>
    - GetParam
    linkageType: ''
    returnType: bool
    signature: bool GetDemandBasedRelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
    - tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    linkageType: ''
    returnType: void
    signature: void Release(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - Get
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:110,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:110,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:111,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:112,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:112,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:113,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:117,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:119,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Get
    - NHugePages
    - EXPECT_FALSE
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Backing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:125,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:128,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:129,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:130,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:131,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:132,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:133,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:134,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:135,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:136,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:137,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:139,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:140,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:142,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:144,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:146,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:148,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:149,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:150,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:157,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:158,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:160,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - ReleaseCachedPages
    - EXPECT_EQ
    - size
    - Get
    - start
    - HugeRange::start
    - Return
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:168,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:171,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:172,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:173,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:174,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:175,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:176,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:177,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:178,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:179,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:180,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:182,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:183,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:185,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:187,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:189,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:191,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:192,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:193,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:197,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:201,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:205,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:205,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - ReleaseCachedPages
    - EXPECT_EQ
    - size
    - Get
    - start
    - HugeRange::start
    - Return
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:212,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:214,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:215,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:216,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:217,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:218,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:219,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:222,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:223,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:224,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:225,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:226,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:227,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:227,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:228,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:234,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:246,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:248,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:250,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:252,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:254,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:256,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:256,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::Stat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:262,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Split
    - Length
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Stat
    - size
    - std::tie
    - Get
    - AddSpanStats
    - NHugePages
    - ASSERT_EQ
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' cache'
    - spans
    - pages_backed
    - pages_unbacked
    argTypes:
    - HugeCache
    - size_t*
    - Length*
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: tcmalloc::tcmalloc_internal::Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 16
    functionsReached:
    - AddSpanStats
    linkageType: ''
    returnType: void
    signature: "void Stat(const HugeCache& cache, size_t* spans,\n                     Length*
      pages_backed, Length* pages_unbacked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - denom
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: tcmalloc::tcmalloc_internal::Frac
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 14
    functionsReached:
    - HugeLength::raw_num
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Frac(HugeLength num, HugeLength denom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:275,1
    - Dst: std::bernoulli_distribution
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:286,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:290,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:295,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:295,1
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:297,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:298,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:299,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:301,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:305,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:306,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:309,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:314,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:315,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:319,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:321,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:321,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:325,1
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:330,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:331,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:332,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:333,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:334,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:342,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:345,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:346,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:348,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:354,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:355,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:356,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:357,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:363,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 366
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - in_bytes
    - NHugePages
    - EXPECT_CALL
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - HugeLength::raw_num
    - size
    - push_back
    - Return
    - sizes
    - Advance
    - EXPECT_LE
    - Get
    - Release
    - Unback
    - std::vector::push_back
    - SCOPED_TRACE
    - GetDemandBasedRelease
    - std::bernoulli_distribution
    - ReleaseCachedPagesByDemand
    - alloc
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::Frac
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Growth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:373,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:376,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:376,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:377,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:385,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:387,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:389,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:391,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:392,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:393,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:393,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:395,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - std::vector::push_back
    - GTEST_SKIP
    - Advance
    - GetDemandBasedRelease
    - size
    - GetCacheTime
    - EXPECT_GE
    - Get
    - Return
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SlowGrowthUncached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:403,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:404,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:406,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:406,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:407,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:408,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:415,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:417,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:419,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:422,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:422,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 425
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - std::vector::push_back
    - GTEST_SKIP
    - size
    - GetDemandBasedRelease
    - EXPECT_GE
    - GetCacheTime
    - Advance
    - Get
    - Return
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesUncached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:435,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:437,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:446,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:449,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:453,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 456
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - GTEST_SKIP
    - EXPECT_EQ
    - limit
    - size
    - GetDemandBasedRelease
    - Advance
    - GetCacheTime
    - Get
    - std::max
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesCachedNoUnback)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:465,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:466,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:475,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:478,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 486
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - sizes
    - tcmalloc::tcmalloc_internal::Frac
    - std::vector::push_back
    - Advance
    - EXPECT_GE
    - GetCacheTime
    - Get
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, DipsCached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:494,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:496,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:496,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:497,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:500,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:504,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:504,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:506,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:506,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:509,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:524,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 533
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - sizes
    - ASSERT_LE
    - std::vector::push_back
    - GTEST_SKIP
    - ASSERT_GE
    - size
    - GetDemandBasedRelease
    - Advance
    - GetCacheTime
    - Get
    - Return
    - limit
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Shrink)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:547,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:548,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:556,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:556,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:559,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:559,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:560,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:564,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:564,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:567,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:567,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:571,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandHardRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:582,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:583,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:585,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:585,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:586,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:589,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:589,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:590,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:590,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:591,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:591,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:594,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:594,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:595,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:595,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:596,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:597,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:597,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:600,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:601,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:602,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:602,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:607,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:612,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:613,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:614,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:617,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:619,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:620,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:621,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:622,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:625,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:625,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:630,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:631,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:632,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:633,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:635,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:637,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:637,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:638,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:640,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:641,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:642,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:642,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:646,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:647,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:650,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 651
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - usage
    - Advance
    - GetDemandBasedRelease
    - size
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandIncreaseTarget)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:655,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:658,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:658,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:659,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:660,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:661,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 664
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - GetDemandBasedRelease
    - ReleaseCachedPagesByDemand
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandReleaseZero)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:668,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:669,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:671,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:671,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:672,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:676,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:678,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:678,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:679,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:679,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:680,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:681,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:682,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 685
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GTEST_SKIP
    - EXPECT_EQ
    - size
    - GetDemandBasedRelease
    - Advance
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandNoHistory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:689,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:692,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:692,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:693,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:697,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:697,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:698,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:698,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:699,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:700,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:701,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:701,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:703,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:703,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:704,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:704,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:709,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:709,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:710,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:711,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:712,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:716,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 720
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - Unback
    - absl::Minutes
    - GTEST_SKIP
    - EXPECT_EQ
    - Advance
    - GetDemandBasedRelease
    - size
    - Get
    - ReleaseCachedPagesByDemand
    - Return
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandCappedByDemandPeak)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:728,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:732,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:732,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:733,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:745,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:745,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:746,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:746,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:747,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:749,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:750,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:751,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:751,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:752,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:752,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:754,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:755,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:761,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:763,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:763,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:764,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:769,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:769,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:770,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:770,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:771,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:772,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:773,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:777,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:780,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:780,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:781,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:781,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:785,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:786,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:787,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:794,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:795,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:796,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:797,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:798,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:799,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:805,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:806,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:807,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:808,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:813,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:814,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:820,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:821,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:822,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:823,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:829,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:830,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:831,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:832,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:837,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:838,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:839,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:844,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:845,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:846,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:853,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:854,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:855,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:856,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:862,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:863,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:864,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:865,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:866,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:871,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:871,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:872,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:875,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:875,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:876,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:878,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:880,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 885
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - absl::Milliseconds
    - absl::Minutes
    - EXPECT_EQ
    - usage
    - Advance
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandSkipRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDemandBasedRelease
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:892,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:892,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:893,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:895,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:895,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:896,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:902,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:902,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:903,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:903,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:904,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:904,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:905,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:906,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:906,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:909,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:910,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:910,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:911,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:912,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:914,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:915,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:915,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:916,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:916,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:917,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:919,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:922,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:923,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:923,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:928,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:928,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:929,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:929,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:931,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:933,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:934,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:934,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:935,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:935,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:937,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:937,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:938,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:939,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:941,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:942,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:942,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:943,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:943,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:944,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:944,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:945,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:946,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: ReleaseCachedPagesByDemand
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:948,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:951,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:952,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:952,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:956,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:956,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:957,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:959,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:961,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 965
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    - EXPECT_CALL
    - size
    - testing::HasSubstr
    - Return
    - absl::Minutes
    - EXPECT_EQ
    - usage
    - Advance
    - std::string::c_str
    - Get
    - std::string::resize
    - std::string::size
    - Release
    - std::string::begin
    - Unback
    - strlen
    - GTEST_SKIP
    - EXPECT_THAT
    - GetDemandBasedRelease
    - Print
    - ReleaseCachedPagesByDemand
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, ReleaseByDemandSkipReleaseReport)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:970,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:970,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:971,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:973,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:974,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:976,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:977,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 982
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseUnbacked
    - EXPECT_EQ
    - usage
    - Get
    - NHugePages
    - Release
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:987,1
    - Dst: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 986
    functionDepth: 2
    functionLinenumber: 986
    functionLinenumberEnd: 988
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 994
    functionName: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1003,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1007,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1009,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1011,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1011,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1013,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1015,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1016,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1017,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1019,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1019,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1021,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1024,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1025,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1025,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1028,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1029,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1031,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1033,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1034,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1034,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1035,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1039,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1040,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1043,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1044,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1047,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1049
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - MinMaxTracker::MinOverTime
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - MinMaxTracker::MaxOverTime
    - Advance
    - MinMaxTracker::Report
    - NHugePages
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(MinMaxTrackerTest, Works)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:40,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:45,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:46,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:50,1
    - Dst: PageId
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:51,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:55,1
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:61,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:61,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:65,1
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:69,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:69,1
    - Dst: ceil
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:77,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:77,1
    - Dst: HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:90,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:90,1
    - Dst: HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:93,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:93,1
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:98,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:98,1
    - Dst: HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:131,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:135,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:141,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:141,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:151,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:157,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:228,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:233,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:243,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:248,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:259,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:264,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:268,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:275,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:285,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:285,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:289,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:295,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:295,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:299,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:304,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:309,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:309,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:323,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:324,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:326,1
    - Dst: end_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:326,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:326,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:326,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:330,1
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:340,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:340,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:340,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:340,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:343,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:343,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:350,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:350,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:350,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:350,1
    - Dst: end_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:355,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:355,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:358,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:358,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:368,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:368,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:368,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:368,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:374,1
    - Dst: precedes
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:374,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:375,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:375,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:375,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:382,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:382,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:383,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:384,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:384,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:385,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:385,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:385,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 159
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 392
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - contains
    - Length
    - end_addr
    - index
    - reinterpret_cast<void*>
    - in_bytes
    - NHugePages
    - PageIdContaining
    - tcmalloc_internal::Make
    - raw_num
    - HLFromBytes
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    - start
    - precedes
    - static_cast<char*>
    - tcmalloc_internal::max
    - absl::Format
    - std::move
    - TC_ASSERT_GE
    - PageId
    - start_addr
    - HugeLength
    - ceil
    - HugePageContaining
    - H::combine
    - static_cast<size_t>
    - len
    - TC_ASSERT_LE
    - TC_CHECK
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:45,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tcmalloc_internal::start_addr
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - TC_ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void * start_addr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:50,1
    - Dst: PageId
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::first_page
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    - PageId
    linkageType: ''
    returnType: PageId
    signature: PageId first_page() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tcmalloc_internal::index
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    linkageType: ''
    returnType: size_t
    signature: size_t index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:61,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' p'
    argTypes:
    - H
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: tcmalloc_internal::AbslHashValue
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - std::move
    - H::combine
    linkageType: ''
    returnType: H
    signature: H AbslHashValue(H h, const HugePage& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:69,1
    - Dst: tcmalloc_internal::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' v'
    argTypes:
    - Sink
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::start_addr
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const HugePage& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::HugeLength
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:77,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::HugeLength
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - ceil
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void HugeLength(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::raw_num
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t raw_num() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::in_bytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t in_bytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::in_mib
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t in_mib() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: tcmalloc_internal::in_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length in_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:90,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::min
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugeLength
    - static_cast<size_t>
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength min()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:93,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: tcmalloc_internal::max
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 55
    functionsReached:
    - tcmalloc_internal::HugeLength
    - static_cast<size_t>
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength max()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:98,1
    - Dst: tcmalloc_internal::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' v'
    argTypes:
    - Sink
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::in_bytes
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const HugeLength& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: tcmalloc_internal::HugeLength
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeLength(size_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: tcmalloc_internal::NHugePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugeLength
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST NHugePages(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: tcmalloc_internal::HLFromBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NHugePages
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST HLFromBytes(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:141,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pages
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::HLFromPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NHugePages
    - Length
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST HLFromPages(Length pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' len'
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '& operator++(HugeLength& len)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength & operator++(HugeLength& len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: '& operator++(HugePage& p)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    linkageType: ''
    returnType: HugePage
    signature: HugePage & operator++(HugePage& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' len'
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: '& operator--(HugeLength& len)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength & operator--(HugeLength& len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: operator<(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: operator>(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator>(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: operator<=(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator<=(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: operator<(HugePage lhs, HugePage rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator<(HugePage lhs, HugePage rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: operator>(HugePage lhs, HugePage rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator>(HugePage lhs, HugePage rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: operator>=(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator>=(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: operator<=(HugePage lhs, HugePage rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator<=(HugePage lhs, HugePage rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: operator>=(HugePage lhs, HugePage rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator>=(HugePage lhs, HugePage rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: operator==(HugePage lhs, HugePage rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator==(HugePage lhs, HugePage rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: operator!=(HugePage lhs, HugePage rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator!=(HugePage lhs, HugePage rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: operator==(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator==(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: operator!=(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator!=(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: operator/(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator/(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: operator*(HugeLength lhs, size_t rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NHugePages
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator*(HugeLength lhs, size_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: operator/(HugeLength lhs, size_t rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NHugePages
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator/(HugeLength lhs, size_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' lhs'
    - rhs
    argTypes:
    - HugeLength
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: '& operator*=(HugeLength& lhs, size_t rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength & operator*=(HugeLength& lhs, size_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: operator%(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NHugePages
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator%(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: operator+(HugePage lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator+(HugePage lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: operator+(HugeLength lhs, HugePage rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator+(HugeLength lhs, HugePage rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: operator-(HugePage lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator-(HugePage lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:264,1
    - Dst: tcmalloc_internal::NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: operator-(HugePage lhs, HugePage rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NHugePages
    - TC_ASSERT_GE
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator-(HugePage lhs, HugePage rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - rhs
    argTypes:
    - HugePage
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: '& operator+=(HugePage& lhs, HugeLength rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    linkageType: ''
    returnType: HugePage
    signature: HugePage & operator+=(HugePage& lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: operator+(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NHugePages
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator+(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' lhs'
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: '& operator+=(HugeLength& lhs, HugeLength rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength & operator+=(HugeLength& lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:285,1
    - Dst: tcmalloc_internal::NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: operator-(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NHugePages
    - TC_ASSERT_GE
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator-(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: '& operator-=(HugeLength& lhs, HugeLength rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength & operator-=(HugeLength& lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:295,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: tcmalloc_internal::HugeLength::overflows
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - HLFromBytes
    linkageType: ''
    returnType: bool
    signature: bool HugeLength::overflows() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' n'
    - os
    argTypes:
    - HugeLength
    - ::std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: tcmalloc_internal::PrintTo
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::raw_num
    linkageType: ''
    returnType: void
    signature: void PrintTo(const HugeLength& n, ::std::ostream* os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: tcmalloc_internal::HugePageContaining
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - PageId::index
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST HugePageContaining(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:309,1
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: tcmalloc_internal::HugePageContaining
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugePageContaining
    - tcmalloc_internal::PageIdContaining
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST HugePageContaining(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: tcmalloc_internal::HugeRange
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeRange()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - HugePage
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: tcmalloc_internal::HugeRange
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeRange(HugePage p, HugeLength len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: tcmalloc_internal::HugeRange
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeRange(const HugeRange&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: '& operator=(const HugeRange&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange & operator=(const HugeRange&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: tcmalloc_internal::HugeRange
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeRange(HugeRange&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: '& operator=(HugeRange&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange & operator=(HugeRange&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: tcmalloc_internal::start_addr
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::start_addr
    linkageType: ''
    returnType: void
    signature: void * start_addr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: tcmalloc_internal::end_addr
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::start_addr
    linkageType: ''
    returnType: void
    signature: void * end_addr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:326,1
    - Dst: tcmalloc_internal::end_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:326,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:326,1
    - Dst: tcmalloc_internal::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: tcmalloc_internal::byte_len
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::start_addr
    - static_cast<char*>
    - tcmalloc_internal::end_addr
    linkageType: ''
    returnType: size_t
    signature: size_t byte_len() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: tcmalloc_internal::valid
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::start_addr
    linkageType: ''
    returnType: bool
    signature: bool valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: tcmalloc_internal::start
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePage
    signature: HugePage start() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: tcmalloc_internal::len
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength len() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: operator[](HugeLength i) const
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePage
    signature: HugePage operator[](HugeLength i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:340,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:340,1
    - Dst: tcmalloc_internal::start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:340,1
    - Dst: tcmalloc_internal::len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' r'
    argTypes:
    - H
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: tcmalloc_internal::AbslHashValue
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::len
    - std::move
    - H::combine
    - tcmalloc_internal::start
    linkageType: ''
    returnType: H
    signature: H AbslHashValue(H h, const HugeRange& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::contains
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:343,1
    - Dst: tcmalloc_internal::HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: tcmalloc_internal::contains
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugePageContaining
    - tcmalloc_internal::contains
    linkageType: ''
    returnType: bool
    signature: bool contains(PageId p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::contains
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool contains(HugePage p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: tcmalloc_internal::contains
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool contains(HugeRange r) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeRange::contains
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:350,1
    - Dst: tcmalloc_internal::start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:350,1
    - Dst: tcmalloc_internal::contains
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:350,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: tcmalloc_internal::intersects
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::contains
    - HugeRange::contains
    - tcmalloc_internal::start
    - HugeRange::start
    linkageType: ''
    returnType: bool
    signature: bool intersects(HugeRange r) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::end_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:355,1
    - Dst: HugeRange::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: tcmalloc_internal::precedes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - HugeRange::start_addr
    - tcmalloc_internal::end_addr
    linkageType: ''
    returnType: bool
    signature: bool precedes(HugeRange r) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:358,1
    - Dst: tcmalloc_internal::NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: tcmalloc_internal::Nil
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NHugePages
    - tcmalloc_internal::HugePageContaining
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange Nil()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - HugePage
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: tcmalloc_internal::Make
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange Make(HugePage p, HugeLength n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:368,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:368,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:368,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeRange
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: operator==(HugeRange lhs, HugeRange rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - HugeRange::start
    linkageType: ''
    returnType: bool
    signature: bool operator==(HugeRange lhs, HugeRange rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:374,1
    - Dst: HugeRange::precedes
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:374,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:375,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:375,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - HugeRange
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: tcmalloc_internal::Join
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - TC_CHECK
    - HugeRange::start
    - HugeRange::precedes
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange Join(HugeRange a, HugeRange b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:382,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:382,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:383,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:384,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:384,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:385,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:385,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:385,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - HugeRange
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 389
    functionName: tcmalloc_internal::Split
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    - HugeRange::start
    - tcmalloc_internal::Make
    - TC_ASSERT_GE
    linkageType: ''
    returnType: std::pair<HugeRange, HugeRange>
    signature: std::pair<HugeRange, HugeRange> Split(HugeRange r, HugeLength n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:45,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tcmalloc_internal::start_addr
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<void*>
    - TC_ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void * start_addr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:50,1
    - Dst: PageId
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::first_page
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    - PageId
    linkageType: ''
    returnType: PageId
    signature: PageId first_page() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tcmalloc_internal::index
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    linkageType: ''
    returnType: size_t
    signature: size_t index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:61,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' p'
    argTypes:
    - H
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: tcmalloc_internal::AbslHashValue
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - std::move
    - H::combine
    linkageType: ''
    returnType: H
    signature: H AbslHashValue(H h, const HugePage& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:69,1
    - Dst: tcmalloc_internal::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' v'
    argTypes:
    - Sink
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::start_addr
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const HugePage& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::HugeLength
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:77,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::HugeLength
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 3
    functionsReached:
    - ceil
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void HugeLength(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::raw_num
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t raw_num() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::in_bytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t in_bytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::in_mib
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t in_mib() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: tcmalloc_internal::in_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length in_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:90,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::min
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugeLength
    - static_cast<size_t>
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength min()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:93,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: tcmalloc_internal::max
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 56
    functionsReached:
    - tcmalloc_internal::HugeLength
    - static_cast<size_t>
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength max()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:98,1
    - Dst: tcmalloc_internal::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' v'
    argTypes:
    - Sink
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::in_bytes
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const HugeLength& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: tcmalloc_internal::HugeLength
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeLength(size_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeLength
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: tcmalloc_internal::NHugePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 11
    functionsReached:
    - tcmalloc_internal::HugeLength
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST NHugePages(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: tcmalloc_internal::HLFromBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NHugePages
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST HLFromBytes(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:141,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pages
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::HLFromPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NHugePages
    - Length
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST HLFromPages(Length pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' len'
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '& operator++(HugeLength& len)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength & operator++(HugeLength& len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: '& operator++(HugePage& p)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    linkageType: ''
    returnType: HugePage
    signature: HugePage & operator++(HugePage& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' len'
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: '& operator--(HugeLength& len)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength & operator--(HugeLength& len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: operator<(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: operator>(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator>(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: operator<=(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator<=(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: operator<(HugePage lhs, HugePage rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator<(HugePage lhs, HugePage rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: operator>(HugePage lhs, HugePage rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator>(HugePage lhs, HugePage rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: operator>=(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator>=(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: operator<=(HugePage lhs, HugePage rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator<=(HugePage lhs, HugePage rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: operator>=(HugePage lhs, HugePage rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator>=(HugePage lhs, HugePage rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: operator==(HugePage lhs, HugePage rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator==(HugePage lhs, HugePage rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: operator!=(HugePage lhs, HugePage rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator!=(HugePage lhs, HugePage rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: operator==(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator==(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: operator!=(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator!=(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: operator/(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator/(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: operator*(HugeLength lhs, size_t rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator*(HugeLength lhs, size_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: operator/(HugeLength lhs, size_t rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator/(HugeLength lhs, size_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' lhs'
    - rhs
    argTypes:
    - HugeLength
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: '& operator*=(HugeLength& lhs, size_t rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength & operator*=(HugeLength& lhs, size_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: operator%(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator%(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: operator+(HugePage lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator+(HugePage lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: operator+(HugeLength lhs, HugePage rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator+(HugeLength lhs, HugePage rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: operator-(HugePage lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator-(HugePage lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugePage
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: operator-(HugePage lhs, HugePage rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - NHugePages
    - TC_ASSERT_GE
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator-(HugePage lhs, HugePage rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - rhs
    argTypes:
    - HugePage
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: '& operator+=(HugePage& lhs, HugeLength rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    linkageType: ''
    returnType: HugePage
    signature: HugePage & operator+=(HugePage& lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: operator+(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator+(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' lhs'
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: '& operator+=(HugeLength& lhs, HugeLength rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength & operator+=(HugeLength& lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:285,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: operator-(HugeLength lhs, HugeLength rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - NHugePages
    - TC_ASSERT_GE
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator-(HugeLength lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - rhs
    argTypes:
    - HugeLength
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: '& operator-=(HugeLength& lhs, HugeLength rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength & operator-=(HugeLength& lhs, HugeLength rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:295,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: tcmalloc_internal::HugeLength::overflows
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - HLFromBytes
    linkageType: ''
    returnType: bool
    signature: bool HugeLength::overflows() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' n'
    - os
    argTypes:
    - HugeLength
    - ::std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: tcmalloc_internal::PrintTo
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::raw_num
    linkageType: ''
    returnType: void
    signature: void PrintTo(const HugeLength& n, ::std::ostream* os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: tcmalloc_internal::HugePageContaining
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 3
    functionsReached:
    - PageId::index
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST HugePageContaining(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:309,1
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: tcmalloc_internal::HugePageContaining
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::HugePageContaining
    - tcmalloc_internal::PageIdContaining
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST HugePageContaining(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: tcmalloc_internal::HugeRange
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeRange()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - HugePage
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: tcmalloc_internal::HugeRange
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeRange(HugePage p, HugeLength len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: tcmalloc_internal::HugeRange
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeRange(const HugeRange&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: '& operator=(const HugeRange&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange & operator=(const HugeRange&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: tcmalloc_internal::HugeRange
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeRange(HugeRange&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: '& operator=(HugeRange&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange & operator=(HugeRange&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: tcmalloc_internal::start_addr
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 7
    functionsReached:
    - tcmalloc_internal::start_addr
    linkageType: ''
    returnType: void
    signature: void * start_addr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: tcmalloc_internal::end_addr
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::start_addr
    linkageType: ''
    returnType: void
    signature: void * end_addr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:326,1
    - Dst: tcmalloc_internal::end_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:326,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:326,1
    - Dst: tcmalloc_internal::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: tcmalloc_internal::byte_len
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::start_addr
    - static_cast<char*>
    - tcmalloc_internal::end_addr
    linkageType: ''
    returnType: size_t
    signature: size_t byte_len() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: tcmalloc_internal::valid
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::start_addr
    linkageType: ''
    returnType: bool
    signature: bool valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: tcmalloc_internal::start
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: HugePage
    signature: HugePage start() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: tcmalloc_internal::len
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength len() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: operator[](HugeLength i) const
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePage
    signature: HugePage operator[](HugeLength i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:340,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:340,1
    - Dst: tcmalloc_internal::start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:340,1
    - Dst: tcmalloc_internal::len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' r'
    argTypes:
    - H
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: tcmalloc_internal::AbslHashValue
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::len
    - std::move
    - H::combine
    - tcmalloc_internal::start
    linkageType: ''
    returnType: H
    signature: H AbslHashValue(H h, const HugeRange& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::contains
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:343,1
    - Dst: tcmalloc_internal::HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: tcmalloc_internal::contains
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::HugePageContaining
    - tcmalloc_internal::contains
    linkageType: ''
    returnType: bool
    signature: bool contains(PageId p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::contains
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool contains(HugePage p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: tcmalloc_internal::contains
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool contains(HugeRange r) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeRange::contains
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:350,1
    - Dst: tcmalloc_internal::start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:350,1
    - Dst: tcmalloc_internal::contains
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:350,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: tcmalloc_internal::intersects
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::contains
    - HugeRange::contains
    - tcmalloc_internal::start
    - HugeRange::start
    linkageType: ''
    returnType: bool
    signature: bool intersects(HugeRange r) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::end_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:355,1
    - Dst: HugeRange::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: tcmalloc_internal::precedes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - HugeRange::start_addr
    - tcmalloc_internal::end_addr
    linkageType: ''
    returnType: bool
    signature: bool precedes(HugeRange r) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:358,1
    - Dst: tcmalloc_internal::NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: tcmalloc_internal::Nil
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NHugePages
    - tcmalloc_internal::HugePageContaining
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange Nil()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - HugePage
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: tcmalloc_internal::Make
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange Make(HugePage p, HugeLength n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:368,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:368,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:368,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - HugeRange
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: operator==(HugeRange lhs, HugeRange rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - HugeRange::start
    linkageType: ''
    returnType: bool
    signature: bool operator==(HugeRange lhs, HugeRange rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:374,1
    - Dst: HugeRange::precedes
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:374,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:375,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:375,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - HugeRange
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: tcmalloc_internal::Join
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - TC_CHECK
    - HugeRange::start
    - HugeRange::precedes
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange Join(HugeRange a, HugeRange b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:382,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:382,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:383,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:384,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:384,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:385,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:385,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:385,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/huge_pages.h:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - HugeRange
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 389
    functionName: tcmalloc_internal::Split
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_pages.h
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    - HugeRange::start
    - tcmalloc_internal::Make
    - TC_ASSERT_GE
    linkageType: ''
    returnType: std::pair<HugeRange, HugeRange>
    signature: std::pair<HugeRange, HugeRange> Split(HugeRange r, HugeLength n)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:80,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sizemap.h:80,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:142,1
    - Dst: Shr<3>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:143,1
    - Dst: Shr<7>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:146,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/sizemap.h:154,1
    - Dst: ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:154,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/sizemap.h:215,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:216,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/sizemap.h:216,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:218,1
    - Dst: ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/sizemap.h:219,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:224,1
    - Dst: ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:224,1
    - Dst: ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/sizemap.h:225,1
    - Dst: is_cold
      Src: /src/tcmalloc/tcmalloc/sizemap.h:228,1
    - Dst: scaled_numa_partition
      Src: /src/tcmalloc/tcmalloc/sizemap.h:231,1
    - Dst: __builtin_constant_p
      Src: /src/tcmalloc/tcmalloc/sizemap.h:240,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:241,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:252,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:252,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:255,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:255,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/sizemap.h:265,1
    - Dst: GetSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.h:267,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:282,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:289,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:296,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/sizemap.h:317,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:319,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 332
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - ClassIndexMaybe
    - ABSL_PREDICT_FALSE
    - scaled_numa_partition
    - GetSizeClass
    - absl::has_single_bit
    - __builtin_constant_p
    - ASSUME
    - Shr<3>
    - TC_ASSERT
    - is_cold
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::max
    - ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
    - num_objects_to_move
    - Shr<7>
    - static_cast<size_t>
    - TC_ASSERT_LE
    - align
    - TC_CHECK
    - TC_ASSERT_LT
    - class_to_size
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:80,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sizemap.h:80,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:142,1
    - Dst: Shr<3>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:143,1
    - Dst: Shr<7>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:146,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/sizemap.h:154,1
    - Dst: ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:154,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/sizemap.h:215,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:216,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/sizemap.h:216,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:218,1
    - Dst: ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/sizemap.h:219,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:224,1
    - Dst: ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:224,1
    - Dst: ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/sizemap.h:225,1
    - Dst: is_cold
      Src: /src/tcmalloc/tcmalloc/sizemap.h:228,1
    - Dst: scaled_numa_partition
      Src: /src/tcmalloc/tcmalloc/sizemap.h:231,1
    - Dst: __builtin_constant_p
      Src: /src/tcmalloc/tcmalloc/sizemap.h:240,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:241,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:252,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:252,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:255,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:255,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/sizemap.h:265,1
    - Dst: GetSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.h:267,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:282,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:289,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:296,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/sizemap.h:317,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:319,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 326
    functionName: "ABSL_ATTRIBUTE_ALWAYS_INLINE absl::Span<const size_t> ColdSizeClasses()\n
      \     const"
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - ClassIndexMaybe
    - ABSL_PREDICT_FALSE
    - scaled_numa_partition
    - GetSizeClass
    - absl::has_single_bit
    - __builtin_constant_p
    - ASSUME
    - Shr<3>
    - TC_ASSERT
    - is_cold
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::max
    - ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
    - num_objects_to_move
    - Shr<7>
    - static_cast<size_t>
    - TC_ASSERT_LE
    - align
    - TC_CHECK
    - TC_ASSERT_LT
    - class_to_size
    linkageType: ''
    returnType: "class SizeMap {\n public:\n  static constexpr int kLargeSize = 1024;\n
      \ static constexpr int kLargeSizeAlignment = 128;\n\n private:\n  // Shifts
      the provided value right by `n` bits.\n  //\n  // TODO(b/281517865): the LLVM
      codegen for ClassIndexMaybe() doesn't use\n  // an immediate shift for the `>>
      3` and `>> 7` operations due to a missed\n  // optimization / miscompile in
      clang, resulting in this codegen:\n  //\n  //   mov        $0x3,%ecx\n  //   mov
      \       $0x7,%eax\n  //   add        %edi,%eax\n  //   shr        %cl,%rax\n
      \ //\n  // Immediate shift has latency 1 vs 3 for cl shift, and also the `add`
      can\n  // be far more efficient, which we force into inline assembly here:\n
      \ //\n  //   lea        0x7(%rdi),%rax\n  //   shr        $0x3,%rax\n  //\n
      \ // Benchmark:\n  // BM_new_sized_delete/1      6.51ns \xB1 5%   6.00ns \xB1
      1%   -7.73%  (p=0.000)\n  // BM_new_sized_delete/8      6.51ns \xB1 5%   6.01ns
      \xB1 1%   -7.66%  (p=0.000)\n  // BM_new_sized_delete/64     6.52ns \xB1 5%
      \  6.04ns \xB1 1%   -7.37%  (p=0.000)\n  // BM_new_sized_delete/512    6.71ns
      \xB1 6%   6.21ns \xB1 1%   -7.40%  (p=0.000)\n  template <int n>\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      static inline size_t Shr(size_t value) {\n    TC_ASSERT_LE(value, std::numeric_limits<uint32_t>::max());\n#if
      defined(__x86_64__)\n    asm(\"shrl %[n], %k[value]\" : [value] \"+r\"(value)
      : [n] \"n\"(n));\n    return value;\n#elif defined(__aarch64__)\n    size_t
      result;\n    asm(\"lsr %[result], %[value], %[n]\"\n        : [result] \"=r\"(result)\n
      \       : [value] \"r\"(value), [n] \"n\"(n));\n    return result;\n#else\n
      \   return value >> n;\n#endif\n  }\n\n  //-------------------------------------------------------------------\n
      \ // Mapping from size to size_class and vice versa\n  //-------------------------------------------------------------------\n\n
      \ // Sizes <= 1024 have an alignment >= 8.  So for such sizes we have an\n  //
      array indexed by ceil(size/8).  Sizes > 1024 have an alignment >= 128.\n  //
      So for these larger sizes we have an array indexed by ceil(size/128).\n  //\n
      \ // We flatten both logical arrays into one physical array and use\n  // arithmetic
      to compute an appropriate index.  The constants used by\n  // ClassIndex() were
      selected to make the flattening work.\n  //\n  // Examples:\n  //   Size       Expression
      \                     Index\n  //   -------------------------------------------------------\n
      \ //   0          (0 + 7) / 8                     0\n  //   1          (1 +
      7) / 8                     1\n  //   ...\n  //   1024       (1024 + 7) / 8                  128\n
      \ //   1025       (1025 + 127 + (120<<7)) / 128   129\n  //   ...\n  //   32768
      \     (32768 + 127 + (120<<7)) / 128  376\n  static constexpr size_t kClassArraySize
      =\n      ((kMaxSize + 127 + (120 << 7)) >> 7) + 1;\n\n  // Batch size is the
      number of objects to move at once.\n  typedef unsigned char BatchSize;\n\n  //
      class_array_ is accessed on every malloc, so is very hot.  We make it the\n
      \ // first member so that it inherits the overall alignment of a SizeMap\n  //
      instance.  In particular, if we create a SizeMap instance that's cache-line\n
      \ // aligned, this member is also aligned to the width of a cache line.\n  CompactSizeClass\n
      \     class_array_[kClassArraySize * (kHasExpandedClasses ? 2 : 1)] = {0};\n\n
      \ // Number of objects to move between a per-thread list and a central\n  //
      list in one shot.  We want this to be not too small so we can\n  // amortize
      the lock overhead for accessing the central list.  Making\n  // it too big may
      temporarily cause unnecessary memory wastage in the\n  // per-thread free list
      until the scavenger cleans up the list.\n  BatchSize num_objects_to_move_[kNumClasses]
      = {0};\n\n  // If size is no more than kMaxSize, compute index of the\n  //
      class_array[] entry for it, putting the class index in output\n  // parameter
      idx and returning true. Otherwise return false.\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      static inline bool ClassIndexMaybe(size_t s,\n                                                                  size_t&
      idx) {\n    if (ABSL_PREDICT_TRUE(s <= kLargeSize)) {\n      idx = Shr<3>(s
      + 7);\n      return true;\n    } else if (s <= kMaxSize) {\n      idx = Shr<7>(s
      + 127 + (120 << 7));\n      return true;\n    }\n    return false;\n  }\n\n
      \ ABSL_ATTRIBUTE_ALWAYS_INLINE static inline size_t ClassIndex(size_t s) {\n
      \   size_t ret;\n    TC_CHECK(ClassIndexMaybe(s, ret));\n    return ret;\n  }\n\n
      \ // Mapping from size class to number of pages to allocate at a time\n  unsigned
      char class_to_pages_[kNumClasses] = {0};\n\n  // Mapping from size class to
      max size storable in that class\n  uint32_t class_to_size_[kNumClasses] = {0};\n\n
      protected:\n  // Set the give size classes to be used by TCMalloc.\n  bool SetSizeClasses(absl::Span<const
      SizeClassInfo> size_classes);\n\n  // Check that the size classes meet all requirements.\n
      \ static bool ValidSizeClasses(absl::Span<const SizeClassInfo> size_classes);\n\n
      \ size_t cold_sizes_[kNumBaseClasses] = {0};\n  size_t cold_sizes_count_ = 0;\n\n
      public:\n  // Returns size classes to use in the current process.\n  static
      const SizeClasses& CurrentClasses();\n\n  // Checks assumptions used to generate
      the current size classes.\n  // Prints any wrong assumptions to stderr.\n  //\n
      \ // Returns true if all assumptions are correct, else returns false.\n  [[nodiscard]]
      static bool CheckAssumptions();\n\n  // constexpr constructor to guarantee zero-initialization
      at compile-time.  We\n  // rely on Init() to populate things.\n  constexpr SizeMap()
      = default;\n\n  // Initialize the mapping arrays.  Returns true on success.\n
      \ bool Init(absl::Span<const SizeClassInfo> size_classes);\n\n  // Returns the
      size class for size `size` respecting the alignment\n  // & access requirements
      of `policy`.\n  //\n  // Returns true on success. Returns false if either:\n
      \ // - the size exceeds the maximum size class size.\n  // - the align size
      is greater or equal to the default page size\n  // - no matching properly aligned
      size class is available\n  //\n  // Requires that policy.align() returns a non-zero
      power of 2.\n  //\n  // When policy.align() = 1 the default alignment of the
      size table will be\n  // used. If policy.align() is constexpr 1 (e.g. when using\n
      \ // DefaultAlignPolicy) then alignment-related code will optimize away.\n  //\n
      \ // TODO(b/171978365): Replace the output parameter with returning\n  // absl::optional<uint32_t>.\n
      \ template <typename Policy>\n  // clang does not correctly optimize out the
      array bounds check,\n  // leading to high overhead. Disable UBSan to avoid the
      performance\n  // regression.\n  // TODO(b/406313446): Remove ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
      once clang\n  // optimizes out the array bounds check.\n  ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
      ABSL_ATTRIBUTE_ALWAYS_INLINE inline bool\n  GetSizeClass(Policy policy, size_t
      size, size_t* size_class) const {\n    const size_t align = policy.align();\n
      \   TC_ASSERT(absl::has_single_bit(align));\n\n    if (ABSL_PREDICT_FALSE(align
      > kPageSize)) {\n      ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED(size_class, sizeof(*size_class));\n
      \     return false;\n    }\n\n    size_t idx;\n    if (ABSL_PREDICT_FALSE(!ClassIndexMaybe(size,
      idx))) {\n      ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED(size_class, sizeof(*size_class));\n
      \     return false;\n    }\n    if (kHasExpandedClasses && policy.is_cold())
      {\n      *size_class = class_array_[idx + kClassArraySize];\n    } else {\n
      \     *size_class = class_array_[idx] + policy.scaled_numa_partition();\n    }\n\n
      \   // Don't search for suitably aligned class for operator new\n    // (when
      alignment is statically known to be no greater than kAlignment).\n    // But
      don't do this check at runtime when the alignment is dynamic.\n    // We assume
      aligned allocation functions are not used with small alignment\n    // most
      of the time (does not make much sense). And for alignment larger\n    // than
      kAlignment, this is just an unnecessary check that always fails.\n    if (__builtin_constant_p(align)
      &&\n        align <= static_cast<size_t>(kAlignment)) {\n      return true;\n
      \   }\n\n    // Predict that size aligned allocs most often directly map to
      a proper\n    // size class, i.e., multiples of 32, 64, etc, matching our class
      sizes.\n    // Since alignment is <= kPageSize, we must find a suitable class\n
      \   // (at least kMaxSize is aligned on kPageSize).\n    static_assert((kMaxSize
      % kPageSize) == 0, \"the loop below won't work\");\n    // Profiles say we usually
      get the right class based on the size,\n    // so avoid the loop overhead on
      the fast path.\n    if (ABSL_PREDICT_FALSE(class_to_size(*size_class) & (align
      - 1))) {\n      do {\n        ++*size_class;\n      } while (ABSL_PREDICT_FALSE(class_to_size(*size_class)
      & (align - 1)));\n    }\n    return true;\n  }\n\n  // Returns size class for
      given size, or 0 if this instance has not been\n  // initialized yet. REQUIRES:
      size <= kMaxSize.\n  template <typename Policy>\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      inline size_t SizeClass(Policy policy,\n                                                       size_t
      size) const {\n    ASSUME(size <= kMaxSize);\n    size_t ret = 0;\n    GetSizeClass(policy,
      size, &ret);\n    return ret;\n  }\n\n  // Get the byte-size for a specified
      class. REQUIRES: size_class <=\n  // kNumClasses.\n  //\n  // clang does not
      correctly optimize out the array bounds check,\n  // leading to high overhead.
      Disable UBSan to avoid the performance\n  // regression.\n  // TODO(b/406313446):
      Remove ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED once clang\n  // optimizes out the
      array bounds check.\n  ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      inline size_t class_to_size(\n      size_t size_class) const {\n    TC_ASSERT_LT(size_class,
      kNumClasses);\n    return class_to_size_[size_class];\n  }\n\n  // Mapping from
      size class to number of pages to allocate at a time\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      inline size_t class_to_pages(\n      size_t size_class) const {\n    TC_ASSERT_LT(size_class,
      kNumClasses);\n    return class_to_pages_[size_class];\n  }\n\n  // Returns
      the inclusive range of possible sizes for a given size class.\n  // REQUIRES:
      size_class < kNumClasses.\n  std::pair<size_t, size_t> class_to_size_range(size_t
      size_class) const {\n    TC_ASSERT_LT(size_class, kNumClasses);\n    if (size_class
      == 0) {\n      return {0, 0};\n    }\n    size_t max_size = class_to_size_[size_class];\n
      \   size_t min_size = class_to_size_[size_class - 1] + 1;\n    if (min_size
      > max_size) {\n      // TCMalloc places the NUMA and cold size classes after
      the hot ones.\n      // If the \"prior\" size class is actually larger in bytes,
      then we fell\n      // off the beginning of one of these other size classes
      and should use\n      // 0 as the min size.\n      min_size = 0;\n    }\n    return
      {min_size, max_size};\n  }\n\n  // Number of objects to move between a per-thread
      list and a central\n  // list in one shot.  We want this to be not too small
      so we can\n  // amortize the lock overhead for accessing the central list.  Making\n
      \ // it too big may temporarily cause unnecessary memory wastage in the\n  //
      per-thread free list until the scavenger cleans up the list.\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      inline SizeMap::BatchSize num_objects_to_move(\n      size_t size_class) const
      {\n    TC_ASSERT_LT(size_class, kNumClasses);\n    return num_objects_to_move_[size_class];\n
      \ }"
    signature: "class SizeMap {\n public:\n  static constexpr int kLargeSize = 1024;\n
      \ static constexpr int kLargeSizeAlignment = 128;\n\n private:\n  // Shifts
      the provided value right by `n` bits.\n  //\n  // TODO(b/281517865): the LLVM
      codegen for ClassIndexMaybe() doesn't use\n  // an immediate shift for the `>>
      3` and `>> 7` operations due to a missed\n  // optimization / miscompile in
      clang, resulting in this codegen:\n  //\n  //   mov        $0x3,%ecx\n  //   mov
      \       $0x7,%eax\n  //   add        %edi,%eax\n  //   shr        %cl,%rax\n
      \ //\n  // Immediate shift has latency 1 vs 3 for cl shift, and also the `add`
      can\n  // be far more efficient, which we force into inline assembly here:\n
      \ //\n  //   lea        0x7(%rdi),%rax\n  //   shr        $0x3,%rax\n  //\n
      \ // Benchmark:\n  // BM_new_sized_delete/1      6.51ns \xB1 5%   6.00ns \xB1
      1%   -7.73%  (p=0.000)\n  // BM_new_sized_delete/8      6.51ns \xB1 5%   6.01ns
      \xB1 1%   -7.66%  (p=0.000)\n  // BM_new_sized_delete/64     6.52ns \xB1 5%
      \  6.04ns \xB1 1%   -7.37%  (p=0.000)\n  // BM_new_sized_delete/512    6.71ns
      \xB1 6%   6.21ns \xB1 1%   -7.40%  (p=0.000)\n  template <int n>\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      static inline size_t Shr(size_t value) {\n    TC_ASSERT_LE(value, std::numeric_limits<uint32_t>::max());\n#if
      defined(__x86_64__)\n    asm(\"shrl %[n], %k[value]\" : [value] \"+r\"(value)
      : [n] \"n\"(n));\n    return value;\n#elif defined(__aarch64__)\n    size_t
      result;\n    asm(\"lsr %[result], %[value], %[n]\"\n        : [result] \"=r\"(result)\n
      \       : [value] \"r\"(value), [n] \"n\"(n));\n    return result;\n#else\n
      \   return value >> n;\n#endif\n  }\n\n  //-------------------------------------------------------------------\n
      \ // Mapping from size to size_class and vice versa\n  //-------------------------------------------------------------------\n\n
      \ // Sizes <= 1024 have an alignment >= 8.  So for such sizes we have an\n  //
      array indexed by ceil(size/8).  Sizes > 1024 have an alignment >= 128.\n  //
      So for these larger sizes we have an array indexed by ceil(size/128).\n  //\n
      \ // We flatten both logical arrays into one physical array and use\n  // arithmetic
      to compute an appropriate index.  The constants used by\n  // ClassIndex() were
      selected to make the flattening work.\n  //\n  // Examples:\n  //   Size       Expression
      \                     Index\n  //   -------------------------------------------------------\n
      \ //   0          (0 + 7) / 8                     0\n  //   1          (1 +
      7) / 8                     1\n  //   ...\n  //   1024       (1024 + 7) / 8                  128\n
      \ //   1025       (1025 + 127 + (120<<7)) / 128   129\n  //   ...\n  //   32768
      \     (32768 + 127 + (120<<7)) / 128  376\n  static constexpr size_t kClassArraySize
      =\n      ((kMaxSize + 127 + (120 << 7)) >> 7) + 1;\n\n  // Batch size is the
      number of objects to move at once.\n  typedef unsigned char BatchSize;\n\n  //
      class_array_ is accessed on every malloc, so is very hot.  We make it the\n
      \ // first member so that it inherits the overall alignment of a SizeMap\n  //
      instance.  In particular, if we create a SizeMap instance that's cache-line\n
      \ // aligned, this member is also aligned to the width of a cache line.\n  CompactSizeClass\n
      \     class_array_[kClassArraySize * (kHasExpandedClasses ? 2 : 1)] = {0};\n\n
      \ // Number of objects to move between a per-thread list and a central\n  //
      list in one shot.  We want this to be not too small so we can\n  // amortize
      the lock overhead for accessing the central list.  Making\n  // it too big may
      temporarily cause unnecessary memory wastage in the\n  // per-thread free list
      until the scavenger cleans up the list.\n  BatchSize num_objects_to_move_[kNumClasses]
      = {0};\n\n  // If size is no more than kMaxSize, compute index of the\n  //
      class_array[] entry for it, putting the class index in output\n  // parameter
      idx and returning true. Otherwise return false.\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      static inline bool ClassIndexMaybe(size_t s,\n                                                                  size_t&
      idx) {\n    if (ABSL_PREDICT_TRUE(s <= kLargeSize)) {\n      idx = Shr<3>(s
      + 7);\n      return true;\n    } else if (s <= kMaxSize) {\n      idx = Shr<7>(s
      + 127 + (120 << 7));\n      return true;\n    }\n    return false;\n  }\n\n
      \ ABSL_ATTRIBUTE_ALWAYS_INLINE static inline size_t ClassIndex(size_t s) {\n
      \   size_t ret;\n    TC_CHECK(ClassIndexMaybe(s, ret));\n    return ret;\n  }\n\n
      \ // Mapping from size class to number of pages to allocate at a time\n  unsigned
      char class_to_pages_[kNumClasses] = {0};\n\n  // Mapping from size class to
      max size storable in that class\n  uint32_t class_to_size_[kNumClasses] = {0};\n\n
      protected:\n  // Set the give size classes to be used by TCMalloc.\n  bool SetSizeClasses(absl::Span<const
      SizeClassInfo> size_classes);\n\n  // Check that the size classes meet all requirements.\n
      \ static bool ValidSizeClasses(absl::Span<const SizeClassInfo> size_classes);\n\n
      \ size_t cold_sizes_[kNumBaseClasses] = {0};\n  size_t cold_sizes_count_ = 0;\n\n
      public:\n  // Returns size classes to use in the current process.\n  static
      const SizeClasses& CurrentClasses();\n\n  // Checks assumptions used to generate
      the current size classes.\n  // Prints any wrong assumptions to stderr.\n  //\n
      \ // Returns true if all assumptions are correct, else returns false.\n  [[nodiscard]]
      static bool CheckAssumptions();\n\n  // constexpr constructor to guarantee zero-initialization
      at compile-time.  We\n  // rely on Init() to populate things.\n  constexpr SizeMap()
      = default;\n\n  // Initialize the mapping arrays.  Returns true on success.\n
      \ bool Init(absl::Span<const SizeClassInfo> size_classes);\n\n  // Returns the
      size class for size `size` respecting the alignment\n  // & access requirements
      of `policy`.\n  //\n  // Returns true on success. Returns false if either:\n
      \ // - the size exceeds the maximum size class size.\n  // - the align size
      is greater or equal to the default page size\n  // - no matching properly aligned
      size class is available\n  //\n  // Requires that policy.align() returns a non-zero
      power of 2.\n  //\n  // When policy.align() = 1 the default alignment of the
      size table will be\n  // used. If policy.align() is constexpr 1 (e.g. when using\n
      \ // DefaultAlignPolicy) then alignment-related code will optimize away.\n  //\n
      \ // TODO(b/171978365): Replace the output parameter with returning\n  // absl::optional<uint32_t>.\n
      \ template <typename Policy>\n  // clang does not correctly optimize out the
      array bounds check,\n  // leading to high overhead. Disable UBSan to avoid the
      performance\n  // regression.\n  // TODO(b/406313446): Remove ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
      once clang\n  // optimizes out the array bounds check.\n  ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
      ABSL_ATTRIBUTE_ALWAYS_INLINE inline bool\n  GetSizeClass(Policy policy, size_t
      size, size_t* size_class) const {\n    const size_t align = policy.align();\n
      \   TC_ASSERT(absl::has_single_bit(align));\n\n    if (ABSL_PREDICT_FALSE(align
      > kPageSize)) {\n      ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED(size_class, sizeof(*size_class));\n
      \     return false;\n    }\n\n    size_t idx;\n    if (ABSL_PREDICT_FALSE(!ClassIndexMaybe(size,
      idx))) {\n      ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED(size_class, sizeof(*size_class));\n
      \     return false;\n    }\n    if (kHasExpandedClasses && policy.is_cold())
      {\n      *size_class = class_array_[idx + kClassArraySize];\n    } else {\n
      \     *size_class = class_array_[idx] + policy.scaled_numa_partition();\n    }\n\n
      \   // Don't search for suitably aligned class for operator new\n    // (when
      alignment is statically known to be no greater than kAlignment).\n    // But
      don't do this check at runtime when the alignment is dynamic.\n    // We assume
      aligned allocation functions are not used with small alignment\n    // most
      of the time (does not make much sense). And for alignment larger\n    // than
      kAlignment, this is just an unnecessary check that always fails.\n    if (__builtin_constant_p(align)
      &&\n        align <= static_cast<size_t>(kAlignment)) {\n      return true;\n
      \   }\n\n    // Predict that size aligned allocs most often directly map to
      a proper\n    // size class, i.e., multiples of 32, 64, etc, matching our class
      sizes.\n    // Since alignment is <= kPageSize, we must find a suitable class\n
      \   // (at least kMaxSize is aligned on kPageSize).\n    static_assert((kMaxSize
      % kPageSize) == 0, \"the loop below won't work\");\n    // Profiles say we usually
      get the right class based on the size,\n    // so avoid the loop overhead on
      the fast path.\n    if (ABSL_PREDICT_FALSE(class_to_size(*size_class) & (align
      - 1))) {\n      do {\n        ++*size_class;\n      } while (ABSL_PREDICT_FALSE(class_to_size(*size_class)
      & (align - 1)));\n    }\n    return true;\n  }\n\n  // Returns size class for
      given size, or 0 if this instance has not been\n  // initialized yet. REQUIRES:
      size <= kMaxSize.\n  template <typename Policy>\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      inline size_t SizeClass(Policy policy,\n                                                       size_t
      size) const {\n    ASSUME(size <= kMaxSize);\n    size_t ret = 0;\n    GetSizeClass(policy,
      size, &ret);\n    return ret;\n  }\n\n  // Get the byte-size for a specified
      class. REQUIRES: size_class <=\n  // kNumClasses.\n  //\n  // clang does not
      correctly optimize out the array bounds check,\n  // leading to high overhead.
      Disable UBSan to avoid the performance\n  // regression.\n  // TODO(b/406313446):
      Remove ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED once clang\n  // optimizes out the
      array bounds check.\n  ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      inline size_t class_to_size(\n      size_t size_class) const {\n    TC_ASSERT_LT(size_class,
      kNumClasses);\n    return class_to_size_[size_class];\n  }\n\n  // Mapping from
      size class to number of pages to allocate at a time\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      inline size_t class_to_pages(\n      size_t size_class) const {\n    TC_ASSERT_LT(size_class,
      kNumClasses);\n    return class_to_pages_[size_class];\n  }\n\n  // Returns
      the inclusive range of possible sizes for a given size class.\n  // REQUIRES:
      size_class < kNumClasses.\n  std::pair<size_t, size_t> class_to_size_range(size_t
      size_class) const {\n    TC_ASSERT_LT(size_class, kNumClasses);\n    if (size_class
      == 0) {\n      return {0, 0};\n    }\n    size_t max_size = class_to_size_[size_class];\n
      \   size_t min_size = class_to_size_[size_class - 1] + 1;\n    if (min_size
      > max_size) {\n      // TCMalloc places the NUMA and cold size classes after
      the hot ones.\n      // If the \"prior\" size class is actually larger in bytes,
      then we fell\n      // off the beginning of one of these other size classes
      and should use\n      // 0 as the min size.\n      min_size = 0;\n    }\n    return
      {min_size, max_size};\n  }\n\n  // Number of objects to move between a per-thread
      list and a central\n  // list in one shot.  We want this to be not too small
      so we can\n  // amortize the lock overhead for accessing the central list.  Making\n
      \ // it too big may temporarily cause unnecessary memory wastage in the\n  //
      per-thread free list until the scavenger cleans up the list.\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      inline SizeMap::BatchSize num_objects_to_move(\n      size_t size_class) const
      {\n    TC_ASSERT_LT(size_class, kNumClasses);\n    return num_objects_to_move_[size_class];\n
      \ } ABSL_ATTRIBUTE_ALWAYS_INLINE absl::Span<const size_t> ColdSizeClasses()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:80,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sizemap.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: tcmalloc_internal::SizeMap::Shr
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LE
    - tcmalloc_internal::max
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE Shr(size_t value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:142,1
    - Dst: tcmalloc_internal::SizeMap::Shr
      Src: /src/tcmalloc/tcmalloc/sizemap.h:143,1
    - Dst: tcmalloc_internal::SizeMap::Shr
      Src: /src/tcmalloc/tcmalloc/sizemap.h:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - ' idx'
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: tcmalloc_internal::SizeMap::ClassIndexMaybe
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SizeMap::Shr
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE ClassIndexMaybe(size_t s,\n                                                                  size_t&
      idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/sizemap.h:154,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: tcmalloc_internal::SizeMap::ClassIndex
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 2
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::SizeMap::ClassIndexMaybe
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE ClassIndex(size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::SizeMap::SizeMap
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SizeMap()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/sizemap.h:215,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:216,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/sizemap.h:216,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:218,1
    - Dst: ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/sizemap.h:219,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:224,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:224,1
    - Dst: ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/sizemap.h:225,1
    - Dst: Policy::is_cold
      Src: /src/tcmalloc/tcmalloc/sizemap.h:228,1
    - Dst: Policy::scaled_numa_partition
      Src: /src/tcmalloc/tcmalloc/sizemap.h:231,1
    - Dst: __builtin_constant_p
      Src: /src/tcmalloc/tcmalloc/sizemap.h:240,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:241,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:252,1
    - Dst: tcmalloc_internal::SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:252,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:255,1
    - Dst: tcmalloc_internal::SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - policy
    - size
    - size_class
    argTypes:
    - Policy
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 258
    functionName: tcmalloc_internal::SizeMap::GetSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - __builtin_constant_p
    - Policy::align
    - Policy::scaled_numa_partition
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::SizeMap::ClassIndexMaybe
    - static_cast<size_t>
    - Policy::is_cold
    - tcmalloc_internal::SizeMap::class_to_size
    - ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
    - TC_ASSERT
    - absl::has_single_bit
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
    signature: ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED GetSizeClass(Policy policy, size_t
      size, size_t* size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/sizemap.h:265,1
    - Dst: tcmalloc_internal::SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - policy
    - size
    argTypes:
    - Policy
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 5
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: tcmalloc_internal::SizeMap::SizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - tcmalloc_internal::SizeMap::GetSizeClass
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE SizeClass(Policy policy,\n                                                       size_t
      size) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: tcmalloc_internal::SizeMap::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: size_t
    signature: "size_t class_to_size(\n      size_t size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: tcmalloc_internal::SizeMap::class_to_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE class_to_pages(\n      size_t size_class)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: tcmalloc_internal::SizeMap::class_to_size_range
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: std::pair<size_t, size_t>
    signature: std::pair<size_t, size_t> class_to_size_range(size_t size_class) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:80,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sizemap.h:80,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:142,1
    - Dst: Shr<3>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:143,1
    - Dst: Shr<7>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:146,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/sizemap.h:154,1
    - Dst: ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:154,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/sizemap.h:215,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:216,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/sizemap.h:216,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:218,1
    - Dst: ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/sizemap.h:219,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:224,1
    - Dst: ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:224,1
    - Dst: ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/sizemap.h:225,1
    - Dst: is_cold
      Src: /src/tcmalloc/tcmalloc/sizemap.h:228,1
    - Dst: scaled_numa_partition
      Src: /src/tcmalloc/tcmalloc/sizemap.h:231,1
    - Dst: __builtin_constant_p
      Src: /src/tcmalloc/tcmalloc/sizemap.h:240,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:241,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:252,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:252,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:255,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:255,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/sizemap.h:265,1
    - Dst: GetSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.h:267,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:282,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:289,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:296,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/sizemap.h:317,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:319,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 326
    functionName: "ABSL_ATTRIBUTE_ALWAYS_INLINE absl::Span<const size_t> ColdSizeClasses()\n
      \     const"
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - ClassIndexMaybe
    - ABSL_PREDICT_FALSE
    - scaled_numa_partition
    - GetSizeClass
    - absl::has_single_bit
    - __builtin_constant_p
    - ASSUME
    - Shr<3>
    - TC_ASSERT
    - is_cold
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::max
    - ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
    - num_objects_to_move
    - Shr<7>
    - static_cast<size_t>
    - TC_ASSERT_LE
    - align
    - TC_CHECK
    - TC_ASSERT_LT
    - class_to_size
    linkageType: ''
    returnType: "class SizeMap {\n public:\n  static constexpr int kLargeSize = 1024;\n
      \ static constexpr int kLargeSizeAlignment = 128;\n\n private:\n  // Shifts
      the provided value right by `n` bits.\n  //\n  // TODO(b/281517865): the LLVM
      codegen for ClassIndexMaybe() doesn't use\n  // an immediate shift for the `>>
      3` and `>> 7` operations due to a missed\n  // optimization / miscompile in
      clang, resulting in this codegen:\n  //\n  //   mov        $0x3,%ecx\n  //   mov
      \       $0x7,%eax\n  //   add        %edi,%eax\n  //   shr        %cl,%rax\n
      \ //\n  // Immediate shift has latency 1 vs 3 for cl shift, and also the `add`
      can\n  // be far more efficient, which we force into inline assembly here:\n
      \ //\n  //   lea        0x7(%rdi),%rax\n  //   shr        $0x3,%rax\n  //\n
      \ // Benchmark:\n  // BM_new_sized_delete/1      6.51ns \xB1 5%   6.00ns \xB1
      1%   -7.73%  (p=0.000)\n  // BM_new_sized_delete/8      6.51ns \xB1 5%   6.01ns
      \xB1 1%   -7.66%  (p=0.000)\n  // BM_new_sized_delete/64     6.52ns \xB1 5%
      \  6.04ns \xB1 1%   -7.37%  (p=0.000)\n  // BM_new_sized_delete/512    6.71ns
      \xB1 6%   6.21ns \xB1 1%   -7.40%  (p=0.000)\n  template <int n>\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      static inline size_t Shr(size_t value) {\n    TC_ASSERT_LE(value, std::numeric_limits<uint32_t>::max());\n#if
      defined(__x86_64__)\n    asm(\"shrl %[n], %k[value]\" : [value] \"+r\"(value)
      : [n] \"n\"(n));\n    return value;\n#elif defined(__aarch64__)\n    size_t
      result;\n    asm(\"lsr %[result], %[value], %[n]\"\n        : [result] \"=r\"(result)\n
      \       : [value] \"r\"(value), [n] \"n\"(n));\n    return result;\n#else\n
      \   return value >> n;\n#endif\n  }\n\n  //-------------------------------------------------------------------\n
      \ // Mapping from size to size_class and vice versa\n  //-------------------------------------------------------------------\n\n
      \ // Sizes <= 1024 have an alignment >= 8.  So for such sizes we have an\n  //
      array indexed by ceil(size/8).  Sizes > 1024 have an alignment >= 128.\n  //
      So for these larger sizes we have an array indexed by ceil(size/128).\n  //\n
      \ // We flatten both logical arrays into one physical array and use\n  // arithmetic
      to compute an appropriate index.  The constants used by\n  // ClassIndex() were
      selected to make the flattening work.\n  //\n  // Examples:\n  //   Size       Expression
      \                     Index\n  //   -------------------------------------------------------\n
      \ //   0          (0 + 7) / 8                     0\n  //   1          (1 +
      7) / 8                     1\n  //   ...\n  //   1024       (1024 + 7) / 8                  128\n
      \ //   1025       (1025 + 127 + (120<<7)) / 128   129\n  //   ...\n  //   32768
      \     (32768 + 127 + (120<<7)) / 128  376\n  static constexpr size_t kClassArraySize
      =\n      ((kMaxSize + 127 + (120 << 7)) >> 7) + 1;\n\n  // Batch size is the
      number of objects to move at once.\n  typedef unsigned char BatchSize;\n\n  //
      class_array_ is accessed on every malloc, so is very hot.  We make it the\n
      \ // first member so that it inherits the overall alignment of a SizeMap\n  //
      instance.  In particular, if we create a SizeMap instance that's cache-line\n
      \ // aligned, this member is also aligned to the width of a cache line.\n  CompactSizeClass\n
      \     class_array_[kClassArraySize * (kHasExpandedClasses ? 2 : 1)] = {0};\n\n
      \ // Number of objects to move between a per-thread list and a central\n  //
      list in one shot.  We want this to be not too small so we can\n  // amortize
      the lock overhead for accessing the central list.  Making\n  // it too big may
      temporarily cause unnecessary memory wastage in the\n  // per-thread free list
      until the scavenger cleans up the list.\n  BatchSize num_objects_to_move_[kNumClasses]
      = {0};\n\n  // If size is no more than kMaxSize, compute index of the\n  //
      class_array[] entry for it, putting the class index in output\n  // parameter
      idx and returning true. Otherwise return false.\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      static inline bool ClassIndexMaybe(size_t s,\n                                                                  size_t&
      idx) {\n    if (ABSL_PREDICT_TRUE(s <= kLargeSize)) {\n      idx = Shr<3>(s
      + 7);\n      return true;\n    } else if (s <= kMaxSize) {\n      idx = Shr<7>(s
      + 127 + (120 << 7));\n      return true;\n    }\n    return false;\n  }\n\n
      \ ABSL_ATTRIBUTE_ALWAYS_INLINE static inline size_t ClassIndex(size_t s) {\n
      \   size_t ret;\n    TC_CHECK(ClassIndexMaybe(s, ret));\n    return ret;\n  }\n\n
      \ // Mapping from size class to number of pages to allocate at a time\n  unsigned
      char class_to_pages_[kNumClasses] = {0};\n\n  // Mapping from size class to
      max size storable in that class\n  uint32_t class_to_size_[kNumClasses] = {0};\n\n
      protected:\n  // Set the give size classes to be used by TCMalloc.\n  bool SetSizeClasses(absl::Span<const
      SizeClassInfo> size_classes);\n\n  // Check that the size classes meet all requirements.\n
      \ static bool ValidSizeClasses(absl::Span<const SizeClassInfo> size_classes);\n\n
      \ size_t cold_sizes_[kNumBaseClasses] = {0};\n  size_t cold_sizes_count_ = 0;\n\n
      public:\n  // Returns size classes to use in the current process.\n  static
      const SizeClasses& CurrentClasses();\n\n  // Checks assumptions used to generate
      the current size classes.\n  // Prints any wrong assumptions to stderr.\n  //\n
      \ // Returns true if all assumptions are correct, else returns false.\n  [[nodiscard]]
      static bool CheckAssumptions();\n\n  // constexpr constructor to guarantee zero-initialization
      at compile-time.  We\n  // rely on Init() to populate things.\n  constexpr SizeMap()
      = default;\n\n  // Initialize the mapping arrays.  Returns true on success.\n
      \ bool Init(absl::Span<const SizeClassInfo> size_classes);\n\n  // Returns the
      size class for size `size` respecting the alignment\n  // & access requirements
      of `policy`.\n  //\n  // Returns true on success. Returns false if either:\n
      \ // - the size exceeds the maximum size class size.\n  // - the align size
      is greater or equal to the default page size\n  // - no matching properly aligned
      size class is available\n  //\n  // Requires that policy.align() returns a non-zero
      power of 2.\n  //\n  // When policy.align() = 1 the default alignment of the
      size table will be\n  // used. If policy.align() is constexpr 1 (e.g. when using\n
      \ // DefaultAlignPolicy) then alignment-related code will optimize away.\n  //\n
      \ // TODO(b/171978365): Replace the output parameter with returning\n  // absl::optional<uint32_t>.\n
      \ template <typename Policy>\n  // clang does not correctly optimize out the
      array bounds check,\n  // leading to high overhead. Disable UBSan to avoid the
      performance\n  // regression.\n  // TODO(b/406313446): Remove ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
      once clang\n  // optimizes out the array bounds check.\n  ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
      ABSL_ATTRIBUTE_ALWAYS_INLINE inline bool\n  GetSizeClass(Policy policy, size_t
      size, size_t* size_class) const {\n    const size_t align = policy.align();\n
      \   TC_ASSERT(absl::has_single_bit(align));\n\n    if (ABSL_PREDICT_FALSE(align
      > kPageSize)) {\n      ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED(size_class, sizeof(*size_class));\n
      \     return false;\n    }\n\n    size_t idx;\n    if (ABSL_PREDICT_FALSE(!ClassIndexMaybe(size,
      idx))) {\n      ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED(size_class, sizeof(*size_class));\n
      \     return false;\n    }\n    if (kHasExpandedClasses && policy.is_cold())
      {\n      *size_class = class_array_[idx + kClassArraySize];\n    } else {\n
      \     *size_class = class_array_[idx] + policy.scaled_numa_partition();\n    }\n\n
      \   // Don't search for suitably aligned class for operator new\n    // (when
      alignment is statically known to be no greater than kAlignment).\n    // But
      don't do this check at runtime when the alignment is dynamic.\n    // We assume
      aligned allocation functions are not used with small alignment\n    // most
      of the time (does not make much sense). And for alignment larger\n    // than
      kAlignment, this is just an unnecessary check that always fails.\n    if (__builtin_constant_p(align)
      &&\n        align <= static_cast<size_t>(kAlignment)) {\n      return true;\n
      \   }\n\n    // Predict that size aligned allocs most often directly map to
      a proper\n    // size class, i.e., multiples of 32, 64, etc, matching our class
      sizes.\n    // Since alignment is <= kPageSize, we must find a suitable class\n
      \   // (at least kMaxSize is aligned on kPageSize).\n    static_assert((kMaxSize
      % kPageSize) == 0, \"the loop below won't work\");\n    // Profiles say we usually
      get the right class based on the size,\n    // so avoid the loop overhead on
      the fast path.\n    if (ABSL_PREDICT_FALSE(class_to_size(*size_class) & (align
      - 1))) {\n      do {\n        ++*size_class;\n      } while (ABSL_PREDICT_FALSE(class_to_size(*size_class)
      & (align - 1)));\n    }\n    return true;\n  }\n\n  // Returns size class for
      given size, or 0 if this instance has not been\n  // initialized yet. REQUIRES:
      size <= kMaxSize.\n  template <typename Policy>\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      inline size_t SizeClass(Policy policy,\n                                                       size_t
      size) const {\n    ASSUME(size <= kMaxSize);\n    size_t ret = 0;\n    GetSizeClass(policy,
      size, &ret);\n    return ret;\n  }\n\n  // Get the byte-size for a specified
      class. REQUIRES: size_class <=\n  // kNumClasses.\n  //\n  // clang does not
      correctly optimize out the array bounds check,\n  // leading to high overhead.
      Disable UBSan to avoid the performance\n  // regression.\n  // TODO(b/406313446):
      Remove ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED once clang\n  // optimizes out the
      array bounds check.\n  ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      inline size_t class_to_size(\n      size_t size_class) const {\n    TC_ASSERT_LT(size_class,
      kNumClasses);\n    return class_to_size_[size_class];\n  }\n\n  // Mapping from
      size class to number of pages to allocate at a time\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      inline size_t class_to_pages(\n      size_t size_class) const {\n    TC_ASSERT_LT(size_class,
      kNumClasses);\n    return class_to_pages_[size_class];\n  }\n\n  // Returns
      the inclusive range of possible sizes for a given size class.\n  // REQUIRES:
      size_class < kNumClasses.\n  std::pair<size_t, size_t> class_to_size_range(size_t
      size_class) const {\n    TC_ASSERT_LT(size_class, kNumClasses);\n    if (size_class
      == 0) {\n      return {0, 0};\n    }\n    size_t max_size = class_to_size_[size_class];\n
      \   size_t min_size = class_to_size_[size_class - 1] + 1;\n    if (min_size
      > max_size) {\n      // TCMalloc places the NUMA and cold size classes after
      the hot ones.\n      // If the \"prior\" size class is actually larger in bytes,
      then we fell\n      // off the beginning of one of these other size classes
      and should use\n      // 0 as the min size.\n      min_size = 0;\n    }\n    return
      {min_size, max_size};\n  }\n\n  // Number of objects to move between a per-thread
      list and a central\n  // list in one shot.  We want this to be not too small
      so we can\n  // amortize the lock overhead for accessing the central list.  Making\n
      \ // it too big may temporarily cause unnecessary memory wastage in the\n  //
      per-thread free list until the scavenger cleans up the list.\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      inline SizeMap::BatchSize num_objects_to_move(\n      size_t size_class) const
      {\n    TC_ASSERT_LT(size_class, kNumClasses);\n    return num_objects_to_move_[size_class];\n
      \ }"
    signature: "class SizeMap {\n public:\n  static constexpr int kLargeSize = 1024;\n
      \ static constexpr int kLargeSizeAlignment = 128;\n\n private:\n  // Shifts
      the provided value right by `n` bits.\n  //\n  // TODO(b/281517865): the LLVM
      codegen for ClassIndexMaybe() doesn't use\n  // an immediate shift for the `>>
      3` and `>> 7` operations due to a missed\n  // optimization / miscompile in
      clang, resulting in this codegen:\n  //\n  //   mov        $0x3,%ecx\n  //   mov
      \       $0x7,%eax\n  //   add        %edi,%eax\n  //   shr        %cl,%rax\n
      \ //\n  // Immediate shift has latency 1 vs 3 for cl shift, and also the `add`
      can\n  // be far more efficient, which we force into inline assembly here:\n
      \ //\n  //   lea        0x7(%rdi),%rax\n  //   shr        $0x3,%rax\n  //\n
      \ // Benchmark:\n  // BM_new_sized_delete/1      6.51ns \xB1 5%   6.00ns \xB1
      1%   -7.73%  (p=0.000)\n  // BM_new_sized_delete/8      6.51ns \xB1 5%   6.01ns
      \xB1 1%   -7.66%  (p=0.000)\n  // BM_new_sized_delete/64     6.52ns \xB1 5%
      \  6.04ns \xB1 1%   -7.37%  (p=0.000)\n  // BM_new_sized_delete/512    6.71ns
      \xB1 6%   6.21ns \xB1 1%   -7.40%  (p=0.000)\n  template <int n>\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      static inline size_t Shr(size_t value) {\n    TC_ASSERT_LE(value, std::numeric_limits<uint32_t>::max());\n#if
      defined(__x86_64__)\n    asm(\"shrl %[n], %k[value]\" : [value] \"+r\"(value)
      : [n] \"n\"(n));\n    return value;\n#elif defined(__aarch64__)\n    size_t
      result;\n    asm(\"lsr %[result], %[value], %[n]\"\n        : [result] \"=r\"(result)\n
      \       : [value] \"r\"(value), [n] \"n\"(n));\n    return result;\n#else\n
      \   return value >> n;\n#endif\n  }\n\n  //-------------------------------------------------------------------\n
      \ // Mapping from size to size_class and vice versa\n  //-------------------------------------------------------------------\n\n
      \ // Sizes <= 1024 have an alignment >= 8.  So for such sizes we have an\n  //
      array indexed by ceil(size/8).  Sizes > 1024 have an alignment >= 128.\n  //
      So for these larger sizes we have an array indexed by ceil(size/128).\n  //\n
      \ // We flatten both logical arrays into one physical array and use\n  // arithmetic
      to compute an appropriate index.  The constants used by\n  // ClassIndex() were
      selected to make the flattening work.\n  //\n  // Examples:\n  //   Size       Expression
      \                     Index\n  //   -------------------------------------------------------\n
      \ //   0          (0 + 7) / 8                     0\n  //   1          (1 +
      7) / 8                     1\n  //   ...\n  //   1024       (1024 + 7) / 8                  128\n
      \ //   1025       (1025 + 127 + (120<<7)) / 128   129\n  //   ...\n  //   32768
      \     (32768 + 127 + (120<<7)) / 128  376\n  static constexpr size_t kClassArraySize
      =\n      ((kMaxSize + 127 + (120 << 7)) >> 7) + 1;\n\n  // Batch size is the
      number of objects to move at once.\n  typedef unsigned char BatchSize;\n\n  //
      class_array_ is accessed on every malloc, so is very hot.  We make it the\n
      \ // first member so that it inherits the overall alignment of a SizeMap\n  //
      instance.  In particular, if we create a SizeMap instance that's cache-line\n
      \ // aligned, this member is also aligned to the width of a cache line.\n  CompactSizeClass\n
      \     class_array_[kClassArraySize * (kHasExpandedClasses ? 2 : 1)] = {0};\n\n
      \ // Number of objects to move between a per-thread list and a central\n  //
      list in one shot.  We want this to be not too small so we can\n  // amortize
      the lock overhead for accessing the central list.  Making\n  // it too big may
      temporarily cause unnecessary memory wastage in the\n  // per-thread free list
      until the scavenger cleans up the list.\n  BatchSize num_objects_to_move_[kNumClasses]
      = {0};\n\n  // If size is no more than kMaxSize, compute index of the\n  //
      class_array[] entry for it, putting the class index in output\n  // parameter
      idx and returning true. Otherwise return false.\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      static inline bool ClassIndexMaybe(size_t s,\n                                                                  size_t&
      idx) {\n    if (ABSL_PREDICT_TRUE(s <= kLargeSize)) {\n      idx = Shr<3>(s
      + 7);\n      return true;\n    } else if (s <= kMaxSize) {\n      idx = Shr<7>(s
      + 127 + (120 << 7));\n      return true;\n    }\n    return false;\n  }\n\n
      \ ABSL_ATTRIBUTE_ALWAYS_INLINE static inline size_t ClassIndex(size_t s) {\n
      \   size_t ret;\n    TC_CHECK(ClassIndexMaybe(s, ret));\n    return ret;\n  }\n\n
      \ // Mapping from size class to number of pages to allocate at a time\n  unsigned
      char class_to_pages_[kNumClasses] = {0};\n\n  // Mapping from size class to
      max size storable in that class\n  uint32_t class_to_size_[kNumClasses] = {0};\n\n
      protected:\n  // Set the give size classes to be used by TCMalloc.\n  bool SetSizeClasses(absl::Span<const
      SizeClassInfo> size_classes);\n\n  // Check that the size classes meet all requirements.\n
      \ static bool ValidSizeClasses(absl::Span<const SizeClassInfo> size_classes);\n\n
      \ size_t cold_sizes_[kNumBaseClasses] = {0};\n  size_t cold_sizes_count_ = 0;\n\n
      public:\n  // Returns size classes to use in the current process.\n  static
      const SizeClasses& CurrentClasses();\n\n  // Checks assumptions used to generate
      the current size classes.\n  // Prints any wrong assumptions to stderr.\n  //\n
      \ // Returns true if all assumptions are correct, else returns false.\n  [[nodiscard]]
      static bool CheckAssumptions();\n\n  // constexpr constructor to guarantee zero-initialization
      at compile-time.  We\n  // rely on Init() to populate things.\n  constexpr SizeMap()
      = default;\n\n  // Initialize the mapping arrays.  Returns true on success.\n
      \ bool Init(absl::Span<const SizeClassInfo> size_classes);\n\n  // Returns the
      size class for size `size` respecting the alignment\n  // & access requirements
      of `policy`.\n  //\n  // Returns true on success. Returns false if either:\n
      \ // - the size exceeds the maximum size class size.\n  // - the align size
      is greater or equal to the default page size\n  // - no matching properly aligned
      size class is available\n  //\n  // Requires that policy.align() returns a non-zero
      power of 2.\n  //\n  // When policy.align() = 1 the default alignment of the
      size table will be\n  // used. If policy.align() is constexpr 1 (e.g. when using\n
      \ // DefaultAlignPolicy) then alignment-related code will optimize away.\n  //\n
      \ // TODO(b/171978365): Replace the output parameter with returning\n  // absl::optional<uint32_t>.\n
      \ template <typename Policy>\n  // clang does not correctly optimize out the
      array bounds check,\n  // leading to high overhead. Disable UBSan to avoid the
      performance\n  // regression.\n  // TODO(b/406313446): Remove ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
      once clang\n  // optimizes out the array bounds check.\n  ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
      ABSL_ATTRIBUTE_ALWAYS_INLINE inline bool\n  GetSizeClass(Policy policy, size_t
      size, size_t* size_class) const {\n    const size_t align = policy.align();\n
      \   TC_ASSERT(absl::has_single_bit(align));\n\n    if (ABSL_PREDICT_FALSE(align
      > kPageSize)) {\n      ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED(size_class, sizeof(*size_class));\n
      \     return false;\n    }\n\n    size_t idx;\n    if (ABSL_PREDICT_FALSE(!ClassIndexMaybe(size,
      idx))) {\n      ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED(size_class, sizeof(*size_class));\n
      \     return false;\n    }\n    if (kHasExpandedClasses && policy.is_cold())
      {\n      *size_class = class_array_[idx + kClassArraySize];\n    } else {\n
      \     *size_class = class_array_[idx] + policy.scaled_numa_partition();\n    }\n\n
      \   // Don't search for suitably aligned class for operator new\n    // (when
      alignment is statically known to be no greater than kAlignment).\n    // But
      don't do this check at runtime when the alignment is dynamic.\n    // We assume
      aligned allocation functions are not used with small alignment\n    // most
      of the time (does not make much sense). And for alignment larger\n    // than
      kAlignment, this is just an unnecessary check that always fails.\n    if (__builtin_constant_p(align)
      &&\n        align <= static_cast<size_t>(kAlignment)) {\n      return true;\n
      \   }\n\n    // Predict that size aligned allocs most often directly map to
      a proper\n    // size class, i.e., multiples of 32, 64, etc, matching our class
      sizes.\n    // Since alignment is <= kPageSize, we must find a suitable class\n
      \   // (at least kMaxSize is aligned on kPageSize).\n    static_assert((kMaxSize
      % kPageSize) == 0, \"the loop below won't work\");\n    // Profiles say we usually
      get the right class based on the size,\n    // so avoid the loop overhead on
      the fast path.\n    if (ABSL_PREDICT_FALSE(class_to_size(*size_class) & (align
      - 1))) {\n      do {\n        ++*size_class;\n      } while (ABSL_PREDICT_FALSE(class_to_size(*size_class)
      & (align - 1)));\n    }\n    return true;\n  }\n\n  // Returns size class for
      given size, or 0 if this instance has not been\n  // initialized yet. REQUIRES:
      size <= kMaxSize.\n  template <typename Policy>\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      inline size_t SizeClass(Policy policy,\n                                                       size_t
      size) const {\n    ASSUME(size <= kMaxSize);\n    size_t ret = 0;\n    GetSizeClass(policy,
      size, &ret);\n    return ret;\n  }\n\n  // Get the byte-size for a specified
      class. REQUIRES: size_class <=\n  // kNumClasses.\n  //\n  // clang does not
      correctly optimize out the array bounds check,\n  // leading to high overhead.
      Disable UBSan to avoid the performance\n  // regression.\n  // TODO(b/406313446):
      Remove ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED once clang\n  // optimizes out the
      array bounds check.\n  ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      inline size_t class_to_size(\n      size_t size_class) const {\n    TC_ASSERT_LT(size_class,
      kNumClasses);\n    return class_to_size_[size_class];\n  }\n\n  // Mapping from
      size class to number of pages to allocate at a time\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      inline size_t class_to_pages(\n      size_t size_class) const {\n    TC_ASSERT_LT(size_class,
      kNumClasses);\n    return class_to_pages_[size_class];\n  }\n\n  // Returns
      the inclusive range of possible sizes for a given size class.\n  // REQUIRES:
      size_class < kNumClasses.\n  std::pair<size_t, size_t> class_to_size_range(size_t
      size_class) const {\n    TC_ASSERT_LT(size_class, kNumClasses);\n    if (size_class
      == 0) {\n      return {0, 0};\n    }\n    size_t max_size = class_to_size_[size_class];\n
      \   size_t min_size = class_to_size_[size_class - 1] + 1;\n    if (min_size
      > max_size) {\n      // TCMalloc places the NUMA and cold size classes after
      the hot ones.\n      // If the \"prior\" size class is actually larger in bytes,
      then we fell\n      // off the beginning of one of these other size classes
      and should use\n      // 0 as the min size.\n      min_size = 0;\n    }\n    return
      {min_size, max_size};\n  }\n\n  // Number of objects to move between a per-thread
      list and a central\n  // list in one shot.  We want this to be not too small
      so we can\n  // amortize the lock overhead for accessing the central list.  Making\n
      \ // it too big may temporarily cause unnecessary memory wastage in the\n  //
      per-thread free list until the scavenger cleans up the list.\n  ABSL_ATTRIBUTE_ALWAYS_INLINE
      inline SizeMap::BatchSize num_objects_to_move(\n      size_t size_class) const
      {\n    TC_ASSERT_LT(size_class, kNumClasses);\n    return num_objects_to_move_[size_class];\n
      \ } ABSL_ATTRIBUTE_ALWAYS_INLINE absl::Span<const size_t> ColdSizeClasses()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:80,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sizemap.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: tcmalloc_internal::SizeMap::Shr
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_LE
    - tcmalloc_internal::max
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE Shr(size_t value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:142,1
    - Dst: tcmalloc_internal::SizeMap::Shr
      Src: /src/tcmalloc/tcmalloc/sizemap.h:143,1
    - Dst: tcmalloc_internal::SizeMap::Shr
      Src: /src/tcmalloc/tcmalloc/sizemap.h:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - ' idx'
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: tcmalloc_internal::SizeMap::ClassIndexMaybe
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::SizeMap::Shr
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE ClassIndexMaybe(size_t s,\n                                                                  size_t&
      idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/sizemap.h:154,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: tcmalloc_internal::SizeMap::ClassIndex
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 2
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::SizeMap::ClassIndexMaybe
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE ClassIndex(size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::SizeMap::SizeMap
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SizeMap()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/sizemap.h:215,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:216,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/sizemap.h:216,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:218,1
    - Dst: ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/sizemap.h:219,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:224,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:224,1
    - Dst: ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/sizemap.h:225,1
    - Dst: Policy::is_cold
      Src: /src/tcmalloc/tcmalloc/sizemap.h:228,1
    - Dst: Policy::scaled_numa_partition
      Src: /src/tcmalloc/tcmalloc/sizemap.h:231,1
    - Dst: __builtin_constant_p
      Src: /src/tcmalloc/tcmalloc/sizemap.h:240,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:241,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:252,1
    - Dst: tcmalloc_internal::SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:252,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:255,1
    - Dst: tcmalloc_internal::SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - policy
    - size
    - size_class
    argTypes:
    - Policy
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 258
    functionName: tcmalloc_internal::SizeMap::GetSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 1
    functionsReached:
    - __builtin_constant_p
    - Policy::align
    - Policy::scaled_numa_partition
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::SizeMap::ClassIndexMaybe
    - static_cast<size_t>
    - Policy::is_cold
    - tcmalloc_internal::SizeMap::class_to_size
    - ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
    - TC_ASSERT
    - absl::has_single_bit
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
    signature: ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED GetSizeClass(Policy policy, size_t
      size, size_t* size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/sizemap.h:265,1
    - Dst: tcmalloc_internal::SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - policy
    - size
    argTypes:
    - Policy
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 5
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: tcmalloc_internal::SizeMap::SizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - tcmalloc_internal::SizeMap::GetSizeClass
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE SizeClass(Policy policy,\n                                                       size_t
      size) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: tcmalloc_internal::SizeMap::class_to_size
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: size_t
    signature: "size_t class_to_size(\n      size_t size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: tcmalloc_internal::SizeMap::class_to_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE class_to_pages(\n      size_t size_class)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: tcmalloc_internal::SizeMap::class_to_size_range
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    linkageType: ''
    returnType: std::pair<size_t, size_t>
    signature: std::pair<size_t, size_t> class_to_size_range(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.h:54,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.h:55,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.h:58,1
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/stats.h:148,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.h:232,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/stats.h:237,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/stats.h:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 242
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::base_internal::CycleClock::Now
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::Format
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: tcmalloc_internal::BackingStats
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BackingStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - BackingStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: '& operator+=(BackingStats rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats & operator+=(BackingStats rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - BackingStats
    - BackingStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: operator+(BackingStats lhs, BackingStats rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats operator+(BackingStats lhs, BackingStats rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::raw_num
      Src: /src/tcmalloc/tcmalloc/stats.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - SmallSpanStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: '& operator+=(SmallSpanStats rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::raw_num
    linkageType: ''
    returnType: SmallSpanStats
    signature: SmallSpanStats & operator+=(SmallSpanStats rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - SmallSpanStats
    - SmallSpanStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: operator+(SmallSpanStats lhs, SmallSpanStats rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SmallSpanStats
    signature: SmallSpanStats operator+(SmallSpanStats lhs, SmallSpanStats rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LargeSpanStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: '& operator+=(LargeSpanStats rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LargeSpanStats
    signature: LargeSpanStats & operator+=(LargeSpanStats rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - LargeSpanStats
    - LargeSpanStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: operator+(LargeSpanStats lhs, LargeSpanStats rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LargeSpanStats
    signature: LargeSpanStats operator+(LargeSpanStats lhs, LargeSpanStats rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - PageReleaseStats
    - PageReleaseStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: "operator+(const PageReleaseStats& lhs,\n                                              const
      PageReleaseStats& rhs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PageReleaseStats
    signature: "PageReleaseStats operator+(const PageReleaseStats& lhs,\n                                              const
      PageReleaseStats& rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PageReleaseStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: '& operator+=(const PageReleaseStats& other)'
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PageReleaseStats
    signature: PageReleaseStats & operator+=(const PageReleaseStats& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/stats.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' v'
    argTypes:
    - Sink
    - PageReleaseStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const PageReleaseStats& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - PageReleaseStats
    - PageReleaseStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: "operator==(const PageReleaseStats& lhs,\n                                   const
      PageReleaseStats& rhs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator==(const PageReleaseStats& lhs,\n                                   const
      PageReleaseStats& rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - PageReleaseStats
    - PageReleaseStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: "operator!=(const PageReleaseStats& lhs,\n                                   const
      PageReleaseStats& rhs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator!=(const PageReleaseStats& lhs,\n                                   const
      PageReleaseStats& rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::PageAllocInfo::small
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length small() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: tcmalloc_internal::PageAllocInfo::slack
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length slack() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: tcmalloc_internal::PageAllocInfo::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Alloc(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: tcmalloc_internal::PageAllocInfo::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Free(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: tcmalloc_internal::BackingStats
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BackingStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - BackingStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: '& operator+=(BackingStats rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats & operator+=(BackingStats rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - BackingStats
    - BackingStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: operator+(BackingStats lhs, BackingStats rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats operator+(BackingStats lhs, BackingStats rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/stats.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - SmallSpanStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: '& operator+=(SmallSpanStats rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached:
    - raw_num
    linkageType: ''
    returnType: SmallSpanStats
    signature: SmallSpanStats & operator+=(SmallSpanStats rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - SmallSpanStats
    - SmallSpanStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: operator+(SmallSpanStats lhs, SmallSpanStats rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SmallSpanStats
    signature: SmallSpanStats operator+(SmallSpanStats lhs, SmallSpanStats rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LargeSpanStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: '& operator+=(LargeSpanStats rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LargeSpanStats
    signature: LargeSpanStats & operator+=(LargeSpanStats rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - LargeSpanStats
    - LargeSpanStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: operator+(LargeSpanStats lhs, LargeSpanStats rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LargeSpanStats
    signature: LargeSpanStats operator+(LargeSpanStats lhs, LargeSpanStats rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - PageReleaseStats
    - PageReleaseStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: "operator+(const PageReleaseStats& lhs,\n                                              const
      PageReleaseStats& rhs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PageReleaseStats
    signature: "PageReleaseStats operator+(const PageReleaseStats& lhs,\n                                              const
      PageReleaseStats& rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PageReleaseStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: '& operator+=(const PageReleaseStats& other)'
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PageReleaseStats
    signature: PageReleaseStats & operator+=(const PageReleaseStats& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/stats.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' v'
    argTypes:
    - Sink
    - PageReleaseStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const PageReleaseStats& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - PageReleaseStats
    - PageReleaseStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: "operator==(const PageReleaseStats& lhs,\n                                   const
      PageReleaseStats& rhs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator==(const PageReleaseStats& lhs,\n                                   const
      PageReleaseStats& rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - PageReleaseStats
    - PageReleaseStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: "operator!=(const PageReleaseStats& lhs,\n                                   const
      PageReleaseStats& rhs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator!=(const PageReleaseStats& lhs,\n                                   const
      PageReleaseStats& rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::PageAllocInfo::small
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length small() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: tcmalloc_internal::PageAllocInfo::slack
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length slack() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: tcmalloc_internal::PageAllocInfo::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Alloc(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: tcmalloc_internal::PageAllocInfo::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/stats.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Free(Length n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/experiment_config_test.cc:25,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment_config_test.cc:25,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/experiment_config_test.cc:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment_config_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_LT
    - static_cast<int>
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExperimentConfigTest, ValidateIDs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/experiment_config_test.cc:25,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment_config_test.cc:25,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/experiment_config_test.cc:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment_config_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_LT
    - static_cast<int>
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExperimentConfigTest, ValidateIDs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/experiment_config_test.cc:25,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment_config_test.cc:25,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/experiment_config_test.cc:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment_config_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_LT
    - static_cast<int>
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExperimentConfigTest, ValidateIDs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/experiment_config_test.cc:25,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment_config_test.cc:25,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/experiment_config_test.cc:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment_config_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_LT
    - static_cast<int>
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExperimentConfigTest, ValidateIDs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:36,1
    - Dst: last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:37,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:38,1
    - Dst: GetDescriptor
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:38,1
    - Dst: set_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:40,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:40,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:45,1
    - Dst: last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:46,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:47,1
    - Dst: GetDescriptor
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:47,1
    - Dst: clear_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:49,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:49,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:55,1
    - Dst: RootAddress
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:55,1
    - Dst: RootSize
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:59,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:70,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:70,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 77
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.cc
    functionUses: 0
    functionsReached:
    - last_page
    - arena
    - madvise
    - reinterpret_cast<void*>
    - RootAddress
    - GetDescriptor
    - PageId::index
    - reinterpret_cast<uintptr_t>
    - RootSize
    - set_with_sizeclass
    - clear_sizeclass
    - TC_ASSERT_EQ
    - first_page
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:36,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:37,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:38,1
    - Dst: GetDescriptor
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:38,1
    - Dst: set_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:40,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - span
    - sc
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: tcmalloc_internal::PageMap::RegisterSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - PageId::index
    - set_with_sizeclass
    - TC_ASSERT_EQ
    - GetDescriptor
    linkageType: ''
    returnType: void
    signature: void PageMap::RegisterSizeClass(Span* span, size_t sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:45,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:46,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:47,1
    - Dst: GetDescriptor
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:47,1
    - Dst: clear_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:49,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::PageMap::UnregisterSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - PageId::index
    - clear_sizeclass
    - TC_ASSERT_EQ
    - GetDescriptor
    linkageType: ''
    returnType: void
    signature: void PageMap::UnregisterSizeClass(Span* span)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:55,1
    - Dst: RootAddress
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:55,1
    - Dst: RootSize
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:59,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:70,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::PageMap::MapRootWithSmallPages
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.cc
    functionUses: 0
    functionsReached:
    - RootAddress
    - RootSize
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - madvise
    linkageType: ''
    returnType: void
    signature: void PageMap::MapRootWithSmallPages()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: tcmalloc_internal::MetaDataAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.cc
    functionUses: 0
    functionsReached:
    - arena
    linkageType: ''
    returnType: void
    signature: void * MetaDataAlloc(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:36,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:37,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:38,1
    - Dst: GetDescriptor
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:38,1
    - Dst: set_with_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:40,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - span
    - sc
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: tcmalloc_internal::PageMap::RegisterSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - PageId::index
    - set_with_sizeclass
    - TC_ASSERT_EQ
    - GetDescriptor
    linkageType: ''
    returnType: void
    signature: void PageMap::RegisterSizeClass(Span* span, size_t sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:45,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:46,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:47,1
    - Dst: GetDescriptor
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:47,1
    - Dst: clear_sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:49,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::PageMap::UnregisterSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - PageId::index
    - clear_sizeclass
    - TC_ASSERT_EQ
    - GetDescriptor
    linkageType: ''
    returnType: void
    signature: void PageMap::UnregisterSizeClass(Span* span)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:55,1
    - Dst: RootAddress
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:55,1
    - Dst: RootSize
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:59,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:70,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::PageMap::MapRootWithSmallPages
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.cc
    functionUses: 0
    functionsReached:
    - RootAddress
    - RootSize
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - madvise
    linkageType: ''
    returnType: void
    signature: void PageMap::MapRootWithSmallPages()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/pagemap.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: tcmalloc_internal::MetaDataAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.cc
    functionUses: 0
    functionsReached:
    - arena
    linkageType: ''
    returnType: void
    signature: void * MetaDataAlloc(size_t bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ldexp
      Src: /src/tcmalloc/tcmalloc/pages.h:49,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/pages.h:49,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/pages.h:50,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:54,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:56,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/pages.h:56,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/pages.h:65,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pages.h:76,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pages.h:82,1
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/pages.h:96,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/pages.h:96,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/pages.h:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:109,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/pages.h:114,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:114,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/pages.h:127,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:135,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/pages.h:140,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:140,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:141,1
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/pages.h:147,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/pages.h:147,1
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/pages.h:152,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/pages.h:152,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/pages.h:177,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/pages.h:178,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:186,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:199,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/pages.h:202,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:204,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:207,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/pages.h:251,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:252,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pages.h:257,1
    - Dst: RemoveTag
      Src: /src/tcmalloc/tcmalloc/pages.h:257,1
    - Dst: PageId
      Src: /src/tcmalloc/tcmalloc/pages.h:258,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pages.h:258,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/pages.h:263,1
    - Dst: RemoveTag
      Src: /src/tcmalloc/tcmalloc/pages.h:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:296,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:298,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pages.h:314,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:314,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:315,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:315,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pages.h:323,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 133
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 328
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length
    - absl::SimpleAtoi
    - reinterpret_cast<void*>
    - in_bytes
    - PageIdContaining
    - raw_num
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    - tcmalloc_internal::max
    - absl::Format
    - tcmalloc_internal::Length::max
    - std::move
    - static_cast<int>
    - RemoveTag
    - TC_ASSERT_GE
    - start_addr
    - PageId
    - H::combine
    - std::ldexp
    - absl::StrCat
    - static_cast<double>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::Length::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Length()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::Length::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Length(uintptr_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc_internal::Length::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Length(const Length&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(const Length&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length & operator=(const Length&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc_internal::Length::raw_num
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t raw_num() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: tcmalloc_internal::Length::in_bytes
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t in_bytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ldexp
      Src: /src/tcmalloc/tcmalloc/pages.h:49,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/pages.h:49,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/pages.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::Length::in_mib
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - std::ldexp
    - static_cast<int>
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double in_mib() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::Length::in_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length in_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Length::Length
      Src: /src/tcmalloc/tcmalloc/pages.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: tcmalloc_internal::Length::min
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Length::Length
    linkageType: ''
    returnType: Length
    signature: Length min()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Length::Length
      Src: /src/tcmalloc/tcmalloc/pages.h:56,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/pages.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: tcmalloc_internal::Length::max
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::Length::Length
    - tcmalloc_internal::max
    linkageType: ''
    returnType: Length
    signature: Length max()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '& operator+=(Length rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length & operator+=(Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/pages.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: '& operator-=(Length rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    linkageType: ''
    returnType: Length
    signature: Length & operator-=(Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '& operator*=(size_t rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length & operator*=(size_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pages.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: '& operator/=(size_t rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    linkageType: ''
    returnType: Length
    signature: Length & operator/=(size_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pages.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: '& operator%=(Length rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    linkageType: ''
    returnType: Length
    signature: Length & operator%=(Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/pages.h:96,1
    - Dst: tcmalloc_internal::Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/pages.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' v'
    argTypes:
    - Sink
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::Length::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Length::in_bytes
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Length& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/pages.h:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - text
    - l
    argTypes:
    - absl::string_view
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: tcmalloc_internal::AbslParseFlag
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - absl::SimpleAtoi
    - Length
    linkageType: ''
    returnType: bool
    signature: "bool AbslParseFlag(absl::string_view text, Length* l,\n                          std::string*
      /* error */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/pages.h:114,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::AbslUnparseFlag
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - Length::raw_num
    linkageType: ''
    returnType: std::string
    signature: std::string AbslUnparseFlag(Length l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::PageId::PageId
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: tcmalloc_internal::PageId::PageId
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageId(const PageId& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: '& operator=(const PageId& p)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PageId
    signature: PageId & operator=(const PageId& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pn
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: tcmalloc_internal::PageId::PageId
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageId(uintptr_t pn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/pages.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: tcmalloc_internal::PageId::start_addr
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: void * start_addr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::PageId::start_uintptr
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t start_uintptr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: tcmalloc_internal::PageId::index
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: '& operator+=(Length rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    linkageType: ''
    returnType: PageId
    signature: PageId & operator+=(Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/pages.h:140,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:140,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: '& operator-=(Length rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    - Length::raw_num
    linkageType: ''
    returnType: PageId
    signature: PageId & operator-=(Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/pages.h:147,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/pages.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' p'
    argTypes:
    - H
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: tcmalloc_internal::PageId::AbslHashValue
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - std::move
    - H::combine
    linkageType: ''
    returnType: H
    signature: H AbslHashValue(H h, const PageId& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/pages.h:152,1
    - Dst: tcmalloc_internal::PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/pages.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' v'
    argTypes:
    - Sink
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: tcmalloc_internal::PageId::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - absl::Format
    - tcmalloc_internal::PageId::start_addr
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const PageId& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: tcmalloc_internal::Range
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Range()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - page
    - len
    argTypes:
    - PageId
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::Range
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Range(PageId page, Length len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: tcmalloc_internal::Range
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Range(const Range&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: '& operator=(const Range&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Range
    signature: Range & operator=(const Range&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: tcmalloc_internal::Range
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Range(Range&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: '& operator=(Range&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Range
    signature: Range & operator=(Range&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::start_addr
      Src: /src/tcmalloc/tcmalloc/pages.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: tcmalloc_internal::start_addr
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 11
    functionsReached:
    - tcmalloc_internal::start_addr
    linkageType: ''
    returnType: void
    signature: void * start_addr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::in_bytes
      Src: /src/tcmalloc/tcmalloc/pages.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: tcmalloc_internal::in_bytes
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t in_bytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: tcmalloc_internal::LengthFromBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST LengthFromBytes(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: tcmalloc_internal::BytesToLengthCeil
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 12
    functionsReached:
    - Length
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST BytesToLengthCeil(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::BytesToLengthFloor
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST BytesToLengthFloor(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '& operator++(PageId& p)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: PageId
    signature: PageId & operator++(PageId& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: operator<(PageId lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator<(PageId lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: operator>(PageId lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator>(PageId lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: operator<=(PageId lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator<=(PageId lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: operator>=(PageId lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator>=(PageId lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: operator==(PageId lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator==(PageId lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: operator!=(PageId lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator!=(PageId lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: operator+(PageId lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator+(PageId lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: operator+(Length lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator+(Length lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: operator-(PageId lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator-(PageId lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/pages.h:251,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: operator-(PageId lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    - Length
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator-(PageId lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pages.h:257,1
    - Dst: RemoveTag
      Src: /src/tcmalloc/tcmalloc/pages.h:257,1
    - Dst: PageId
      Src: /src/tcmalloc/tcmalloc/pages.h:258,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pages.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: tcmalloc_internal::PageIdContaining
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 10
    functionsReached:
    - PageId
    - TC_ASSERT_EQ
    - RemoveTag
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST PageIdContaining(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/pages.h:263,1
    - Dst: RemoveTag
      Src: /src/tcmalloc/tcmalloc/pages.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: tcmalloc_internal::PageIdContainingTagged
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 8
    functionsReached:
    - RemoveTag
    - tcmalloc_internal::PageIdContaining
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST PageIdContainingTagged(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: operator<(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator<(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: operator>(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator>(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: operator<=(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator<=(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: operator>=(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator>=(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: operator==(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator==(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: operator!=(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator!=(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' l'
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: '& operator++(Length& l)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: Length
    signature: Length & operator++(Length& l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' l'
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: '& operator--(Length& l)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: Length
    signature: Length & operator--(Length& l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: operator+(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator+(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: operator-(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator-(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: operator*(Length lhs, size_t rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator*(Length lhs, size_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - size_t
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: operator*(size_t lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator*(size_t lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pages.h:314,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:314,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:315,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: operator/(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - TC_ASSERT_NE
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator/(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: operator/(Length lhs, size_t rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator/(Length lhs, size_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pages.h:323,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: operator%(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - TC_ASSERT_NE
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator%(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::Length::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Length()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::Length::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Length(uintptr_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc_internal::Length::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Length(const Length&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(const Length&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length & operator=(const Length&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc_internal::Length::raw_num
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t raw_num() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: tcmalloc_internal::Length::in_bytes
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t in_bytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ldexp
      Src: /src/tcmalloc/tcmalloc/pages.h:49,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/pages.h:49,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/pages.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::Length::in_mib
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - std::ldexp
    - static_cast<int>
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double in_mib() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::Length::in_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length in_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Length::Length
      Src: /src/tcmalloc/tcmalloc/pages.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: tcmalloc_internal::Length::min
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Length::Length
    linkageType: ''
    returnType: Length
    signature: Length min()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Length::Length
      Src: /src/tcmalloc/tcmalloc/pages.h:56,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/pages.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: tcmalloc_internal::Length::max
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::Length::Length
    - tcmalloc_internal::max
    linkageType: ''
    returnType: Length
    signature: Length max()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '& operator+=(Length rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length & operator+=(Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/pages.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: '& operator-=(Length rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    linkageType: ''
    returnType: Length
    signature: Length & operator-=(Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '& operator*=(size_t rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length & operator*=(size_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pages.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: '& operator/=(size_t rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    linkageType: ''
    returnType: Length
    signature: Length & operator/=(size_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pages.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: '& operator%=(Length rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    linkageType: ''
    returnType: Length
    signature: Length & operator%=(Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/pages.h:96,1
    - Dst: tcmalloc_internal::Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/pages.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' v'
    argTypes:
    - Sink
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::Length::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Length::in_bytes
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Length& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/pages.h:106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - text
    - l
    argTypes:
    - absl::string_view
    - Length*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: tcmalloc_internal::AbslParseFlag
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - absl::SimpleAtoi
    - Length
    linkageType: ''
    returnType: bool
    signature: "bool AbslParseFlag(absl::string_view text, Length* l,\n                          std::string*
      /* error */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/pages.h:114,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::AbslUnparseFlag
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - Length::raw_num
    linkageType: ''
    returnType: std::string
    signature: std::string AbslUnparseFlag(Length l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::PageId::PageId
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: tcmalloc_internal::PageId::PageId
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageId(const PageId& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: '& operator=(const PageId& p)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PageId
    signature: PageId & operator=(const PageId& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pn
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: tcmalloc_internal::PageId::PageId
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageId(uintptr_t pn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/pages.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: tcmalloc_internal::PageId::start_addr
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: void * start_addr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::PageId::start_uintptr
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t start_uintptr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: tcmalloc_internal::PageId::index
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: '& operator+=(Length rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    linkageType: ''
    returnType: PageId
    signature: PageId & operator+=(Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/pages.h:140,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:140,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: '& operator-=(Length rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    - Length::raw_num
    linkageType: ''
    returnType: PageId
    signature: PageId & operator-=(Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/pages.h:147,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/pages.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' p'
    argTypes:
    - H
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: tcmalloc_internal::PageId::AbslHashValue
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - std::move
    - H::combine
    linkageType: ''
    returnType: H
    signature: H AbslHashValue(H h, const PageId& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/pages.h:152,1
    - Dst: tcmalloc_internal::PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/pages.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' v'
    argTypes:
    - Sink
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: tcmalloc_internal::PageId::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - absl::Format
    - tcmalloc_internal::PageId::start_addr
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const PageId& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: tcmalloc_internal::Range
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Range()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - page
    - len
    argTypes:
    - PageId
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::Range
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Range(PageId page, Length len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: tcmalloc_internal::Range
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Range(const Range&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: '& operator=(const Range&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Range
    signature: Range & operator=(const Range&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: tcmalloc_internal::Range
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Range(Range&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: '& operator=(Range&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Range
    signature: Range & operator=(Range&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::start_addr
      Src: /src/tcmalloc/tcmalloc/pages.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: tcmalloc_internal::start_addr
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::start_addr
    linkageType: ''
    returnType: void
    signature: void * start_addr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::in_bytes
      Src: /src/tcmalloc/tcmalloc/pages.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: tcmalloc_internal::in_bytes
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t in_bytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: tcmalloc_internal::LengthFromBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST LengthFromBytes(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: tcmalloc_internal::BytesToLengthCeil
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 12
    functionsReached:
    - Length
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST BytesToLengthCeil(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::BytesToLengthFloor
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST BytesToLengthFloor(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '& operator++(PageId& p)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: PageId
    signature: PageId & operator++(PageId& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: operator<(PageId lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator<(PageId lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: operator>(PageId lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator>(PageId lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: operator<=(PageId lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator<=(PageId lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: operator>=(PageId lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator>=(PageId lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: operator==(PageId lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator==(PageId lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: operator!=(PageId lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator!=(PageId lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: operator+(PageId lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator+(PageId lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: operator+(Length lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator+(Length lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: operator-(PageId lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator-(PageId lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/pages.h:251,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: operator-(PageId lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    - Length
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator-(PageId lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pages.h:257,1
    - Dst: RemoveTag
      Src: /src/tcmalloc/tcmalloc/pages.h:257,1
    - Dst: PageId
      Src: /src/tcmalloc/tcmalloc/pages.h:258,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pages.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: tcmalloc_internal::PageIdContaining
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 11
    functionsReached:
    - PageId
    - TC_ASSERT_EQ
    - RemoveTag
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST PageIdContaining(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/pages.h:263,1
    - Dst: RemoveTag
      Src: /src/tcmalloc/tcmalloc/pages.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: tcmalloc_internal::PageIdContainingTagged
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 8
    functionsReached:
    - RemoveTag
    - tcmalloc_internal::PageIdContaining
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST PageIdContainingTagged(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: operator<(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator<(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: operator>(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator>(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: operator<=(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator<=(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: operator>=(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator>=(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: operator==(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator==(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: operator!=(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator!=(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' l'
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: '& operator++(Length& l)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: Length
    signature: Length & operator++(Length& l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' l'
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: '& operator--(Length& l)'
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length
    linkageType: ''
    returnType: Length
    signature: Length & operator--(Length& l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: operator+(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator+(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: operator-(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator-(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: operator*(Length lhs, size_t rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator*(Length lhs, size_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - size_t
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: operator*(size_t lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator*(size_t lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pages.h:314,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:314,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:315,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: operator/(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - TC_ASSERT_NE
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator/(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: operator/(Length lhs, size_t rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator/(Length lhs, size_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pages.h:323,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: operator%(Length lhs, Length rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - TC_ASSERT_NE
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator%(Length lhs, Length rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:175,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:180,1
    - Dst: GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:181,1
    - Dst: allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:195,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:203,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:256,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 329
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 0
    functionsReached:
    - load
    - allocated_pages
    - absl::bit_cast<uintptr_t>
    - GetNearestSlot
    - value
    - reinterpret_cast<uintptr_t>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::GuardedPageAllocator::GuardedPageAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: tcmalloc_internal::GuardedPageAllocator::GuardedPageAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator(const GuardedPageAllocator&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& operator=(const GuardedPageAllocator&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GuardedPageAllocator
    signature: GuardedPageAllocator & operator=(const GuardedPageAllocator&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: ~GuardedPageAllocator()
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GuardedPageAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void PointerIsMine(const void* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:180,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: tcmalloc_internal::GuardedPageAllocator::PointerIsCorrectlyAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 0
    functionsReached:
    - absl::bit_cast<uintptr_t>
    - tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
    linkageType: ''
    returnType: bool
    signature: bool PointerIsCorrectlyAligned(const void* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: tcmalloc_internal::GuardedPageAllocator::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(guarded_page_lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: tcmalloc_internal::GuardedPageAllocator::GetNumAvailablePages
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::GuardedPageAllocator::allocated_pages
    linkageType: ''
    returnType: size_t
    signature: size_t GetNumAvailablePages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: tcmalloc_internal::GuardedPageAllocator::page_size
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t page_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: tcmalloc_internal::GuardedPageAllocator::successful_allocations
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 2
    functionsReached:
    - value
    linkageType: ''
    returnType: size_t
    signature: size_t successful_allocations() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 4
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetWriteOverflowMagic(size_t slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::GuardedPageAllocator::ShouldRightAlign
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ShouldRightAlign(size_t slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: tcmalloc_internal::GuardedPageAllocator::allocated_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 7
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t allocated_pages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::GuardedPageAllocator::GuardedPageAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: tcmalloc_internal::GuardedPageAllocator::GuardedPageAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator(const GuardedPageAllocator&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& operator=(const GuardedPageAllocator&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GuardedPageAllocator
    signature: GuardedPageAllocator & operator=(const GuardedPageAllocator&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: ~GuardedPageAllocator()
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GuardedPageAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void PointerIsMine(const void* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:180,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: tcmalloc_internal::GuardedPageAllocator::PointerIsCorrectlyAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 0
    functionsReached:
    - absl::bit_cast<uintptr_t>
    - tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
    linkageType: ''
    returnType: bool
    signature: bool PointerIsCorrectlyAligned(const void* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: tcmalloc_internal::GuardedPageAllocator::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(guarded_page_lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: tcmalloc_internal::GuardedPageAllocator::GetNumAvailablePages
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::GuardedPageAllocator::allocated_pages
    linkageType: ''
    returnType: size_t
    signature: size_t GetNumAvailablePages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: tcmalloc_internal::GuardedPageAllocator::page_size
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t page_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: tcmalloc_internal::GuardedPageAllocator::successful_allocations
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 2
    functionsReached:
    - value
    linkageType: ''
    returnType: size_t
    signature: size_t successful_allocations() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 4
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetWriteOverflowMagic(size_t slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::GuardedPageAllocator::ShouldRightAlign
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ShouldRightAlign(size_t slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: tcmalloc_internal::GuardedPageAllocator::allocated_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 8
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t allocated_pages() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:86,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:86,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:88,1
    - Dst: TryLock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:93,1
    - Dst: std::find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:98,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:99,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:100,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - back
    - Unlock
    - std::find
    - TryLock
    - end
    - reinterpret_cast<uintptr_t>
    - pop_back
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - Range::p::start_addr
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - start_addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void RecordAllocation(uintptr_t start_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:115,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:115,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:116,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - start_addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordDeallocation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - back
    - std::find
    - end
    - pop_back
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void RecordDeallocation(uintptr_t start_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:129,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:131,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:136,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - GetParam
    - ExtraRegionFactory::ExtraRegionFactory
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:141,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:141,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:142,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:142,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:152,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: ~HugePageAwareAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - Length
    - stats
    - TC_CHECK_EQ
    - tcmalloc::MallocExtension::SetRegionFactory
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:160,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - stats
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::GetFreeBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetFreeBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:182,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:182,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:183,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - forwarder
    - Span*::start_address
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: Span
    signature: Span * AllocatorNew(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:191,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:193,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:193,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:194,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:197,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    - Range
    - reinterpret_cast<uintptr_t>
    - forwarder
    - Span*::num_pages
    - Span*::start_address
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void AllocatorDelete(Span* s, size_t objects_per_span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:207,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:208,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:209,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:209,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:212,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:214,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - TC_CHECK_NE
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - insert
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    - TC_CHECK
    - Span*::num_pages
    linkageType: ''
    returnType: Span
    signature: Span * New(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:219,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:222,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:223,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:223,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:225,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:226,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - span
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - find
    - erase
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - end
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    - TC_CHECK
    - Span*::num_pages
    linkageType: ''
    returnType: void
    signature: void Delete(Span* span, size_t objects_per_span)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:235,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:236,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:237,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:239,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:239,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:245,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - absl::Bernoulli
    - absl::Uniform<size_t>
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: std::pair<Length, SpanAllocInfo>
    signature: std::pair<Length, SpanAllocInfo> RandomAllocSize(absl::BitGenRef rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    linkageType: ''
    returnType: Length
    signature: Length ReleasePages(Length k, PageReleaseReason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable_collapse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
    linkageType: ''
    returnType: void
    signature: void TreatHugepageTrackers(bool enable_collapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
    linkageType: ''
    returnType: Length
    signature: "Length ReleaseAtLeastNPagesBreakingHugepages(Length n,\n                                               PageReleaseReason
      reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - region
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:278,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:281,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:282,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    - std::string::erase
    - std::string::resize
    - Printer::SpaceRequired
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:289,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:294,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:296,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    - std::string::erase
    - std::string::resize
    - Printer::SpaceRequired
    linkageType: ''
    returnType: std::string
    signature: std::string PrintInPbtxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:320,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:321,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:322,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:327,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:327,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:330,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:331,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:332,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 338
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - New
    - absl::StrFormat
    - std::vector::push_back
    - std::vector::size
    - SCOPED_TRACE
    - Delete
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, Fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:351,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:351,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:355,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: GetFreeBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - New
    - Length
    - std::vector::push_back
    - GetFreeBytes
    - EXPECT_LE
    - push_back
    - Delete
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, JustUnderMultipleOfHugepages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:378,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:378,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:382,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:383,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:383,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:385,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:388,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:388,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:389,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:391,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:392,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:394,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:396,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 404
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - New
    - std::thread
    - std::vector::push_back
    - std::vector::size
    - absl::Barrier::Block
    - Delete
    - join
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, Multithreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:410,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:415,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:416,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:417,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 423
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingLargeForUserRequestedRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:429,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:436,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:437,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 448
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingLargeForBackgroundActions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:454,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:458,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:459,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:459,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 466
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingMemoryLimitHit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:473,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:476,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:478,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:479,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:480,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:481,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:482,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:484,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:486,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:487,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:490,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:491,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 495
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: "void TEST_P(HugePageAwareAllocatorTest,\n       ReleasingLargeForBackgroundActionsWithZeroIntervals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:498,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:499,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:502,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:503,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:504,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:507,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:508,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:509,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:515,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:515,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:516,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:520,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:523,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:528,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:532,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 536
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - raw_num
    - New
    - Length
    - EXPECT_EQ
    - push_back
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:540,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:543,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:543,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:544,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:556,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:556,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:557,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 563
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - push_back
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, HardReleaseSmall)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:570,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:584,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:585,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:586,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:587,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:588,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:589,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:594,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:603,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:604,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:605,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:606,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:622,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:624,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:628,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:631,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:633,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:637,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:648,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:649,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:652,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:653,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:654,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:655,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:656,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:657,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:658,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:659,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:659,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:660,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:662,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:664,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:665,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:666,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:680,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:690,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:694,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:695,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:697,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:697,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:707,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:707,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:708,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:711,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:717,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:724,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 726
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - UseHugeRegionMoreOften
    - NHugePages
    - ReleaseAtLeastNPagesBreakingHugepages
    - DonatedHugePages
    - New
    - ASSERT_LT
    - HLFromBytes
    - LengthFromBytes
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - Length::in_bytes
    - RefreshStats
    - std::vector::emplace_back
    - info
    - EXPECT_GE
    - region
    - Delete
    - AbandonedPages
    - ReleaseAtLeastNPages
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, UseHugeRegion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:737,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:744,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:745,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:746,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:748,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:751,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:751,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:752,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:752,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:759,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:760,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:762,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:766,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:770,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:770,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:772,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:780,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:781,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:782,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:787,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:787,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:792,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:797,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:797,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:806,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:808,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:811,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:811,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:812,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:812,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 817
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - info
    - EXPECT_THAT
    - PrintInPbtxt
    - Print
    - HasSubstr
    - Delete
    - AbandonedPages
    - NHugePages
    - absl::StrCat
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedHugePages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:822,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:828,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:829,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:837,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:838,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:839,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:841,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:843,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:844,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:846,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:846,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:847,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:847,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:853,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:854,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:858,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:858,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:861,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:861,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:867,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:867,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:868,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:871,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:877,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:878,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:881,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:882,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:883,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:883,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:887,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:890,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:891,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:892,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:896,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:899,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:906,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:908,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:910,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:912,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:913,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:914,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:914,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:915,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:919,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:923,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:923,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 925
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - DonatedHugePages
    - New
    - Length
    - HugePageContaining
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - std::swap
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, SmallDonations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:936,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:943,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:944,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:945,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:950,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:951,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:951,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:963,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:963,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:964,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:964,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:965,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:965,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:971,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:972,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:973,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:974,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:974,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:977,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:978,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:979,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:979,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:980,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 982
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, LargeDonations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:987,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:988,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:993,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1000,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1001,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1002,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1004,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1007,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1012,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1013,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1014,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1015,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1016,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1016,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1017,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1017,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1022,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1023,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1023,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1024,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1024,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1025,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1025,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1028,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1029,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1030,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1031,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1031,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1032,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1032,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1035,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1039,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1039,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1040,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1040,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1043,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1046,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1047,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1047,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1051,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1053,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1053,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1054,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1054,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1057,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1058,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1059,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1059,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1060,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1060,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1061,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1062
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, TailDonation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1068,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1072,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1080,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1081,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1082,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1087,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1088,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1088,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1089,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1089,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1093,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1095,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1097,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1102,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1104,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1104,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1105,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1107,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1109,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1114,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1114,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1117,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1119,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1120,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1122
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, NotDonated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1135,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1136,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1136,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1140,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1143,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1147,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1150,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1150,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1156
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - Delete
    - ::operator delete
    - ::operator new
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, PageMapInterference)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1160,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1172,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1173,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1174,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1175,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1177,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1178,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1184,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1191,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1194,1
    - Dst: cache
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1194,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1195,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1201
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - stats
    - EXPECT_LE
    - cache
    - Delete
    - Print
    - ASSERT_NE
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, LargeSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1205,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1211,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1215,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1216,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1219,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1222,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1223,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1224,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1228
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Delete
    - New
    - ASSERT_NE
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedPageLists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1231,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1238,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1239,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1242,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1243,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1245,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1246,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1249,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1250,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1252,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1253,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1255,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1256,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1262,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1264,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1267,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1268,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1269,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1270,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1271,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1272,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1279,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1280
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - NHugePages
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonationAccounting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1286,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1289,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1291,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1297
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - New
    - Delete
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DISABLED_OOM)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1314,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1315,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1315,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1325
    functionName: tcmalloc::tcmalloc_internal::BytesInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - static_cast<char*>
    - mincore
    - std::min
    linkageType: ''
    returnType: size_t
    signature: size_t BytesInCore(void* p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BytesInCore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1329,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1330
    functionName: tcmalloc::tcmalloc_internal::HugePageResident
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HugePage::start_addr
    - tcmalloc::tcmalloc_internal::BytesInCore
    linkageType: ''
    returnType: bool
    signature: bool HugePageResident(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1334,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1334,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1339
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::max<size_t>
    - PageId::start_addr
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void Touch(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1345,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1351
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::Touch
    - HugePage::first_page
    linkageType: ''
    returnType: void
    signature: void Touch(HugePage hp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1355,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1357,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1359,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageResident
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1366,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1368,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1354
    functionDepth: 3
    functionLinenumber: 1354
    functionLinenumberEnd: 1376
    functionName: tcmalloc::tcmalloc_internal::TouchTHP
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - HugePageContaining
    - tcmalloc::tcmalloc_internal::HugePageResident
    - tcmalloc::tcmalloc_internal::Touch
    linkageType: ''
    returnType: void
    signature: void TouchTHP(Span* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1382
    functionName: tcmalloc::tcmalloc_internal::StatTest::StatTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytesInCore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1396
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::Memory
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - BytesInCore
    linkageType: ''
    returnType: MemoryBytes
    signature: MemoryBytes Memory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<StaticForwarder*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1401,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1411
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    - TC_CHECK_LT
    - static_cast<StaticForwarder*>
    linkageType: ''
    returnType: AddressRange
    signature: AddressRange AllocatePages(size_t bytes, size_t align, MemoryTag tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1423
    functionName: tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: MemoryBytes
    signature: MemoryBytes GetSystemBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1428,1
    - Dst: HookedAllocator::HookedAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1431
    functionName: tcmalloc::tcmalloc_internal::StatTest::PrepTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HookedAllocator::HookedAllocator
    - memset
    linkageType: ''
    returnType: void
    signature: void PrepTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1433
    functionName: ~StatTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StatTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1439
    functionName: tcmalloc::tcmalloc_internal::StatTest::Stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats Stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1445,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1447,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1449,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1449,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1454,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1455
    functionName: tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - Length
    linkageType: ''
    returnType: Length
    signature: Length RandomAllocSize(absl::BitGenRef rng)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1458,1
    - Dst: TouchTHP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1459,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1460,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1460,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1466
    functionName: tcmalloc::tcmalloc_internal::StatTest::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_LE
    - Span*::num_pages
    - New
    - TouchTHP
    linkageType: ''
    returnType: Span
    signature: Span * Alloc(Length n, SpanAllocInfo span_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1469,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1473,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1477,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1479,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - span_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1483
    functionName: tcmalloc::tcmalloc_internal::StatTest::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - Range
    - Delete
    - forwarder
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void Free(Span* s, SpanAllocInfo span_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1486,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1487,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1492,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1493,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1497,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1498,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1498,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1500,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1500,1
    - Dst: LargeSpanStats::normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1502,1
    - Dst: LargeSpanStats::returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1503,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1506,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1508,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1509,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1510,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1512,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1514
    functionName: tcmalloc::tcmalloc_internal::StatTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    - LargeSpanStats::returned_pages::in_bytes
    - Length
    - GetLargeSpanStats
    - LargeSpanStats::normal_pages::in_bytes
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::StatTest::Stats
    - in_bytes
    - GetSmallSpanStats
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrepTest
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1531,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1537,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1538,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1541,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1546,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1548,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1549,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1550,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1552,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1553,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1555,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1561,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1565,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1567,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1571,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1572,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1573,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1574,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1575,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1580
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - Alloc
    - absl::LogUniform<int32_t>
    - absl::Bernoulli
    - Lock
    - stats
    - Unlock
    - Free
    - PrepTest
    - ReleaseAtLeastNPages
    - ASSERT_EQ
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatTest, Basic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1593,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1595,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1606,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1614,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1618,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1621,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1623,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1627,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1627,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1629,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1636
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - spans::empty
    - Length
    - spans::back
    - spans::pop_back
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - benchmark::DoNotOptimize
    - spans::size
    - ReleasePages
    - TreatHugepageTrackers
    - AllocatorNew
    - absl::Uniform
    - std::vector::resize
    - absl::LogUniform
    - TC_CHECK_NE
    - absl::SleepFor
    - absl::Bernoulli
    - AllocatorDelete
    - absl::Uniform<size_t>
    - Print
    - spans::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ParallelRelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1590
    functionName: tcmalloc::tcmalloc_internal::Metadata
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED Metadata
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1648,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1649,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1653,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1654,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1654,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1655,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1662,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1663,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1663,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1666,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1667,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1669,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1669,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1671,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1674,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1676,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1688,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1688,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1689,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1693,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1701
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - spans::empty
    - Length
    - spans::back
    - spans::pop_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - spans::size
    - forwarder
    - load
    - TreatHugepageTrackers
    - AllocatorNew
    - std::thread
    - std::vector::resize
    - std::atomic::store
    - join
    - absl::LogUniform
    - TC_CHECK_NE
    - std::vector::push_back
    - absl::SleepFor
    - absl::Bernoulli
    - AllocatorDelete
    - std::thread::join
    - std::ref
    - absl::Uniform<size_t>
    - spans::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, StressCollapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1645
    functionName: tcmalloc::tcmalloc_internal::Metadata
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED Metadata
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - allocator
    argTypes:
    - FakeHugePageAwareAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1716
    functionName: tcmalloc::tcmalloc_internal::SpanDeleter
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpanDeleter(FakeHugePageAwareAllocator* /*absl_nonnull*/ allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1721,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1725,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1727,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1731
    functionName: tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - Range
    - donated
    - Delete
    - forwarder
    - first_page
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1742,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1748,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1750,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1752,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1753,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1755,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1757,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1757,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1762,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1763
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ReleaseAtLeastNPagesBreakingHugepages
    - data
    - Length
    - GetReleaseStats
    - tcmalloc::MallocExtension::SetRegionFactory
    - forwarder
    - ASSERT_EQ
    - FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1766,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1767,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1767,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1765
    functionDepth: 2
    functionLinenumber: 1765
    functionLinenumberEnd: 1771
    functionName: ~GetReleaseStatsTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - ReleaseAtLeastNPagesBreakingHugepages
    - tcmalloc::MallocExtension::SetRegionFactory
    - Length
    linkageType: ''
    returnType: void
    signature: void ~GetReleaseStatsTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1773
    functionName: '& allocator()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FakeHugePageAwareAllocator
    signature: FakeHugePageAwareAllocator & allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1778
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1783,1
    - Dst: SpanDeleter
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1784,1
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1785
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - SpanDeleter
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1791
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1798
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1813,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1814,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1814,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1816,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1816,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1819,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1823,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1825,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1829,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1834
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, GetReleaseStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1837,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1840,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1843,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1844,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1846,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1849,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1850,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1852,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1854,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1855,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1859,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1859,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1865,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1866,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1867,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1870,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1870,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1877,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1878,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1881,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1881,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1893,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1901
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, ReasonsTrackedSeparately)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1905,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1905,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1907,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1910,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1910,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1913,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1914,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1914,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1919,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1920,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1920,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1923,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1926,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1927,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1927,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1931,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1933,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1937,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1937,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1944,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1947
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GetReleaseStatsTest,\n       ReleaseSinglePageAfterBreakingHugepagesRequiresBreakingAgain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1951,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1951,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1952,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1959,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1964
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GetReleaseStatsTest,\n       ReleaseAfterNewDeleteSinglePageDoesNotRequireBreakingHugepages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1967,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1968,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1969,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1971,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1971,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1975,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1975,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1981,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1985,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1991
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, ReleaseAfterPartialReleaseContinuesTrackingStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2002,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2005,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2005,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2007,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2008,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2008,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2009,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2010,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2010,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2012,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2013,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2018,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2021,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2022,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2024,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2027,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2027,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2032
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - RegionsStats
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - GetReleaseStats
    - EXPECT_GE
    - std::vector::pop_back
    - std::vector::empty
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, b339535705)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:86,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:86,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:88,1
    - Dst: TryLock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:93,1
    - Dst: std::find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:98,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:99,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:100,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - back
    - Unlock
    - std::find
    - TryLock
    - end
    - reinterpret_cast<uintptr_t>
    - pop_back
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - Range::p::start_addr
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - start_addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void RecordAllocation(uintptr_t start_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:115,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:115,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:116,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - start_addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordDeallocation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - back
    - std::find
    - end
    - pop_back
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void RecordDeallocation(uintptr_t start_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:129,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:131,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:136,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - GetParam
    - ExtraRegionFactory::ExtraRegionFactory
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:141,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:141,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:142,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:142,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:152,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: ~HugePageAwareAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - Length
    - stats
    - TC_CHECK_EQ
    - tcmalloc::MallocExtension::SetRegionFactory
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:160,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - in_bytes
    - stats
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::GetFreeBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetFreeBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:182,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:182,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:183,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - forwarder
    - Span*::start_address
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: Span
    signature: Span * AllocatorNew(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:191,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:193,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:193,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:194,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:197,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - Span*::first_page
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    - Range
    - reinterpret_cast<uintptr_t>
    - forwarder
    - Span*::num_pages
    - Span*::start_address
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void AllocatorDelete(Span* s, size_t objects_per_span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:207,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:208,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:209,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:209,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:212,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:214,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - TC_CHECK_NE
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - insert
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    - TC_CHECK
    - Span*::num_pages
    linkageType: ''
    returnType: Span
    signature: Span * New(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:219,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:222,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:223,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:223,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:225,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:226,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - span
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - find
    - erase
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - end
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    - TC_CHECK
    - Span*::num_pages
    linkageType: ''
    returnType: void
    signature: void Delete(Span* span, size_t objects_per_span)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:235,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:236,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:237,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:239,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:239,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:245,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - absl::Bernoulli
    - absl::Uniform<size_t>
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: std::pair<Length, SpanAllocInfo>
    signature: std::pair<Length, SpanAllocInfo> RandomAllocSize(absl::BitGenRef rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    linkageType: ''
    returnType: Length
    signature: Length ReleasePages(Length k, PageReleaseReason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable_collapse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
    linkageType: ''
    returnType: void
    signature: void TreatHugepageTrackers(bool enable_collapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
    linkageType: ''
    returnType: Length
    signature: "Length ReleaseAtLeastNPagesBreakingHugepages(Length n,\n                                               PageReleaseReason
      reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - region
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:278,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:281,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:282,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    - std::string::erase
    - std::string::resize
    - Printer::SpaceRequired
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:289,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:294,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:296,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    - std::string::erase
    - std::string::resize
    - Printer::SpaceRequired
    linkageType: ''
    returnType: std::string
    signature: std::string PrintInPbtxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:320,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:321,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:322,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:327,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:327,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:330,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:331,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:332,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 338
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - New
    - absl::StrFormat
    - std::vector::push_back
    - std::vector::size
    - SCOPED_TRACE
    - Delete
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, Fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:351,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:351,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:355,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: GetFreeBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - New
    - Length
    - std::vector::push_back
    - GetFreeBytes
    - EXPECT_LE
    - push_back
    - Delete
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, JustUnderMultipleOfHugepages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:378,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:378,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:382,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:383,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:383,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:385,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:388,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:388,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:389,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:391,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:392,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:394,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:396,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 404
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - New
    - std::thread
    - std::vector::push_back
    - std::vector::size
    - absl::Barrier::Block
    - Delete
    - join
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, Multithreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:410,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:415,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:416,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:417,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 423
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingLargeForUserRequestedRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:429,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:436,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:437,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 448
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingLargeForBackgroundActions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:454,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:458,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:459,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:459,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 466
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingMemoryLimitHit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:473,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:476,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:478,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:479,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:480,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:481,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:482,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:484,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:486,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:487,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:490,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:491,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 495
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: "void TEST_P(HugePageAwareAllocatorTest,\n       ReleasingLargeForBackgroundActionsWithZeroIntervals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:498,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:499,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:502,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:503,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:504,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:507,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:508,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:509,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:515,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:515,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:516,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:520,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:523,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:528,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:532,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 536
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - raw_num
    - New
    - Length
    - EXPECT_EQ
    - push_back
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:540,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:543,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:543,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:544,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:556,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:556,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:557,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 563
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - push_back
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, HardReleaseSmall)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:570,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:584,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:585,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:586,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:587,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:588,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:589,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:594,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:603,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:604,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:605,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:606,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:622,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:624,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:628,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:631,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:633,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:637,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:648,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:649,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:652,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:653,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:654,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:655,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:656,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:657,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:658,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:659,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:659,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:660,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:662,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:664,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:665,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:666,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:680,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:690,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:694,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:695,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:697,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:697,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:707,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:707,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:708,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:711,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:717,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:724,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 726
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - UseHugeRegionMoreOften
    - NHugePages
    - ReleaseAtLeastNPagesBreakingHugepages
    - DonatedHugePages
    - New
    - ASSERT_LT
    - HLFromBytes
    - LengthFromBytes
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - Length::in_bytes
    - RefreshStats
    - std::vector::emplace_back
    - info
    - EXPECT_GE
    - region
    - Delete
    - AbandonedPages
    - ReleaseAtLeastNPages
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, UseHugeRegion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:737,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:744,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:745,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:746,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:748,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:751,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:751,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:752,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:752,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:759,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:760,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:762,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:766,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:770,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:770,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:772,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:780,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:781,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:782,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:787,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:787,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:792,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:797,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:797,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:806,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:808,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:811,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:811,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:812,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:812,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 817
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - info
    - EXPECT_THAT
    - PrintInPbtxt
    - Print
    - HasSubstr
    - Delete
    - AbandonedPages
    - NHugePages
    - absl::StrCat
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedHugePages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:822,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:828,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:829,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:837,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:838,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:839,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:841,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:843,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:844,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:846,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:846,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:847,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:847,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:853,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:854,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:858,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:858,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:861,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:861,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:867,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:867,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:868,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:871,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:877,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:878,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:881,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:882,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:883,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:883,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:887,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:890,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:891,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:892,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:896,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:899,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:906,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:908,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:910,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:912,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:913,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:914,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:914,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:915,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:919,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:923,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:923,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 925
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - DonatedHugePages
    - New
    - Length
    - HugePageContaining
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - std::swap
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, SmallDonations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:936,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:943,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:944,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:945,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:950,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:951,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:951,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:963,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:963,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:964,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:964,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:965,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:965,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:971,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:972,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:973,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:974,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:974,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:977,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:978,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:979,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:979,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:980,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 982
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, LargeDonations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:987,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:988,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:993,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1000,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1001,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1002,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1004,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1007,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1012,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1013,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1014,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1015,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1016,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1016,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1017,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1017,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1022,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1023,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1023,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1024,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1024,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1025,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1025,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1028,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1029,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1030,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1031,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1031,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1032,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1032,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1035,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1039,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1039,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1040,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1040,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1043,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1046,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1047,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1047,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1051,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1053,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1053,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1054,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1054,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1057,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1058,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1059,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1059,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1060,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1060,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1061,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1062
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, TailDonation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1068,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1072,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1080,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1081,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1082,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1087,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1088,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1088,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1089,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1089,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1093,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1095,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1097,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1102,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1104,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1104,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1105,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1107,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1109,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1114,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1114,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1117,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1119,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1120,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1122
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, NotDonated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1135,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1136,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1136,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1140,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1143,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1147,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1150,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1150,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1156
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - Delete
    - ::operator delete
    - ::operator new
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, PageMapInterference)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1160,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1172,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1173,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1174,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1175,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1177,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1178,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1184,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1191,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1194,1
    - Dst: cache
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1194,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1195,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1201
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - stats
    - EXPECT_LE
    - cache
    - Delete
    - Print
    - ASSERT_NE
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, LargeSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1205,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1211,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1215,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1216,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1219,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1222,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1223,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1224,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1228
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Delete
    - New
    - ASSERT_NE
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedPageLists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1231,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1238,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1239,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1242,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1243,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1245,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1246,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1249,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1250,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1252,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1253,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1255,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1256,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1262,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1264,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1267,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1268,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1269,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1270,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1271,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1272,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1279,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1280
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - NHugePages
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonationAccounting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1286,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1289,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1291,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1297
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - New
    - Delete
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DISABLED_OOM)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1314,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1315,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1315,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1325
    functionName: tcmalloc::tcmalloc_internal::BytesInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - TC_CHECK_EQ
    - static_cast<char*>
    - mincore
    - std::min
    linkageType: ''
    returnType: size_t
    signature: size_t BytesInCore(void* p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BytesInCore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1329,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1330
    functionName: tcmalloc::tcmalloc_internal::HugePageResident
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - HugePage::start_addr
    - tcmalloc::tcmalloc_internal::BytesInCore
    linkageType: ''
    returnType: bool
    signature: bool HugePageResident(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1334,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1334,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1339
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - std::max<size_t>
    - PageId::start_addr
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void Touch(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1345,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1351
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::Touch
    - HugePage::first_page
    linkageType: ''
    returnType: void
    signature: void Touch(HugePage hp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1355,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1357,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1359,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageResident
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1366,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1368,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1354
    functionDepth: 3
    functionLinenumber: 1354
    functionLinenumberEnd: 1376
    functionName: tcmalloc::tcmalloc_internal::TouchTHP
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - HugePageContaining
    - tcmalloc::tcmalloc_internal::HugePageResident
    - tcmalloc::tcmalloc_internal::Touch
    linkageType: ''
    returnType: void
    signature: void TouchTHP(Span* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1382
    functionName: tcmalloc::tcmalloc_internal::StatTest::StatTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytesInCore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1396
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::Memory
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - BytesInCore
    linkageType: ''
    returnType: MemoryBytes
    signature: MemoryBytes Memory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<StaticForwarder*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1401,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1411
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    - TC_CHECK_LT
    - static_cast<StaticForwarder*>
    linkageType: ''
    returnType: AddressRange
    signature: AddressRange AllocatePages(size_t bytes, size_t align, MemoryTag tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1423
    functionName: tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: MemoryBytes
    signature: MemoryBytes GetSystemBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1428,1
    - Dst: HookedAllocator::HookedAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1431
    functionName: tcmalloc::tcmalloc_internal::StatTest::PrepTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HookedAllocator::HookedAllocator
    - memset
    linkageType: ''
    returnType: void
    signature: void PrepTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1433
    functionName: ~StatTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StatTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1439
    functionName: tcmalloc::tcmalloc_internal::StatTest::Stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - stats
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats Stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1445,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1447,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1449,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1449,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1454,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1455
    functionName: tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - Length
    linkageType: ''
    returnType: Length
    signature: Length RandomAllocSize(absl::BitGenRef rng)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1458,1
    - Dst: TouchTHP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1459,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1460,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1460,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1466
    functionName: tcmalloc::tcmalloc_internal::StatTest::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_LE
    - Span*::num_pages
    - New
    - TouchTHP
    linkageType: ''
    returnType: Span
    signature: Span * Alloc(Length n, SpanAllocInfo span_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1469,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1473,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1477,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1479,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - span_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1483
    functionName: tcmalloc::tcmalloc_internal::StatTest::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - Range
    - Delete
    - forwarder
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void Free(Span* s, SpanAllocInfo span_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1486,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1487,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1492,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1493,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1497,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1498,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1498,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1500,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1500,1
    - Dst: LargeSpanStats::normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1502,1
    - Dst: LargeSpanStats::returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1503,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1506,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1508,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1509,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1510,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1512,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1514
    functionName: tcmalloc::tcmalloc_internal::StatTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    - LargeSpanStats::returned_pages::in_bytes
    - Length
    - GetLargeSpanStats
    - LargeSpanStats::normal_pages::in_bytes
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::StatTest::Stats
    - in_bytes
    - GetSmallSpanStats
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrepTest
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1531,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1537,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1538,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1541,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1546,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1548,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1549,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1550,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1552,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1553,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1555,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1561,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1565,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1567,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1571,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1572,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1573,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1574,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1575,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1580
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - Alloc
    - absl::LogUniform<int32_t>
    - absl::Bernoulli
    - Lock
    - stats
    - Unlock
    - Free
    - PrepTest
    - ReleaseAtLeastNPages
    - ASSERT_EQ
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatTest, Basic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1593,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1595,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1606,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1614,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1618,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1621,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1623,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1627,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1627,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1629,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1636
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - spans::empty
    - Length
    - spans::back
    - spans::pop_back
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - benchmark::DoNotOptimize
    - spans::size
    - ReleasePages
    - TreatHugepageTrackers
    - AllocatorNew
    - absl::Uniform
    - std::vector::resize
    - absl::LogUniform
    - TC_CHECK_NE
    - absl::SleepFor
    - absl::Bernoulli
    - AllocatorDelete
    - absl::Uniform<size_t>
    - Print
    - spans::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ParallelRelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1590
    functionName: tcmalloc::tcmalloc_internal::Metadata
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED Metadata
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1648,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1649,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1653,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1654,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1654,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1655,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1662,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1663,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1663,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1666,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1667,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1669,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1669,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1671,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1674,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1676,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1688,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1688,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1689,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1693,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1701
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - spans::empty
    - Length
    - spans::back
    - spans::pop_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - spans::size
    - forwarder
    - load
    - TreatHugepageTrackers
    - AllocatorNew
    - std::thread
    - std::vector::resize
    - std::atomic::store
    - join
    - absl::LogUniform
    - TC_CHECK_NE
    - std::vector::push_back
    - absl::SleepFor
    - absl::Bernoulli
    - AllocatorDelete
    - std::thread::join
    - std::ref
    - absl::Uniform<size_t>
    - spans::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, StressCollapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1645
    functionName: tcmalloc::tcmalloc_internal::Metadata
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED Metadata
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - allocator
    argTypes:
    - FakeHugePageAwareAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1716
    functionName: tcmalloc::tcmalloc_internal::SpanDeleter
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpanDeleter(FakeHugePageAwareAllocator* /*absl_nonnull*/ allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1721,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1725,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1727,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1731
    functionName: tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - Range
    - donated
    - Delete
    - forwarder
    - first_page
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1742,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1748,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1750,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1752,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1753,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1755,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1757,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1757,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1762,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1763
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ReleaseAtLeastNPagesBreakingHugepages
    - data
    - Length
    - GetReleaseStats
    - tcmalloc::MallocExtension::SetRegionFactory
    - forwarder
    - ASSERT_EQ
    - FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1766,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1767,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1767,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1765
    functionDepth: 2
    functionLinenumber: 1765
    functionLinenumberEnd: 1771
    functionName: ~GetReleaseStatsTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - ReleaseAtLeastNPagesBreakingHugepages
    - tcmalloc::MallocExtension::SetRegionFactory
    - Length
    linkageType: ''
    returnType: void
    signature: void ~GetReleaseStatsTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1773
    functionName: '& allocator()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FakeHugePageAwareAllocator
    signature: FakeHugePageAwareAllocator & allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1778
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1783,1
    - Dst: SpanDeleter
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1784,1
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1785
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - SpanDeleter
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1791
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1798
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1813,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1814,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1814,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1816,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1816,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1819,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1823,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1825,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1829,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1834
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, GetReleaseStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1837,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1840,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1843,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1844,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1846,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1849,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1850,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1852,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1854,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1855,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1859,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1859,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1865,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1866,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1867,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1870,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1870,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1877,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1878,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1881,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1881,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1893,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1901
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, ReasonsTrackedSeparately)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1905,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1905,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1907,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1910,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1910,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1913,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1914,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1914,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1919,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1920,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1920,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1923,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1926,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1927,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1927,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1931,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1933,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1937,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1937,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1944,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1947
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GetReleaseStatsTest,\n       ReleaseSinglePageAfterBreakingHugepagesRequiresBreakingAgain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1951,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1951,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1952,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1959,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1964
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GetReleaseStatsTest,\n       ReleaseAfterNewDeleteSinglePageDoesNotRequireBreakingHugepages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1967,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1968,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1969,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1971,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1971,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1975,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1975,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1981,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1985,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1991
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, ReleaseAfterPartialReleaseContinuesTrackingStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2002,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2005,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2005,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2007,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2008,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2008,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2009,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2010,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2010,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2012,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2013,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2018,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2021,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2022,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2024,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2027,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2027,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2032
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - RegionsStats
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - GetReleaseStats
    - EXPECT_GE
    - std::vector::pop_back
    - std::vector::empty
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, b339535705)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:86,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:86,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:88,1
    - Dst: TryLock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:93,1
    - Dst: std::find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:98,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:99,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:100,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - back
    - Unlock
    - std::find
    - TryLock
    - end
    - reinterpret_cast<uintptr_t>
    - pop_back
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - Range::p::start_addr
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - start_addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void RecordAllocation(uintptr_t start_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:115,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:115,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:116,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - start_addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordDeallocation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - back
    - std::find
    - end
    - pop_back
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void RecordDeallocation(uintptr_t start_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:129,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:131,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:136,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - GetParam
    - ExtraRegionFactory::ExtraRegionFactory
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:141,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:141,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:142,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:142,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:152,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: ~HugePageAwareAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - Length
    - stats
    - TC_CHECK_EQ
    - tcmalloc::MallocExtension::SetRegionFactory
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:160,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - in_bytes
    - stats
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::GetFreeBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetFreeBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:182,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:182,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:183,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - forwarder
    - Span*::start_address
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: Span
    signature: Span * AllocatorNew(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:191,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:193,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:193,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:194,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:197,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - Span*::first_page
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    - Range
    - reinterpret_cast<uintptr_t>
    - forwarder
    - Span*::num_pages
    - Span*::start_address
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void AllocatorDelete(Span* s, size_t objects_per_span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:207,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:208,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:209,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:209,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:212,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:214,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - TC_CHECK_NE
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - insert
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    - TC_CHECK
    - Span*::num_pages
    linkageType: ''
    returnType: Span
    signature: Span * New(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:219,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:222,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:223,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:223,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:225,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:226,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - span
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - find
    - erase
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - end
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    - TC_CHECK
    - Span*::num_pages
    linkageType: ''
    returnType: void
    signature: void Delete(Span* span, size_t objects_per_span)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:235,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:236,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:237,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:239,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:239,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:245,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - absl::Bernoulli
    - absl::Uniform<size_t>
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: std::pair<Length, SpanAllocInfo>
    signature: std::pair<Length, SpanAllocInfo> RandomAllocSize(absl::BitGenRef rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    linkageType: ''
    returnType: Length
    signature: Length ReleasePages(Length k, PageReleaseReason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable_collapse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
    linkageType: ''
    returnType: void
    signature: void TreatHugepageTrackers(bool enable_collapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
    linkageType: ''
    returnType: Length
    signature: "Length ReleaseAtLeastNPagesBreakingHugepages(Length n,\n                                               PageReleaseReason
      reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - region
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:278,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:281,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:282,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    - std::string::erase
    - std::string::resize
    - Printer::SpaceRequired
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:289,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:294,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:296,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    - std::string::erase
    - std::string::resize
    - Printer::SpaceRequired
    linkageType: ''
    returnType: std::string
    signature: std::string PrintInPbtxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:320,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:321,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:322,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:327,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:327,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:330,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:331,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:332,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 338
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - New
    - absl::StrFormat
    - std::vector::push_back
    - std::vector::size
    - SCOPED_TRACE
    - Delete
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, Fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:351,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:351,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:355,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: GetFreeBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - New
    - Length
    - std::vector::push_back
    - GetFreeBytes
    - EXPECT_LE
    - push_back
    - Delete
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, JustUnderMultipleOfHugepages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:378,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:378,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:382,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:383,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:383,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:385,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:388,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:388,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:389,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:391,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:392,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:394,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:396,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 404
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - New
    - std::thread
    - std::vector::push_back
    - std::vector::size
    - absl::Barrier::Block
    - Delete
    - join
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, Multithreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:410,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:415,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:416,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:417,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 423
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingLargeForUserRequestedRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:429,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:436,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:437,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 448
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingLargeForBackgroundActions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:454,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:458,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:459,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:459,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 466
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingMemoryLimitHit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:473,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:476,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:478,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:479,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:480,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:481,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:482,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:484,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:486,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:487,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:490,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:491,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 495
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: "void TEST_P(HugePageAwareAllocatorTest,\n       ReleasingLargeForBackgroundActionsWithZeroIntervals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:498,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:499,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:502,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:503,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:504,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:507,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:508,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:509,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:515,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:515,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:516,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:520,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:523,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:528,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:532,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 536
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - raw_num
    - New
    - Length
    - EXPECT_EQ
    - push_back
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:540,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:543,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:543,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:544,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:556,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:556,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:557,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 563
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - push_back
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, HardReleaseSmall)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:570,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:584,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:585,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:586,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:587,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:588,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:589,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:594,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:603,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:604,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:605,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:606,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:622,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:624,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:628,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:631,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:633,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:637,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:648,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:649,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:652,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:653,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:654,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:655,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:656,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:657,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:658,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:659,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:659,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:660,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:662,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:664,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:665,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:666,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:680,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:690,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:694,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:695,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:697,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:697,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:707,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:707,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:708,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:711,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:717,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:724,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 726
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - UseHugeRegionMoreOften
    - NHugePages
    - ReleaseAtLeastNPagesBreakingHugepages
    - DonatedHugePages
    - New
    - ASSERT_LT
    - HLFromBytes
    - LengthFromBytes
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - Length::in_bytes
    - RefreshStats
    - std::vector::emplace_back
    - info
    - EXPECT_GE
    - region
    - Delete
    - AbandonedPages
    - ReleaseAtLeastNPages
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, UseHugeRegion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:737,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:744,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:745,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:746,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:748,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:751,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:751,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:752,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:752,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:759,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:760,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:762,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:766,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:770,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:770,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:772,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:780,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:781,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:782,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:787,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:787,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:792,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:797,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:797,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:806,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:808,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:811,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:811,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:812,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:812,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 817
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - info
    - EXPECT_THAT
    - PrintInPbtxt
    - Print
    - HasSubstr
    - Delete
    - AbandonedPages
    - NHugePages
    - absl::StrCat
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedHugePages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:822,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:828,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:829,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:837,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:838,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:839,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:841,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:843,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:844,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:846,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:846,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:847,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:847,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:853,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:854,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:858,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:858,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:861,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:861,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:867,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:867,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:868,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:871,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:877,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:878,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:881,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:882,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:883,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:883,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:887,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:890,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:891,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:892,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:896,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:899,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:906,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:908,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:910,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:912,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:913,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:914,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:914,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:915,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:919,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:923,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:923,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 925
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - DonatedHugePages
    - New
    - Length
    - HugePageContaining
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - std::swap
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, SmallDonations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:936,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:943,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:944,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:945,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:950,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:951,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:951,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:963,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:963,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:964,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:964,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:965,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:965,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:971,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:972,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:973,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:974,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:974,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:977,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:978,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:979,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:979,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:980,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 982
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, LargeDonations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:987,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:988,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:993,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1000,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1001,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1002,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1004,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1007,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1012,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1013,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1014,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1015,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1016,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1016,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1017,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1017,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1022,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1023,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1023,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1024,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1024,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1025,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1025,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1028,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1029,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1030,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1031,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1031,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1032,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1032,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1035,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1039,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1039,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1040,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1040,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1043,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1046,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1047,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1047,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1051,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1053,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1053,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1054,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1054,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1057,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1058,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1059,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1059,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1060,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1060,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1061,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1062
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, TailDonation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1068,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1072,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1080,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1081,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1082,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1087,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1088,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1088,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1089,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1089,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1093,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1095,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1097,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1102,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1104,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1104,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1105,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1107,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1109,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1114,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1114,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1117,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1119,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1120,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1122
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, NotDonated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1135,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1136,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1136,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1140,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1143,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1147,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1150,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1150,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1156
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - Delete
    - ::operator delete
    - ::operator new
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, PageMapInterference)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1160,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1172,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1173,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1174,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1175,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1177,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1178,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1184,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1191,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1194,1
    - Dst: cache
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1194,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1195,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1201
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - stats
    - EXPECT_LE
    - cache
    - Delete
    - Print
    - ASSERT_NE
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, LargeSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1205,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1211,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1215,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1216,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1219,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1222,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1223,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1224,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1228
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Delete
    - New
    - ASSERT_NE
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedPageLists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1231,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1238,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1239,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1242,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1243,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1245,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1246,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1249,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1250,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1252,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1253,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1255,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1256,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1262,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1264,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1267,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1268,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1269,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1270,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1271,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1272,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1279,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1280
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - NHugePages
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonationAccounting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1286,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1289,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1291,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1297
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - New
    - Delete
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DISABLED_OOM)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1314,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1315,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1315,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1325
    functionName: tcmalloc::tcmalloc_internal::BytesInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - TC_CHECK_EQ
    - static_cast<char*>
    - mincore
    - std::min
    linkageType: ''
    returnType: size_t
    signature: size_t BytesInCore(void* p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BytesInCore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1329,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1330
    functionName: tcmalloc::tcmalloc_internal::HugePageResident
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - HugePage::start_addr
    - tcmalloc::tcmalloc_internal::BytesInCore
    linkageType: ''
    returnType: bool
    signature: bool HugePageResident(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1334,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1334,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1339
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - std::max<size_t>
    - PageId::start_addr
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void Touch(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1345,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1351
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::Touch
    - HugePage::first_page
    linkageType: ''
    returnType: void
    signature: void Touch(HugePage hp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1355,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1357,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1359,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageResident
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1366,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1368,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1354
    functionDepth: 3
    functionLinenumber: 1354
    functionLinenumberEnd: 1376
    functionName: tcmalloc::tcmalloc_internal::TouchTHP
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - HugePageContaining
    - tcmalloc::tcmalloc_internal::HugePageResident
    - tcmalloc::tcmalloc_internal::Touch
    linkageType: ''
    returnType: void
    signature: void TouchTHP(Span* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1382
    functionName: tcmalloc::tcmalloc_internal::StatTest::StatTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytesInCore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1396
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::Memory
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - BytesInCore
    linkageType: ''
    returnType: MemoryBytes
    signature: MemoryBytes Memory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<StaticForwarder*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1401,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1411
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    - TC_CHECK_LT
    - static_cast<StaticForwarder*>
    linkageType: ''
    returnType: AddressRange
    signature: AddressRange AllocatePages(size_t bytes, size_t align, MemoryTag tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1423
    functionName: tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: MemoryBytes
    signature: MemoryBytes GetSystemBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1428,1
    - Dst: HookedAllocator::HookedAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1431
    functionName: tcmalloc::tcmalloc_internal::StatTest::PrepTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HookedAllocator::HookedAllocator
    - memset
    linkageType: ''
    returnType: void
    signature: void PrepTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1433
    functionName: ~StatTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StatTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1439
    functionName: tcmalloc::tcmalloc_internal::StatTest::Stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - stats
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats Stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1445,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1447,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1449,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1449,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1454,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1455
    functionName: tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - Length
    linkageType: ''
    returnType: Length
    signature: Length RandomAllocSize(absl::BitGenRef rng)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1458,1
    - Dst: TouchTHP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1459,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1460,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1460,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1466
    functionName: tcmalloc::tcmalloc_internal::StatTest::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_LE
    - Span*::num_pages
    - New
    - TouchTHP
    linkageType: ''
    returnType: Span
    signature: Span * Alloc(Length n, SpanAllocInfo span_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1469,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1473,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1477,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1479,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - span_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1483
    functionName: tcmalloc::tcmalloc_internal::StatTest::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - Range
    - Delete
    - forwarder
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void Free(Span* s, SpanAllocInfo span_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1486,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1487,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1492,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1493,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1497,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1498,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1498,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1500,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1500,1
    - Dst: LargeSpanStats::normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1502,1
    - Dst: LargeSpanStats::returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1503,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1506,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1508,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1509,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1510,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1512,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1514
    functionName: tcmalloc::tcmalloc_internal::StatTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    - LargeSpanStats::returned_pages::in_bytes
    - Length
    - GetLargeSpanStats
    - LargeSpanStats::normal_pages::in_bytes
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::StatTest::Stats
    - in_bytes
    - GetSmallSpanStats
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrepTest
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1531,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1537,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1538,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1541,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1546,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1548,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1549,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1550,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1552,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1553,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1555,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1561,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1565,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1567,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1571,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1572,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1573,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1574,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1575,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1580
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - Alloc
    - absl::LogUniform<int32_t>
    - absl::Bernoulli
    - Lock
    - stats
    - Unlock
    - Free
    - PrepTest
    - ReleaseAtLeastNPages
    - ASSERT_EQ
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatTest, Basic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1593,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1595,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1606,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1614,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1618,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1621,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1623,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1627,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1627,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1629,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1636
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - spans::empty
    - Length
    - spans::back
    - spans::pop_back
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - benchmark::DoNotOptimize
    - spans::size
    - ReleasePages
    - TreatHugepageTrackers
    - AllocatorNew
    - absl::Uniform
    - std::vector::resize
    - absl::LogUniform
    - TC_CHECK_NE
    - absl::SleepFor
    - absl::Bernoulli
    - AllocatorDelete
    - absl::Uniform<size_t>
    - Print
    - spans::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ParallelRelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1590
    functionName: tcmalloc::tcmalloc_internal::Metadata
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED Metadata
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1648,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1649,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1653,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1654,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1654,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1655,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1662,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1663,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1663,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1666,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1667,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1669,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1669,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1671,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1674,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1676,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1688,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1688,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1689,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1693,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1701
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - spans::empty
    - Length
    - spans::back
    - spans::pop_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - spans::size
    - forwarder
    - load
    - TreatHugepageTrackers
    - AllocatorNew
    - std::thread
    - std::vector::resize
    - std::atomic::store
    - join
    - absl::LogUniform
    - TC_CHECK_NE
    - std::vector::push_back
    - absl::SleepFor
    - absl::Bernoulli
    - AllocatorDelete
    - std::thread::join
    - std::ref
    - absl::Uniform<size_t>
    - spans::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, StressCollapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1645
    functionName: tcmalloc::tcmalloc_internal::Metadata
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED Metadata
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - allocator
    argTypes:
    - FakeHugePageAwareAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1716
    functionName: tcmalloc::tcmalloc_internal::SpanDeleter
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpanDeleter(FakeHugePageAwareAllocator* /*absl_nonnull*/ allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1721,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1725,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1727,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1731
    functionName: tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - Range
    - donated
    - Delete
    - forwarder
    - first_page
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1742,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1748,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1750,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1752,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1753,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1755,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1757,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1757,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1762,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1763
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ReleaseAtLeastNPagesBreakingHugepages
    - data
    - Length
    - GetReleaseStats
    - tcmalloc::MallocExtension::SetRegionFactory
    - forwarder
    - ASSERT_EQ
    - FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1766,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1767,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1767,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1765
    functionDepth: 2
    functionLinenumber: 1765
    functionLinenumberEnd: 1771
    functionName: ~GetReleaseStatsTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - ReleaseAtLeastNPagesBreakingHugepages
    - tcmalloc::MallocExtension::SetRegionFactory
    - Length
    linkageType: ''
    returnType: void
    signature: void ~GetReleaseStatsTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1773
    functionName: '& allocator()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FakeHugePageAwareAllocator
    signature: FakeHugePageAwareAllocator & allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1778
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1783,1
    - Dst: SpanDeleter
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1784,1
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1785
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - SpanDeleter
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1791
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1798
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1813,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1814,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1814,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1816,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1816,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1819,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1823,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1825,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1829,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1834
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, GetReleaseStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1837,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1840,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1843,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1844,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1846,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1849,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1850,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1852,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1854,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1855,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1859,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1859,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1865,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1866,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1867,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1870,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1870,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1877,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1878,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1881,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1881,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1893,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1901
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, ReasonsTrackedSeparately)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1905,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1905,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1907,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1910,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1910,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1913,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1914,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1914,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1919,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1920,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1920,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1923,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1926,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1927,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1927,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1931,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1933,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1937,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1937,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1944,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1947
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GetReleaseStatsTest,\n       ReleaseSinglePageAfterBreakingHugepagesRequiresBreakingAgain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1951,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1951,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1952,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1959,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1964
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GetReleaseStatsTest,\n       ReleaseAfterNewDeleteSinglePageDoesNotRequireBreakingHugepages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1967,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1968,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1969,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1971,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1971,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1975,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1975,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1981,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1985,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1991
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, ReleaseAfterPartialReleaseContinuesTrackingStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2002,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2005,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2005,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2007,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2008,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2008,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2009,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2010,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2010,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2012,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2013,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2018,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2021,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2022,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2024,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2027,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2027,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2032
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - RegionsStats
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - GetReleaseStats
    - EXPECT_GE
    - std::vector::pop_back
    - std::vector::empty
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, b339535705)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:86,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:86,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:88,1
    - Dst: TryLock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:93,1
    - Dst: std::find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:98,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:99,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:100,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - back
    - Unlock
    - std::find
    - TryLock
    - end
    - reinterpret_cast<uintptr_t>
    - pop_back
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - Range::p::start_addr
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - start_addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void RecordAllocation(uintptr_t start_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:115,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:115,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:116,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - start_addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordDeallocation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - back
    - std::find
    - end
    - pop_back
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void RecordDeallocation(uintptr_t start_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:129,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:131,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:136,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - GetParam
    - ExtraRegionFactory::ExtraRegionFactory
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:141,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:141,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:142,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:142,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:152,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: ~HugePageAwareAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - Length
    - stats
    - TC_CHECK_EQ
    - tcmalloc::MallocExtension::SetRegionFactory
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:160,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - in_bytes
    - stats
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::GetFreeBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetFreeBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:182,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:182,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:183,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - forwarder
    - Span*::start_address
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: Span
    signature: Span * AllocatorNew(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:191,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:193,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:193,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:194,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:197,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - Span*::first_page
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    - Range
    - reinterpret_cast<uintptr_t>
    - forwarder
    - Span*::num_pages
    - Span*::start_address
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void AllocatorDelete(Span* s, size_t objects_per_span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:207,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:208,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:209,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:209,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:212,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:214,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - TC_CHECK_NE
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - insert
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    - TC_CHECK
    - Span*::num_pages
    linkageType: ''
    returnType: Span
    signature: Span * New(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:219,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:222,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:223,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:223,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:225,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:226,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - span
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - find
    - erase
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - end
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    - TC_CHECK
    - Span*::num_pages
    linkageType: ''
    returnType: void
    signature: void Delete(Span* span, size_t objects_per_span)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:235,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:236,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:237,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:239,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:239,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:245,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - absl::Bernoulli
    - absl::Uniform<size_t>
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: std::pair<Length, SpanAllocInfo>
    signature: std::pair<Length, SpanAllocInfo> RandomAllocSize(absl::BitGenRef rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    linkageType: ''
    returnType: Length
    signature: Length ReleasePages(Length k, PageReleaseReason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable_collapse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
    linkageType: ''
    returnType: void
    signature: void TreatHugepageTrackers(bool enable_collapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
    linkageType: ''
    returnType: Length
    signature: "Length ReleaseAtLeastNPagesBreakingHugepages(Length n,\n                                               PageReleaseReason
      reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - region
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:278,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:281,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:282,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    - std::string::erase
    - std::string::resize
    - Printer::SpaceRequired
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:289,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:294,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:296,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    - std::string::erase
    - std::string::resize
    - Printer::SpaceRequired
    linkageType: ''
    returnType: std::string
    signature: std::string PrintInPbtxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:320,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:321,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:322,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:327,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:327,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:330,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:331,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:332,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 338
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - New
    - absl::StrFormat
    - std::vector::push_back
    - std::vector::size
    - SCOPED_TRACE
    - Delete
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, Fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:351,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:351,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:355,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: GetFreeBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - New
    - Length
    - std::vector::push_back
    - GetFreeBytes
    - EXPECT_LE
    - push_back
    - Delete
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, JustUnderMultipleOfHugepages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:378,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:378,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:382,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:383,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:383,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:385,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:388,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:388,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:389,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:391,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:392,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:394,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:396,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 404
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - New
    - std::thread
    - std::vector::push_back
    - std::vector::size
    - absl::Barrier::Block
    - Delete
    - join
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, Multithreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:410,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:415,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:416,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:417,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 423
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingLargeForUserRequestedRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:429,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:436,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:437,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 448
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingLargeForBackgroundActions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:454,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:458,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:459,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:459,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 466
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingMemoryLimitHit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:473,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:476,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:478,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:479,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:480,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:481,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:482,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:484,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:486,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:487,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:490,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:491,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 495
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: "void TEST_P(HugePageAwareAllocatorTest,\n       ReleasingLargeForBackgroundActionsWithZeroIntervals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:498,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:499,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:502,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:503,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:504,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:507,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:508,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:509,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:515,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:515,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:516,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:520,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:523,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:528,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:532,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 536
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - raw_num
    - New
    - Length
    - EXPECT_EQ
    - push_back
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:540,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:543,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:543,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:544,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:556,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:556,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:557,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 563
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - push_back
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, HardReleaseSmall)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:570,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:584,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:585,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:586,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:587,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:588,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:589,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:594,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:603,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:604,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:605,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:606,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:622,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:624,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:628,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:631,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:633,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:637,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:648,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:649,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:652,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:653,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:654,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:655,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:656,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:657,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:658,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:659,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:659,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:660,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:662,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:664,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:665,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:666,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:680,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:690,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:694,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:695,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:697,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:697,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:707,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:707,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:708,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:711,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:717,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:724,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 726
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - UseHugeRegionMoreOften
    - NHugePages
    - ReleaseAtLeastNPagesBreakingHugepages
    - DonatedHugePages
    - New
    - ASSERT_LT
    - HLFromBytes
    - LengthFromBytes
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - Length::in_bytes
    - RefreshStats
    - std::vector::emplace_back
    - info
    - EXPECT_GE
    - region
    - Delete
    - AbandonedPages
    - ReleaseAtLeastNPages
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, UseHugeRegion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:737,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:744,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:745,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:746,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:748,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:751,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:751,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:752,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:752,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:759,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:760,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:762,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:766,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:770,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:770,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:772,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:780,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:781,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:782,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:787,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:787,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:792,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:797,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:797,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:806,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:808,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:811,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:811,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:812,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:812,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 817
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - info
    - EXPECT_THAT
    - PrintInPbtxt
    - Print
    - HasSubstr
    - Delete
    - AbandonedPages
    - NHugePages
    - absl::StrCat
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedHugePages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:822,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:828,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:829,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:837,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:838,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:839,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:841,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:843,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:844,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:846,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:846,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:847,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:847,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:853,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:854,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:858,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:858,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:861,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:861,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:867,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:867,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:868,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:871,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:877,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:878,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:881,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:882,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:883,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:883,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:887,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:890,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:891,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:892,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:896,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:899,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:906,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:908,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:910,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:912,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:913,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:914,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:914,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:915,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:919,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:923,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:923,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 925
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - DonatedHugePages
    - New
    - Length
    - HugePageContaining
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - std::swap
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, SmallDonations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:936,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:943,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:944,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:945,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:950,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:951,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:951,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:963,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:963,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:964,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:964,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:965,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:965,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:971,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:972,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:973,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:974,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:974,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:977,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:978,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:979,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:979,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:980,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 982
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, LargeDonations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:987,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:988,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:993,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1000,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1001,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1002,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1004,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1007,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1012,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1013,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1014,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1015,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1016,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1016,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1017,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1017,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1022,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1023,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1023,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1024,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1024,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1025,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1025,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1028,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1029,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1030,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1031,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1031,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1032,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1032,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1035,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1039,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1039,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1040,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1040,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1043,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1046,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1047,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1047,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1051,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1053,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1053,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1054,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1054,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1057,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1058,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1059,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1059,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1060,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1060,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1061,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1062
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, TailDonation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1068,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1072,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1080,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1081,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1082,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1087,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1088,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1088,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1089,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1089,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1093,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1095,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1097,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1102,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1104,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1104,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1105,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1107,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1109,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1114,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1114,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1117,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1119,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1120,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1122
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, NotDonated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1135,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1136,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1136,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1140,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1143,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1147,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1150,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1150,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1156
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - Delete
    - ::operator delete
    - ::operator new
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, PageMapInterference)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1160,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1172,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1173,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1174,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1175,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1177,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1178,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1184,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1191,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1194,1
    - Dst: cache
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1194,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1195,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1201
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - stats
    - EXPECT_LE
    - cache
    - Delete
    - Print
    - ASSERT_NE
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, LargeSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1205,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1211,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1215,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1216,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1219,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1222,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1223,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1224,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1228
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Delete
    - New
    - ASSERT_NE
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedPageLists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1231,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1238,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1239,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1242,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1243,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1245,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1246,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1249,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1250,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1252,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1253,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1255,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1256,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1262,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1264,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1267,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1268,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1269,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1270,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1271,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1272,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1279,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1280
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - NHugePages
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonationAccounting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1286,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1289,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1291,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1297
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - New
    - Delete
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DISABLED_OOM)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1314,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1315,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1315,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1325
    functionName: tcmalloc::tcmalloc_internal::BytesInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - TC_CHECK_EQ
    - static_cast<char*>
    - mincore
    - std::min
    linkageType: ''
    returnType: size_t
    signature: size_t BytesInCore(void* p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BytesInCore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1329,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1330
    functionName: tcmalloc::tcmalloc_internal::HugePageResident
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - HugePage::start_addr
    - tcmalloc::tcmalloc_internal::BytesInCore
    linkageType: ''
    returnType: bool
    signature: bool HugePageResident(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1334,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1334,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1339
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - std::max<size_t>
    - PageId::start_addr
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void Touch(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1345,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1351
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::Touch
    - HugePage::first_page
    linkageType: ''
    returnType: void
    signature: void Touch(HugePage hp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1355,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1357,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1359,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageResident
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1366,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1368,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1354
    functionDepth: 3
    functionLinenumber: 1354
    functionLinenumberEnd: 1376
    functionName: tcmalloc::tcmalloc_internal::TouchTHP
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - HugePageContaining
    - tcmalloc::tcmalloc_internal::HugePageResident
    - tcmalloc::tcmalloc_internal::Touch
    linkageType: ''
    returnType: void
    signature: void TouchTHP(Span* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1382
    functionName: tcmalloc::tcmalloc_internal::StatTest::StatTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytesInCore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1396
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::Memory
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - BytesInCore
    linkageType: ''
    returnType: MemoryBytes
    signature: MemoryBytes Memory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<StaticForwarder*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1401,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1411
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    - TC_CHECK_LT
    - static_cast<StaticForwarder*>
    linkageType: ''
    returnType: AddressRange
    signature: AddressRange AllocatePages(size_t bytes, size_t align, MemoryTag tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1423
    functionName: tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: MemoryBytes
    signature: MemoryBytes GetSystemBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1428,1
    - Dst: HookedAllocator::HookedAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1431
    functionName: tcmalloc::tcmalloc_internal::StatTest::PrepTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HookedAllocator::HookedAllocator
    - memset
    linkageType: ''
    returnType: void
    signature: void PrepTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1433
    functionName: ~StatTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StatTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1439
    functionName: tcmalloc::tcmalloc_internal::StatTest::Stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - stats
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats Stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1445,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1447,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1449,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1449,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1454,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1455
    functionName: tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - Length
    linkageType: ''
    returnType: Length
    signature: Length RandomAllocSize(absl::BitGenRef rng)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1458,1
    - Dst: TouchTHP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1459,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1460,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1460,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1466
    functionName: tcmalloc::tcmalloc_internal::StatTest::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_LE
    - Span*::num_pages
    - New
    - TouchTHP
    linkageType: ''
    returnType: Span
    signature: Span * Alloc(Length n, SpanAllocInfo span_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1469,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1473,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1477,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1479,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - span_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1483
    functionName: tcmalloc::tcmalloc_internal::StatTest::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - Range
    - Delete
    - forwarder
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void Free(Span* s, SpanAllocInfo span_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1486,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1487,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1492,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1493,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1497,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1498,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1498,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1500,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1500,1
    - Dst: LargeSpanStats::normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1502,1
    - Dst: LargeSpanStats::returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1503,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1506,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1508,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1509,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1510,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1512,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1514
    functionName: tcmalloc::tcmalloc_internal::StatTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    - LargeSpanStats::returned_pages::in_bytes
    - Length
    - GetLargeSpanStats
    - LargeSpanStats::normal_pages::in_bytes
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::StatTest::Stats
    - in_bytes
    - GetSmallSpanStats
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrepTest
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1531,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1537,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1538,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1541,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1546,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1548,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1549,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1550,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1552,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1553,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1555,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1561,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1565,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1567,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1571,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1572,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1573,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1574,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1575,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1580
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - Alloc
    - absl::LogUniform<int32_t>
    - absl::Bernoulli
    - Lock
    - stats
    - Unlock
    - Free
    - PrepTest
    - ReleaseAtLeastNPages
    - ASSERT_EQ
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatTest, Basic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1593,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1595,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1606,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1614,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1618,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1621,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1623,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1627,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1627,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1629,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1636
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - spans::empty
    - Length
    - spans::back
    - spans::pop_back
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - benchmark::DoNotOptimize
    - spans::size
    - ReleasePages
    - TreatHugepageTrackers
    - AllocatorNew
    - absl::Uniform
    - std::vector::resize
    - absl::LogUniform
    - TC_CHECK_NE
    - absl::SleepFor
    - absl::Bernoulli
    - AllocatorDelete
    - absl::Uniform<size_t>
    - Print
    - spans::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ParallelRelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1590
    functionName: tcmalloc::tcmalloc_internal::Metadata
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED Metadata
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1648,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1649,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1653,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1654,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1654,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1655,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1662,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1663,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1663,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1666,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1667,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1669,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1669,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1671,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1674,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1676,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1688,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1688,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1689,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1693,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1701
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - spans::empty
    - Length
    - spans::back
    - spans::pop_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - spans::size
    - forwarder
    - load
    - TreatHugepageTrackers
    - AllocatorNew
    - std::thread
    - std::vector::resize
    - std::atomic::store
    - join
    - absl::LogUniform
    - TC_CHECK_NE
    - std::vector::push_back
    - absl::SleepFor
    - absl::Bernoulli
    - AllocatorDelete
    - std::thread::join
    - std::ref
    - absl::Uniform<size_t>
    - spans::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, StressCollapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1645
    functionName: tcmalloc::tcmalloc_internal::Metadata
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED Metadata
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - allocator
    argTypes:
    - FakeHugePageAwareAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1716
    functionName: tcmalloc::tcmalloc_internal::SpanDeleter
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpanDeleter(FakeHugePageAwareAllocator* /*absl_nonnull*/ allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1721,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1725,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1727,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1731
    functionName: tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - Range
    - donated
    - Delete
    - forwarder
    - first_page
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1742,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1748,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1750,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1752,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1753,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1755,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1757,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1757,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1762,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1763
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ReleaseAtLeastNPagesBreakingHugepages
    - data
    - Length
    - GetReleaseStats
    - tcmalloc::MallocExtension::SetRegionFactory
    - forwarder
    - ASSERT_EQ
    - FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1766,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1767,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1767,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1765
    functionDepth: 2
    functionLinenumber: 1765
    functionLinenumberEnd: 1771
    functionName: ~GetReleaseStatsTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - ReleaseAtLeastNPagesBreakingHugepages
    - tcmalloc::MallocExtension::SetRegionFactory
    - Length
    linkageType: ''
    returnType: void
    signature: void ~GetReleaseStatsTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1773
    functionName: '& allocator()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FakeHugePageAwareAllocator
    signature: FakeHugePageAwareAllocator & allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1778
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1783,1
    - Dst: SpanDeleter
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1784,1
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1785
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - SpanDeleter
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1791
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1798
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1813,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1814,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1814,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1816,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1816,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1819,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1823,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1825,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1829,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1834
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, GetReleaseStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1837,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1840,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1843,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1844,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1846,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1849,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1850,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1852,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1854,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1855,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1859,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1859,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1865,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1866,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1867,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1870,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1870,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1877,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1878,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1881,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1881,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1893,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1901
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, ReasonsTrackedSeparately)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1905,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1905,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1907,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1910,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1910,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1913,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1914,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1914,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1919,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1920,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1920,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1923,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1926,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1927,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1927,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1931,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1933,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1937,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1937,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1944,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1947
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GetReleaseStatsTest,\n       ReleaseSinglePageAfterBreakingHugepagesRequiresBreakingAgain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1951,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1951,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1952,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1959,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1964
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GetReleaseStatsTest,\n       ReleaseAfterNewDeleteSinglePageDoesNotRequireBreakingHugepages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1967,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1968,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1969,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1971,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1971,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1975,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1975,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1981,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1985,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1991
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, ReleaseAfterPartialReleaseContinuesTrackingStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2002,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2005,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2005,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2007,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2008,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2008,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2009,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2010,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2010,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2012,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2013,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2018,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2021,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2022,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2024,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2027,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2027,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2032
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - RegionsStats
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - GetReleaseStats
    - EXPECT_GE
    - std::vector::pop_back
    - std::vector::empty
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, b339535705)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:86,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:86,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:88,1
    - Dst: TryLock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:93,1
    - Dst: std::find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:98,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:99,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:100,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - back
    - Unlock
    - std::find
    - TryLock
    - end
    - reinterpret_cast<uintptr_t>
    - pop_back
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - Range::p::start_addr
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - start_addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void RecordAllocation(uintptr_t start_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:115,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:115,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:116,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - start_addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordDeallocation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - back
    - std::find
    - end
    - pop_back
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void RecordDeallocation(uintptr_t start_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:129,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:131,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:136,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - GetParam
    - ExtraRegionFactory::ExtraRegionFactory
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:141,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:141,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:142,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:142,1
    - Dst: tcmalloc_internal::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:152,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: ~HugePageAwareAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - Length
    - tcmalloc_internal::stats
    - TC_CHECK_EQ
    - tcmalloc::MallocExtension::SetRegionFactory
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:160,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 8
    functionsReached:
    - in_bytes
    - stats
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::GetFreeBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetFreeBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:182,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:182,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:183,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - forwarder
    - Span*::start_address
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: Span
    signature: Span * AllocatorNew(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:191,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:193,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:193,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:194,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:197,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - Span*::first_page
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    - Range
    - reinterpret_cast<uintptr_t>
    - forwarder
    - Span*::num_pages
    - Span*::start_address
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void AllocatorDelete(Span* s, size_t objects_per_span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:207,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:208,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:209,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:209,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:212,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:214,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - TC_CHECK_NE
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - insert
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    - TC_CHECK
    - Span*::num_pages
    linkageType: ''
    returnType: Span
    signature: Span * New(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:219,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:222,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:223,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:223,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:225,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:226,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - span
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - find
    - erase
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - end
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    - TC_CHECK
    - Span*::num_pages
    linkageType: ''
    returnType: void
    signature: void Delete(Span* span, size_t objects_per_span)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:235,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:236,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:237,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:239,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:239,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:245,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - absl::Bernoulli
    - absl::Uniform<size_t>
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: std::pair<Length, SpanAllocInfo>
    signature: std::pair<Length, SpanAllocInfo> RandomAllocSize(absl::BitGenRef rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    linkageType: ''
    returnType: Length
    signature: Length ReleasePages(Length k, PageReleaseReason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable_collapse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
    linkageType: ''
    returnType: void
    signature: void TreatHugepageTrackers(bool enable_collapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
    linkageType: ''
    returnType: Length
    signature: "Length ReleaseAtLeastNPagesBreakingHugepages(Length n,\n                                               PageReleaseReason
      reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - region
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:278,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:281,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:282,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    - std::string::erase
    - std::string::resize
    - Printer::SpaceRequired
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:289,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:294,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:296,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    - std::string::erase
    - std::string::resize
    - Printer::SpaceRequired
    linkageType: ''
    returnType: std::string
    signature: std::string PrintInPbtxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:320,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:321,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:322,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:327,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:327,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:330,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:331,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:332,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 338
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - New
    - absl::StrFormat
    - std::vector::push_back
    - std::vector::size
    - SCOPED_TRACE
    - Delete
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, Fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:351,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:351,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:355,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: GetFreeBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - New
    - Length
    - std::vector::push_back
    - GetFreeBytes
    - EXPECT_LE
    - push_back
    - Delete
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, JustUnderMultipleOfHugepages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:378,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:378,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:382,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:383,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:383,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:385,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:388,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:388,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:389,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:391,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:392,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:394,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:396,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 404
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - New
    - std::thread
    - std::vector::push_back
    - std::vector::size
    - absl::Barrier::Block
    - Delete
    - join
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, Multithreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:410,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:415,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:416,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:417,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 423
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingLargeForUserRequestedRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:429,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:436,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:437,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 448
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingLargeForBackgroundActions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:454,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:458,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:459,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:459,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 466
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingMemoryLimitHit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:473,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:476,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:478,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:479,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:480,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:481,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:482,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:484,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:486,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:487,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:490,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:491,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 495
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: "void TEST_P(HugePageAwareAllocatorTest,\n       ReleasingLargeForBackgroundActionsWithZeroIntervals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:498,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:499,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:502,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:503,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:504,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:507,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:508,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:509,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:515,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:515,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:516,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:520,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:523,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:528,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:532,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 536
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - raw_num
    - New
    - Length
    - EXPECT_EQ
    - push_back
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:540,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:543,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:543,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:544,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:556,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:556,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:557,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 563
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - push_back
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, HardReleaseSmall)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:570,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:584,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:585,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:586,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:587,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:588,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:589,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:594,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:603,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:604,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:605,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:606,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:622,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:624,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:628,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:631,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:633,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:637,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:648,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:649,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:652,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:653,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:654,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:655,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:656,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:657,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:658,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:659,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:659,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:660,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:662,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:664,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:665,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:666,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:680,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:690,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:694,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:695,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:697,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:697,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:707,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:707,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:708,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:711,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:717,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:724,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 726
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - UseHugeRegionMoreOften
    - NHugePages
    - ReleaseAtLeastNPagesBreakingHugepages
    - DonatedHugePages
    - New
    - ASSERT_LT
    - HLFromBytes
    - LengthFromBytes
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - Length::in_bytes
    - RefreshStats
    - std::vector::emplace_back
    - info
    - EXPECT_GE
    - region
    - Delete
    - AbandonedPages
    - ReleaseAtLeastNPages
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, UseHugeRegion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:737,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:744,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:745,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:746,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:748,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:751,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:751,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:752,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:752,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:759,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:760,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:762,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:766,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:770,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:770,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:772,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:780,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:781,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:782,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:787,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:787,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:792,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:797,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:797,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:806,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:808,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:811,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:811,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:812,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:812,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 817
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - info
    - EXPECT_THAT
    - PrintInPbtxt
    - Print
    - HasSubstr
    - Delete
    - AbandonedPages
    - NHugePages
    - absl::StrCat
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedHugePages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:822,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:828,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:829,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:837,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:838,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:839,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:841,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:843,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:844,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:846,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:846,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:847,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:847,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:853,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:854,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:858,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:858,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:861,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:861,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:867,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:867,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:868,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:871,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:877,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:878,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:881,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:882,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:883,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:883,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:887,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:890,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:891,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:892,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:896,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:899,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:906,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:908,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:910,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:912,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:913,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:914,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:914,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:915,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:919,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:923,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:923,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 925
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - DonatedHugePages
    - New
    - Length
    - HugePageContaining
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - std::swap
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, SmallDonations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:936,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:943,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:944,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:945,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:950,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:951,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:951,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:963,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:963,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:964,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:964,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:965,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:965,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:971,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:972,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:973,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:974,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:974,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:977,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:978,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:979,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:979,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:980,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 982
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, LargeDonations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:987,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:988,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:993,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1000,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1001,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1002,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1004,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1007,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1012,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1013,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1014,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1015,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1016,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1016,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1017,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1017,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1022,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1023,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1023,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1024,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1024,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1025,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1025,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1028,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1029,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1030,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1031,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1031,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1032,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1032,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1035,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1039,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1039,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1040,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1040,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1043,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1046,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1047,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1047,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1051,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1053,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1053,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1054,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1054,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1057,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1058,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1059,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1059,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1060,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1060,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1061,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1062
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, TailDonation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1068,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1072,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1080,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1081,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1082,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1087,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1088,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1088,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1089,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1089,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1093,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1095,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1097,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1102,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1104,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1104,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1105,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1107,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1109,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1114,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1114,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1117,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1119,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1120,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1122
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, NotDonated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1135,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1136,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1136,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1140,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1143,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1147,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1150,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1150,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1156
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - Delete
    - ::operator delete
    - ::operator new
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, PageMapInterference)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1160,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1172,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1173,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1174,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1175,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1177,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1178,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1184,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1191,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1194,1
    - Dst: cache
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1194,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1195,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1201
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - stats
    - EXPECT_LE
    - cache
    - Delete
    - Print
    - ASSERT_NE
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, LargeSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1205,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1211,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1215,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1216,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1219,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1222,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1223,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1224,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1228
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Delete
    - New
    - ASSERT_NE
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedPageLists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1231,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1238,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1239,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1242,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1243,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1245,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1246,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1249,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1250,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1252,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1253,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1255,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1256,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1262,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1264,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1267,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1268,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1269,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1270,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1271,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1272,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1279,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1280
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - NHugePages
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonationAccounting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1286,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1289,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1291,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1297
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - New
    - Delete
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DISABLED_OOM)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1314,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1315,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1315,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1325
    functionName: tcmalloc::tcmalloc_internal::BytesInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - TC_CHECK_EQ
    - static_cast<char*>
    - mincore
    - std::min
    linkageType: ''
    returnType: size_t
    signature: size_t BytesInCore(void* p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BytesInCore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1329,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1330
    functionName: tcmalloc::tcmalloc_internal::HugePageResident
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - HugePage::start_addr
    - tcmalloc::tcmalloc_internal::BytesInCore
    linkageType: ''
    returnType: bool
    signature: bool HugePageResident(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1334,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1334,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1339
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 8
    functionsReached:
    - std::max<size_t>
    - PageId::start_addr
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void Touch(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1345,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1351
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 9
    functionsReached:
    - tcmalloc::tcmalloc_internal::Touch
    - HugePage::first_page
    linkageType: ''
    returnType: void
    signature: void Touch(HugePage hp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1355,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1357,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1359,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageResident
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1366,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1368,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1354
    functionDepth: 3
    functionLinenumber: 1354
    functionLinenumberEnd: 1376
    functionName: tcmalloc::tcmalloc_internal::TouchTHP
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - HugePageContaining
    - tcmalloc::tcmalloc_internal::HugePageResident
    - tcmalloc::tcmalloc_internal::Touch
    linkageType: ''
    returnType: void
    signature: void TouchTHP(Span* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1382
    functionName: tcmalloc::tcmalloc_internal::StatTest::StatTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytesInCore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1396
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::Memory
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - BytesInCore
    linkageType: ''
    returnType: MemoryBytes
    signature: MemoryBytes Memory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<StaticForwarder*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1401,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1411
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    - TC_CHECK_LT
    - static_cast<StaticForwarder*>
    linkageType: ''
    returnType: AddressRange
    signature: AddressRange AllocatePages(size_t bytes, size_t align, MemoryTag tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1423
    functionName: tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: MemoryBytes
    signature: MemoryBytes GetSystemBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1428,1
    - Dst: HookedAllocator::HookedAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1431
    functionName: tcmalloc::tcmalloc_internal::StatTest::PrepTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HookedAllocator::HookedAllocator
    - memset
    linkageType: ''
    returnType: void
    signature: void PrepTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1433
    functionName: ~StatTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StatTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1439
    functionName: tcmalloc::tcmalloc_internal::StatTest::Stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - stats
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats Stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1445,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1447,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1449,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1449,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1454,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1455
    functionName: tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - Length
    linkageType: ''
    returnType: Length
    signature: Length RandomAllocSize(absl::BitGenRef rng)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1458,1
    - Dst: TouchTHP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1459,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1460,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1460,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1466
    functionName: tcmalloc::tcmalloc_internal::StatTest::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_LE
    - Span*::num_pages
    - New
    - TouchTHP
    linkageType: ''
    returnType: Span
    signature: Span * Alloc(Length n, SpanAllocInfo span_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1469,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1473,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1477,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1479,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - span_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1483
    functionName: tcmalloc::tcmalloc_internal::StatTest::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - Range
    - Delete
    - forwarder
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void Free(Span* s, SpanAllocInfo span_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1486,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1487,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1492,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1493,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1497,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1498,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1498,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1500,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1500,1
    - Dst: LargeSpanStats::normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1502,1
    - Dst: LargeSpanStats::returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1503,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1506,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1508,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1509,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1510,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1512,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1514
    functionName: tcmalloc::tcmalloc_internal::StatTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    - LargeSpanStats::returned_pages::in_bytes
    - Length
    - GetLargeSpanStats
    - LargeSpanStats::normal_pages::in_bytes
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::StatTest::Stats
    - in_bytes
    - GetSmallSpanStats
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrepTest
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1531,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1537,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1538,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1541,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1546,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1548,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1549,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1550,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1552,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1553,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1555,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1561,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1565,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1567,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1571,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1572,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1573,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1574,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1575,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1580
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - Alloc
    - absl::LogUniform<int32_t>
    - absl::Bernoulli
    - Lock
    - stats
    - Unlock
    - Free
    - PrepTest
    - ReleaseAtLeastNPages
    - ASSERT_EQ
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatTest, Basic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1593,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1595,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1606,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1614,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1618,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1621,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1623,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1627,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1627,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1629,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1636
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - spans::empty
    - Length
    - spans::back
    - spans::pop_back
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - benchmark::DoNotOptimize
    - spans::size
    - ReleasePages
    - TreatHugepageTrackers
    - AllocatorNew
    - absl::Uniform
    - std::vector::resize
    - absl::LogUniform
    - TC_CHECK_NE
    - absl::SleepFor
    - absl::Bernoulli
    - AllocatorDelete
    - absl::Uniform<size_t>
    - Print
    - spans::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ParallelRelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1590
    functionName: tcmalloc::tcmalloc_internal::Metadata
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED Metadata
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1648,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1649,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1653,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1654,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1654,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1655,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1662,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1663,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1663,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1666,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1667,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1669,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1669,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1671,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1674,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1676,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1688,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1688,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1689,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1693,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1701
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - spans::empty
    - Length
    - spans::back
    - spans::pop_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - spans::size
    - forwarder
    - load
    - TreatHugepageTrackers
    - AllocatorNew
    - std::thread
    - std::vector::resize
    - std::atomic::store
    - join
    - absl::LogUniform
    - TC_CHECK_NE
    - std::vector::push_back
    - absl::SleepFor
    - absl::Bernoulli
    - AllocatorDelete
    - std::thread::join
    - std::ref
    - absl::Uniform<size_t>
    - spans::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, StressCollapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1645
    functionName: tcmalloc::tcmalloc_internal::Metadata
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED Metadata
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - allocator
    argTypes:
    - FakeHugePageAwareAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1716
    functionName: tcmalloc::tcmalloc_internal::SpanDeleter
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpanDeleter(FakeHugePageAwareAllocator* /*absl_nonnull*/ allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1721,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1725,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1727,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1731
    functionName: tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - Range
    - donated
    - Delete
    - forwarder
    - first_page
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1742,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1748,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1750,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1752,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1753,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1755,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1757,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1757,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1762,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1763
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ReleaseAtLeastNPagesBreakingHugepages
    - data
    - Length
    - GetReleaseStats
    - tcmalloc::MallocExtension::SetRegionFactory
    - forwarder
    - ASSERT_EQ
    - FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1766,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1767,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1767,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1765
    functionDepth: 2
    functionLinenumber: 1765
    functionLinenumberEnd: 1771
    functionName: ~GetReleaseStatsTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - ReleaseAtLeastNPagesBreakingHugepages
    - tcmalloc::MallocExtension::SetRegionFactory
    - Length
    linkageType: ''
    returnType: void
    signature: void ~GetReleaseStatsTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1773
    functionName: '& allocator()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FakeHugePageAwareAllocator
    signature: FakeHugePageAwareAllocator & allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1778
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1783,1
    - Dst: SpanDeleter
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1784,1
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1785
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - SpanDeleter
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1791
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1798
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1813,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1814,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1814,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1816,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1816,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1819,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1823,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1825,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1829,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1834
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, GetReleaseStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1837,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1840,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1843,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1844,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1846,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1849,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1850,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1852,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1854,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1855,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1859,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1859,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1865,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1866,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1867,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1870,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1870,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1877,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1878,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1881,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1881,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1893,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1901
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, ReasonsTrackedSeparately)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1905,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1905,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1907,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1910,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1910,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1913,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1914,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1914,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1919,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1920,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1920,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1923,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1926,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1927,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1927,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1931,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1933,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1937,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1937,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1944,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1947
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GetReleaseStatsTest,\n       ReleaseSinglePageAfterBreakingHugepagesRequiresBreakingAgain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1951,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1951,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1952,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1959,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1964
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GetReleaseStatsTest,\n       ReleaseAfterNewDeleteSinglePageDoesNotRequireBreakingHugepages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1967,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1968,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1969,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1971,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1971,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1975,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1975,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1981,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1985,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1991
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, ReleaseAfterPartialReleaseContinuesTrackingStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2002,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2005,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2005,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2007,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2008,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2008,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2009,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2010,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2010,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2012,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2013,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2018,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2021,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2022,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2024,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2027,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2027,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2032
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - RegionsStats
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - GetReleaseStats
    - EXPECT_GE
    - std::vector::pop_back
    - std::vector::empty
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, b339535705)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:86,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:86,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:88,1
    - Dst: TryLock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:93,1
    - Dst: std::find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:98,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:99,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:100,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - back
    - Unlock
    - std::find
    - TryLock
    - end
    - reinterpret_cast<uintptr_t>
    - pop_back
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - Range::p::start_addr
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - start_addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void RecordAllocation(uintptr_t start_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:115,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:115,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:116,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - start_addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordDeallocation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - back
    - std::find
    - end
    - pop_back
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void RecordDeallocation(uintptr_t start_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:129,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:131,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:136,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - GetParam
    - ExtraRegionFactory::ExtraRegionFactory
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:141,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:141,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:142,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:142,1
    - Dst: tcmalloc_internal::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:152,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: ~HugePageAwareAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - Length
    - tcmalloc_internal::stats
    - TC_CHECK_EQ
    - tcmalloc::MallocExtension::SetRegionFactory
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:160,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 10
    functionsReached:
    - in_bytes
    - stats
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::GetFreeBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetFreeBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:182,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:182,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:183,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - forwarder
    - Span*::start_address
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: Span
    signature: Span * AllocatorNew(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:191,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:193,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:193,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:194,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:197,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - Span*::first_page
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    - Range
    - reinterpret_cast<uintptr_t>
    - forwarder
    - Span*::num_pages
    - Span*::start_address
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void AllocatorDelete(Span* s, size_t objects_per_span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:207,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:208,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:209,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:209,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:212,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:214,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - TC_CHECK_NE
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - insert
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    - TC_CHECK
    - Span*::num_pages
    linkageType: ''
    returnType: Span
    signature: Span * New(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:219,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:222,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:223,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:223,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:225,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:226,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - span
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - find
    - erase
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - end
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    - TC_CHECK
    - Span*::num_pages
    linkageType: ''
    returnType: void
    signature: void Delete(Span* span, size_t objects_per_span)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:235,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:236,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:237,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:239,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:239,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:245,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - absl::Bernoulli
    - absl::Uniform<size_t>
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: std::pair<Length, SpanAllocInfo>
    signature: std::pair<Length, SpanAllocInfo> RandomAllocSize(absl::BitGenRef rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    linkageType: ''
    returnType: Length
    signature: Length ReleasePages(Length k, PageReleaseReason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable_collapse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
    linkageType: ''
    returnType: void
    signature: void TreatHugepageTrackers(bool enable_collapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
    linkageType: ''
    returnType: Length
    signature: "Length ReleaseAtLeastNPagesBreakingHugepages(Length n,\n                                               PageReleaseReason
      reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - region
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:278,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:281,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:282,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    - std::string::erase
    - std::string::resize
    - Printer::SpaceRequired
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:289,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:294,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:296,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    - std::string::erase
    - std::string::resize
    - Printer::SpaceRequired
    linkageType: ''
    returnType: std::string
    signature: std::string PrintInPbtxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:320,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:321,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:322,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:327,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:327,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:330,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:331,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:332,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 338
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - New
    - absl::StrFormat
    - std::vector::push_back
    - std::vector::size
    - SCOPED_TRACE
    - Delete
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, Fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:351,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:351,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:355,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: GetFreeBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - New
    - Length
    - std::vector::push_back
    - GetFreeBytes
    - EXPECT_LE
    - push_back
    - Delete
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, JustUnderMultipleOfHugepages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:378,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:378,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:382,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:383,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:383,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:385,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:388,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:388,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:389,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:391,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:392,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:394,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:396,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 404
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - New
    - std::thread
    - std::vector::push_back
    - std::vector::size
    - absl::Barrier::Block
    - Delete
    - join
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, Multithreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:410,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:415,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:416,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:417,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 423
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingLargeForUserRequestedRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:429,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:436,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:437,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 448
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingLargeForBackgroundActions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:454,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:458,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:459,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:459,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 466
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingMemoryLimitHit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:473,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:476,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:478,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:479,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:480,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:481,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:482,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:484,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:486,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:487,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:490,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:491,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 495
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: "void TEST_P(HugePageAwareAllocatorTest,\n       ReleasingLargeForBackgroundActionsWithZeroIntervals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:498,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:499,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:502,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:503,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:504,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:507,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:508,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:509,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:515,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:515,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:516,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:520,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:523,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:528,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:532,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 536
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - raw_num
    - New
    - Length
    - EXPECT_EQ
    - push_back
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:540,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:543,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:543,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:544,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:556,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:556,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:557,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 563
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - push_back
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, HardReleaseSmall)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:570,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:584,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:585,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:586,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:587,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:588,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:589,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:594,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:603,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:604,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:605,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:606,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:622,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:624,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:628,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:631,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:633,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:637,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:648,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:649,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:652,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:653,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:654,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:655,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:656,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:657,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:658,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:659,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:659,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:660,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:662,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:664,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:665,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:666,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:680,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:690,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:694,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:695,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:697,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:697,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:707,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:707,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:708,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:711,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:717,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:724,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 726
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - UseHugeRegionMoreOften
    - NHugePages
    - ReleaseAtLeastNPagesBreakingHugepages
    - DonatedHugePages
    - New
    - ASSERT_LT
    - HLFromBytes
    - LengthFromBytes
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - Length::in_bytes
    - RefreshStats
    - std::vector::emplace_back
    - info
    - EXPECT_GE
    - region
    - Delete
    - AbandonedPages
    - ReleaseAtLeastNPages
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, UseHugeRegion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:737,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:744,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:745,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:746,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:748,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:751,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:751,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:752,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:752,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:759,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:760,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:762,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:766,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:770,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:770,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:772,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:780,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:781,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:782,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:787,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:787,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:792,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:797,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:797,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:806,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:808,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:811,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:811,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:812,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:812,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 817
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - info
    - EXPECT_THAT
    - PrintInPbtxt
    - Print
    - HasSubstr
    - Delete
    - AbandonedPages
    - NHugePages
    - absl::StrCat
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedHugePages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:822,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:828,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:829,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:837,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:838,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:839,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:841,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:843,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:844,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:846,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:846,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:847,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:847,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:853,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:854,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:858,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:858,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:861,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:861,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:867,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:867,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:868,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:871,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:877,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:878,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:881,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:882,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:883,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:883,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:887,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:890,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:891,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:892,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:896,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:899,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:906,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:908,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:910,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:912,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:913,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:914,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:914,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:915,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:919,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:923,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:923,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 925
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - DonatedHugePages
    - New
    - Length
    - HugePageContaining
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - std::swap
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, SmallDonations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:936,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:943,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:944,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:945,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:950,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:951,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:951,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:963,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:963,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:964,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:964,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:965,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:965,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:971,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:972,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:973,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:974,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:974,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:977,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:978,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:979,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:979,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:980,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 982
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, LargeDonations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:987,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:988,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:993,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1000,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1001,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1002,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1004,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1007,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1012,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1013,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1014,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1015,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1016,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1016,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1017,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1017,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1022,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1023,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1023,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1024,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1024,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1025,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1025,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1028,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1029,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1030,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1031,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1031,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1032,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1032,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1035,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1039,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1039,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1040,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1040,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1043,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1046,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1047,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1047,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1051,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1053,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1053,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1054,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1054,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1057,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1058,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1059,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1059,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1060,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1060,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1061,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1062
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, TailDonation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1068,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1072,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1080,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1081,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1082,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1087,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1088,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1088,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1089,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1089,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1093,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1095,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1097,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1102,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1104,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1104,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1105,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1107,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1109,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1114,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1114,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1117,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1119,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1120,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1122
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, NotDonated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1135,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1136,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1136,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1140,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1143,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1147,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1150,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1150,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1156
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - Delete
    - ::operator delete
    - ::operator new
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, PageMapInterference)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1160,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1172,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1173,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1174,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1175,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1177,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1178,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1184,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1191,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1194,1
    - Dst: cache
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1194,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1195,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1201
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - stats
    - EXPECT_LE
    - cache
    - Delete
    - Print
    - ASSERT_NE
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, LargeSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1205,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1211,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1215,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1216,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1219,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1222,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1223,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1224,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1228
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Delete
    - New
    - ASSERT_NE
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedPageLists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1231,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1238,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1239,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1242,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1243,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1245,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1246,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1249,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1250,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1252,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1253,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1255,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1256,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1262,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1264,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1267,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1268,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1269,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1270,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1271,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1272,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1279,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1280
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - NHugePages
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonationAccounting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1286,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1289,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1291,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1297
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - New
    - Delete
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DISABLED_OOM)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1314,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1315,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1315,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1325
    functionName: tcmalloc::tcmalloc_internal::BytesInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - TC_CHECK_EQ
    - static_cast<char*>
    - mincore
    - std::min
    linkageType: ''
    returnType: size_t
    signature: size_t BytesInCore(void* p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BytesInCore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1329,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1330
    functionName: tcmalloc::tcmalloc_internal::HugePageResident
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - HugePage::start_addr
    - tcmalloc::tcmalloc_internal::BytesInCore
    linkageType: ''
    returnType: bool
    signature: bool HugePageResident(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1334,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1334,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1339
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 10
    functionsReached:
    - std::max<size_t>
    - PageId::start_addr
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void Touch(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1345,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1351
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 11
    functionsReached:
    - tcmalloc::tcmalloc_internal::Touch
    - HugePage::first_page
    linkageType: ''
    returnType: void
    signature: void Touch(HugePage hp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1355,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1357,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1359,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageResident
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1366,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1368,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1354
    functionDepth: 3
    functionLinenumber: 1354
    functionLinenumberEnd: 1376
    functionName: tcmalloc::tcmalloc_internal::TouchTHP
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - HugePageContaining
    - tcmalloc::tcmalloc_internal::HugePageResident
    - tcmalloc::tcmalloc_internal::Touch
    linkageType: ''
    returnType: void
    signature: void TouchTHP(Span* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1382
    functionName: tcmalloc::tcmalloc_internal::StatTest::StatTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytesInCore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1396
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::Memory
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - BytesInCore
    linkageType: ''
    returnType: MemoryBytes
    signature: MemoryBytes Memory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<StaticForwarder*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1401,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1411
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    - TC_CHECK_LT
    - static_cast<StaticForwarder*>
    linkageType: ''
    returnType: AddressRange
    signature: AddressRange AllocatePages(size_t bytes, size_t align, MemoryTag tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1423
    functionName: tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: MemoryBytes
    signature: MemoryBytes GetSystemBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1428,1
    - Dst: HookedAllocator::HookedAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1431
    functionName: tcmalloc::tcmalloc_internal::StatTest::PrepTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HookedAllocator::HookedAllocator
    - memset
    linkageType: ''
    returnType: void
    signature: void PrepTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1433
    functionName: ~StatTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StatTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1439
    functionName: tcmalloc::tcmalloc_internal::StatTest::Stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - stats
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats Stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1445,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1447,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1449,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1449,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1454,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1455
    functionName: tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - Length
    linkageType: ''
    returnType: Length
    signature: Length RandomAllocSize(absl::BitGenRef rng)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1458,1
    - Dst: TouchTHP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1459,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1460,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1460,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1466
    functionName: tcmalloc::tcmalloc_internal::StatTest::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_LE
    - Span*::num_pages
    - New
    - TouchTHP
    linkageType: ''
    returnType: Span
    signature: Span * Alloc(Length n, SpanAllocInfo span_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1469,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1473,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1477,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1479,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - span_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1483
    functionName: tcmalloc::tcmalloc_internal::StatTest::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - Range
    - Delete
    - forwarder
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void Free(Span* s, SpanAllocInfo span_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1486,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1487,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1492,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1493,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1497,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1498,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1498,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1500,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1500,1
    - Dst: LargeSpanStats::normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1502,1
    - Dst: LargeSpanStats::returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1503,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1506,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1508,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1509,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1510,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1512,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1514
    functionName: tcmalloc::tcmalloc_internal::StatTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    - LargeSpanStats::returned_pages::in_bytes
    - Length
    - GetLargeSpanStats
    - LargeSpanStats::normal_pages::in_bytes
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::StatTest::Stats
    - in_bytes
    - GetSmallSpanStats
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrepTest
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1531,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1537,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1538,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1541,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1546,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1548,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1549,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1550,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1552,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1553,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1555,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1561,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1565,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1567,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1571,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1572,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1573,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1574,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1575,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1580
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - Alloc
    - absl::LogUniform<int32_t>
    - absl::Bernoulli
    - Lock
    - stats
    - Unlock
    - Free
    - PrepTest
    - ReleaseAtLeastNPages
    - ASSERT_EQ
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatTest, Basic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1593,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1595,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1606,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1614,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1618,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1621,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1623,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1627,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1627,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1629,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1636
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - spans::empty
    - Length
    - spans::back
    - spans::pop_back
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - benchmark::DoNotOptimize
    - spans::size
    - ReleasePages
    - TreatHugepageTrackers
    - AllocatorNew
    - absl::Uniform
    - std::vector::resize
    - absl::LogUniform
    - TC_CHECK_NE
    - absl::SleepFor
    - absl::Bernoulli
    - AllocatorDelete
    - absl::Uniform<size_t>
    - Print
    - spans::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ParallelRelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1590
    functionName: tcmalloc::tcmalloc_internal::Metadata
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED Metadata
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1648,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1649,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1653,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1654,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1654,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1655,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1662,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1663,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1663,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1666,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1667,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1669,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1669,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1671,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1674,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1676,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1688,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1688,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1689,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1693,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1701
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - spans::empty
    - Length
    - spans::back
    - spans::pop_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - spans::size
    - forwarder
    - load
    - TreatHugepageTrackers
    - AllocatorNew
    - std::thread
    - std::vector::resize
    - std::atomic::store
    - join
    - absl::LogUniform
    - TC_CHECK_NE
    - std::vector::push_back
    - absl::SleepFor
    - absl::Bernoulli
    - AllocatorDelete
    - std::thread::join
    - std::ref
    - absl::Uniform<size_t>
    - spans::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, StressCollapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1645
    functionName: tcmalloc::tcmalloc_internal::Metadata
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED Metadata
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - allocator
    argTypes:
    - FakeHugePageAwareAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1716
    functionName: tcmalloc::tcmalloc_internal::SpanDeleter
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpanDeleter(FakeHugePageAwareAllocator* /*absl_nonnull*/ allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1721,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1725,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1727,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1731
    functionName: tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - Range
    - donated
    - Delete
    - forwarder
    - first_page
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1742,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1748,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1750,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1752,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1753,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1755,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1757,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1757,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1762,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1763
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ReleaseAtLeastNPagesBreakingHugepages
    - data
    - Length
    - GetReleaseStats
    - tcmalloc::MallocExtension::SetRegionFactory
    - forwarder
    - ASSERT_EQ
    - FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1766,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1767,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1767,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1765
    functionDepth: 2
    functionLinenumber: 1765
    functionLinenumberEnd: 1771
    functionName: ~GetReleaseStatsTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - ReleaseAtLeastNPagesBreakingHugepages
    - tcmalloc::MallocExtension::SetRegionFactory
    - Length
    linkageType: ''
    returnType: void
    signature: void ~GetReleaseStatsTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1773
    functionName: '& allocator()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FakeHugePageAwareAllocator
    signature: FakeHugePageAwareAllocator & allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1778
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1783,1
    - Dst: SpanDeleter
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1784,1
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1785
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - SpanDeleter
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1791
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1798
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1813,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1814,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1814,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1816,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1816,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1819,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1823,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1825,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1829,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1834
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, GetReleaseStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1837,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1840,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1843,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1844,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1846,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1849,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1850,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1852,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1854,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1855,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1859,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1859,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1865,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1866,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1867,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1870,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1870,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1877,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1878,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1881,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1881,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1893,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1901
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, ReasonsTrackedSeparately)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1905,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1905,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1907,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1910,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1910,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1913,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1914,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1914,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1919,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1920,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1920,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1923,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1926,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1927,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1927,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1931,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1933,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1937,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1937,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1944,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1947
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GetReleaseStatsTest,\n       ReleaseSinglePageAfterBreakingHugepagesRequiresBreakingAgain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1951,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1951,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1952,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1959,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1964
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GetReleaseStatsTest,\n       ReleaseAfterNewDeleteSinglePageDoesNotRequireBreakingHugepages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1967,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1968,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1969,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1971,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1971,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1975,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1975,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1981,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1985,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1991
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, ReleaseAfterPartialReleaseContinuesTrackingStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2002,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2005,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2005,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2007,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2008,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2008,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2009,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2010,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2010,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2012,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2013,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2018,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2021,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2022,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2024,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2027,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2027,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2032
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - RegionsStats
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - GetReleaseStats
    - EXPECT_GE
    - std::vector::pop_back
    - std::vector::empty
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, b339535705)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:86,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:86,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:88,1
    - Dst: TryLock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:93,1
    - Dst: std::find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:98,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:99,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:100,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - back
    - Unlock
    - std::find
    - TryLock
    - end
    - reinterpret_cast<uintptr_t>
    - pop_back
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - Range::p::start_addr
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - start_addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void RecordAllocation(uintptr_t start_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:115,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:115,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:116,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - start_addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordDeallocation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - back
    - std::find
    - end
    - pop_back
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void RecordDeallocation(uintptr_t start_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:129,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:131,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:136,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - GetParam
    - ExtraRegionFactory::ExtraRegionFactory
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:141,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:141,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:142,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:142,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:152,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: ~HugePageAwareAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - Length
    - stats
    - TC_CHECK_EQ
    - tcmalloc::MallocExtension::SetRegionFactory
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:160,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 12
    functionsReached:
    - in_bytes
    - stats
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::GetFreeBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetFreeBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:182,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:182,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:183,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - forwarder
    - Span*::start_address
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: Span
    signature: Span * AllocatorNew(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:191,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:193,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:193,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:194,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:197,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - Span*::first_page
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    - Range
    - reinterpret_cast<uintptr_t>
    - forwarder
    - Span*::num_pages
    - Span*::start_address
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void AllocatorDelete(Span* s, size_t objects_per_span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:207,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:208,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:209,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:209,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:212,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:214,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - TC_CHECK_NE
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - insert
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    - TC_CHECK
    - Span*::num_pages
    linkageType: ''
    returnType: Span
    signature: Span * New(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:219,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:222,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:223,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:223,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:225,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:226,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - span
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - find
    - erase
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - end
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    - TC_CHECK
    - Span*::num_pages
    linkageType: ''
    returnType: void
    signature: void Delete(Span* span, size_t objects_per_span)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:235,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:236,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:237,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:239,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:239,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:245,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - absl::Bernoulli
    - absl::Uniform<size_t>
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: std::pair<Length, SpanAllocInfo>
    signature: std::pair<Length, SpanAllocInfo> RandomAllocSize(absl::BitGenRef rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    linkageType: ''
    returnType: Length
    signature: Length ReleasePages(Length k, PageReleaseReason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable_collapse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
    linkageType: ''
    returnType: void
    signature: void TreatHugepageTrackers(bool enable_collapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
    linkageType: ''
    returnType: Length
    signature: "Length ReleaseAtLeastNPagesBreakingHugepages(Length n,\n                                               PageReleaseReason
      reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - region
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:278,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:281,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:282,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    - std::string::erase
    - std::string::resize
    - Printer::SpaceRequired
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:289,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:294,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:296,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    - std::string::erase
    - std::string::resize
    - Printer::SpaceRequired
    linkageType: ''
    returnType: std::string
    signature: std::string PrintInPbtxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:320,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:321,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:322,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:327,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:327,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:330,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:331,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:332,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 338
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - New
    - absl::StrFormat
    - std::vector::push_back
    - std::vector::size
    - SCOPED_TRACE
    - Delete
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, Fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:351,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:351,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:355,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: GetFreeBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - New
    - Length
    - std::vector::push_back
    - GetFreeBytes
    - EXPECT_LE
    - push_back
    - Delete
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, JustUnderMultipleOfHugepages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:378,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:378,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:382,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:383,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:383,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:385,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:388,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:388,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:389,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:391,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:392,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:394,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:396,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 404
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - New
    - std::thread
    - std::vector::push_back
    - std::vector::size
    - absl::Barrier::Block
    - Delete
    - join
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, Multithreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:410,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:415,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:416,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:417,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 423
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingLargeForUserRequestedRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:429,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:436,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:437,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 448
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingLargeForBackgroundActions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:454,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:458,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:459,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:459,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 466
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingMemoryLimitHit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:473,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:476,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:478,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:479,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:480,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:481,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:482,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:484,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:486,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:487,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:490,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:491,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 495
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: "void TEST_P(HugePageAwareAllocatorTest,\n       ReleasingLargeForBackgroundActionsWithZeroIntervals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:498,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:499,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:502,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:503,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:504,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:507,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:508,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:509,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:515,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:515,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:516,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:520,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:523,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:528,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:532,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 536
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - raw_num
    - New
    - Length
    - EXPECT_EQ
    - push_back
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:540,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:543,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:543,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:544,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:556,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:556,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:557,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 563
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - push_back
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, HardReleaseSmall)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:570,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:584,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:585,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:586,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:587,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:588,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:589,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:594,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:603,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:604,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:605,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:606,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:622,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:624,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:628,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:631,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:633,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:637,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:648,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:649,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:652,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:653,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:654,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:655,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:656,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:657,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:658,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:659,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:659,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:660,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:662,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:664,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:665,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:666,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:680,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:690,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:694,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:695,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:697,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:697,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:707,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:707,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:708,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:711,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:717,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:724,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 726
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - UseHugeRegionMoreOften
    - NHugePages
    - ReleaseAtLeastNPagesBreakingHugepages
    - DonatedHugePages
    - New
    - ASSERT_LT
    - HLFromBytes
    - LengthFromBytes
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - Length::in_bytes
    - RefreshStats
    - std::vector::emplace_back
    - info
    - EXPECT_GE
    - region
    - Delete
    - AbandonedPages
    - ReleaseAtLeastNPages
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, UseHugeRegion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:737,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:744,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:745,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:746,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:748,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:751,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:751,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:752,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:752,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:759,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:760,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:762,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:766,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:770,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:770,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:772,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:780,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:781,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:782,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:787,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:787,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:792,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:797,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:797,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:806,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:808,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:811,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:811,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:812,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:812,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 817
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - info
    - EXPECT_THAT
    - PrintInPbtxt
    - Print
    - HasSubstr
    - Delete
    - AbandonedPages
    - NHugePages
    - absl::StrCat
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedHugePages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:822,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:828,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:829,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:837,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:838,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:839,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:841,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:843,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:844,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:846,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:846,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:847,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:847,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:853,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:854,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:858,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:858,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:861,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:861,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:867,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:867,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:868,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:871,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:877,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:878,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:881,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:882,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:883,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:883,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:887,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:890,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:891,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:892,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:896,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:899,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:906,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:908,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:910,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:912,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:913,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:914,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:914,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:915,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:919,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:923,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:923,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 925
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - DonatedHugePages
    - New
    - Length
    - HugePageContaining
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - std::swap
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, SmallDonations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:936,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:943,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:944,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:945,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:950,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:951,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:951,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:963,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:963,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:964,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:964,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:965,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:965,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:971,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:972,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:973,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:974,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:974,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:977,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:978,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:979,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:979,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:980,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 982
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, LargeDonations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:987,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:988,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:993,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1000,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1001,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1002,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1004,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1007,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1012,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1013,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1014,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1015,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1016,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1016,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1017,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1017,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1022,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1023,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1023,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1024,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1024,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1025,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1025,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1028,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1029,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1030,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1031,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1031,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1032,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1032,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1035,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1039,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1039,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1040,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1040,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1043,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1046,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1047,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1047,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1051,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1053,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1053,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1054,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1054,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1057,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1058,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1059,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1059,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1060,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1060,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1061,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1062
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, TailDonation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1068,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1072,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1080,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1081,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1082,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1087,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1088,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1088,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1089,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1089,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1093,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1095,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1097,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1102,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1104,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1104,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1105,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1107,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1109,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1114,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1114,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1117,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1119,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1120,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1122
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, NotDonated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1135,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1136,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1136,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1140,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1143,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1147,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1150,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1150,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1156
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - Delete
    - ::operator delete
    - ::operator new
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, PageMapInterference)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1160,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1172,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1173,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1174,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1175,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1177,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1178,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1184,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1191,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1194,1
    - Dst: cache
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1194,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1195,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1201
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - stats
    - EXPECT_LE
    - cache
    - Delete
    - Print
    - ASSERT_NE
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, LargeSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1205,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1211,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1215,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1216,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1219,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1222,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1223,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1224,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1228
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Delete
    - New
    - ASSERT_NE
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedPageLists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1231,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1238,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1239,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1242,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1243,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1245,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1246,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1249,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1250,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1252,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1253,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1255,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1256,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1262,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1264,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1267,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1268,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1269,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1270,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1271,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1272,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1279,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1280
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - NHugePages
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonationAccounting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1286,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1289,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1291,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1297
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - New
    - Delete
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DISABLED_OOM)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1314,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1315,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1315,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1325
    functionName: tcmalloc::tcmalloc_internal::BytesInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - TC_CHECK_EQ
    - static_cast<char*>
    - mincore
    - std::min
    linkageType: ''
    returnType: size_t
    signature: size_t BytesInCore(void* p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BytesInCore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1329,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1330
    functionName: tcmalloc::tcmalloc_internal::HugePageResident
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - HugePage::start_addr
    - tcmalloc::tcmalloc_internal::BytesInCore
    linkageType: ''
    returnType: bool
    signature: bool HugePageResident(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1334,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1334,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1339
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 12
    functionsReached:
    - std::max<size_t>
    - PageId::start_addr
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void Touch(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1345,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1351
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 13
    functionsReached:
    - tcmalloc::tcmalloc_internal::Touch
    - HugePage::first_page
    linkageType: ''
    returnType: void
    signature: void Touch(HugePage hp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1355,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1357,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1359,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageResident
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1366,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1368,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1354
    functionDepth: 3
    functionLinenumber: 1354
    functionLinenumberEnd: 1376
    functionName: tcmalloc::tcmalloc_internal::TouchTHP
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - HugePageContaining
    - tcmalloc::tcmalloc_internal::HugePageResident
    - tcmalloc::tcmalloc_internal::Touch
    linkageType: ''
    returnType: void
    signature: void TouchTHP(Span* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1382
    functionName: tcmalloc::tcmalloc_internal::StatTest::StatTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytesInCore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1396
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::Memory
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - BytesInCore
    linkageType: ''
    returnType: MemoryBytes
    signature: MemoryBytes Memory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<StaticForwarder*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1401,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1411
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    - TC_CHECK_LT
    - static_cast<StaticForwarder*>
    linkageType: ''
    returnType: AddressRange
    signature: AddressRange AllocatePages(size_t bytes, size_t align, MemoryTag tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1423
    functionName: tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: MemoryBytes
    signature: MemoryBytes GetSystemBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1428,1
    - Dst: HookedAllocator::HookedAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1431
    functionName: tcmalloc::tcmalloc_internal::StatTest::PrepTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HookedAllocator::HookedAllocator
    - memset
    linkageType: ''
    returnType: void
    signature: void PrepTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1433
    functionName: ~StatTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StatTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1439
    functionName: tcmalloc::tcmalloc_internal::StatTest::Stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - stats
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats Stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1445,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1447,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1449,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1449,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1454,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1455
    functionName: tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - Length
    linkageType: ''
    returnType: Length
    signature: Length RandomAllocSize(absl::BitGenRef rng)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1458,1
    - Dst: TouchTHP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1459,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1460,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1460,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1466
    functionName: tcmalloc::tcmalloc_internal::StatTest::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_LE
    - Span*::num_pages
    - New
    - TouchTHP
    linkageType: ''
    returnType: Span
    signature: Span * Alloc(Length n, SpanAllocInfo span_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1469,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1473,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1477,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1479,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - span_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1483
    functionName: tcmalloc::tcmalloc_internal::StatTest::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - Range
    - Delete
    - forwarder
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void Free(Span* s, SpanAllocInfo span_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1486,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1487,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1492,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1493,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1497,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1498,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1498,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1500,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1500,1
    - Dst: LargeSpanStats::normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1502,1
    - Dst: LargeSpanStats::returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1503,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1506,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1508,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1509,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1510,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1512,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1514
    functionName: tcmalloc::tcmalloc_internal::StatTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    - LargeSpanStats::returned_pages::in_bytes
    - Length
    - GetLargeSpanStats
    - LargeSpanStats::normal_pages::in_bytes
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::StatTest::Stats
    - in_bytes
    - GetSmallSpanStats
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrepTest
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1531,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1537,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1538,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1541,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1546,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1548,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1549,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1550,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1552,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1553,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1555,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1561,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1565,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1567,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1571,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1572,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1573,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1574,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1575,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1580
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - Alloc
    - absl::LogUniform<int32_t>
    - absl::Bernoulli
    - Lock
    - stats
    - Unlock
    - Free
    - PrepTest
    - ReleaseAtLeastNPages
    - ASSERT_EQ
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatTest, Basic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1593,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1595,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1606,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1614,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1618,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1621,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1623,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1627,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1627,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1629,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1636
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - spans::empty
    - Length
    - spans::back
    - spans::pop_back
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - benchmark::DoNotOptimize
    - spans::size
    - ReleasePages
    - TreatHugepageTrackers
    - AllocatorNew
    - absl::Uniform
    - std::vector::resize
    - absl::LogUniform
    - TC_CHECK_NE
    - absl::SleepFor
    - absl::Bernoulli
    - AllocatorDelete
    - absl::Uniform<size_t>
    - Print
    - spans::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ParallelRelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1590
    functionName: tcmalloc::tcmalloc_internal::Metadata
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED Metadata
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1648,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1649,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1653,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1654,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1654,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1655,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1662,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1663,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1663,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1666,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1667,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1669,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1669,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1671,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1674,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1676,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1688,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1688,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1689,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1693,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1701
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - spans::empty
    - Length
    - spans::back
    - spans::pop_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - spans::size
    - forwarder
    - load
    - TreatHugepageTrackers
    - AllocatorNew
    - std::thread
    - std::vector::resize
    - std::atomic::store
    - join
    - absl::LogUniform
    - TC_CHECK_NE
    - std::vector::push_back
    - absl::SleepFor
    - absl::Bernoulli
    - AllocatorDelete
    - std::thread::join
    - std::ref
    - absl::Uniform<size_t>
    - spans::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, StressCollapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1645
    functionName: tcmalloc::tcmalloc_internal::Metadata
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED Metadata
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - allocator
    argTypes:
    - FakeHugePageAwareAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1716
    functionName: tcmalloc::tcmalloc_internal::SpanDeleter
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpanDeleter(FakeHugePageAwareAllocator* /*absl_nonnull*/ allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1721,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1725,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1727,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1731
    functionName: tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - Range
    - donated
    - Delete
    - forwarder
    - first_page
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1742,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1748,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1750,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1752,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1753,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1755,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1757,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1757,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1762,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1763
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ReleaseAtLeastNPagesBreakingHugepages
    - data
    - Length
    - GetReleaseStats
    - tcmalloc::MallocExtension::SetRegionFactory
    - forwarder
    - ASSERT_EQ
    - FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1766,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1767,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1767,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1765
    functionDepth: 2
    functionLinenumber: 1765
    functionLinenumberEnd: 1771
    functionName: ~GetReleaseStatsTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - ReleaseAtLeastNPagesBreakingHugepages
    - tcmalloc::MallocExtension::SetRegionFactory
    - Length
    linkageType: ''
    returnType: void
    signature: void ~GetReleaseStatsTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1773
    functionName: '& allocator()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FakeHugePageAwareAllocator
    signature: FakeHugePageAwareAllocator & allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1778
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1783,1
    - Dst: SpanDeleter
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1784,1
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1785
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - SpanDeleter
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1791
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1798
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1813,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1814,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1814,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1816,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1816,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1819,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1823,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1825,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1829,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1834
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, GetReleaseStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1837,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1840,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1843,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1844,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1846,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1849,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1850,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1852,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1854,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1855,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1859,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1859,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1865,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1866,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1867,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1870,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1870,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1877,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1878,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1881,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1881,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1893,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1901
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, ReasonsTrackedSeparately)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1905,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1905,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1907,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1910,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1910,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1913,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1914,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1914,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1919,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1920,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1920,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1923,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1926,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1927,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1927,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1931,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1933,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1937,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1937,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1944,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1947
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GetReleaseStatsTest,\n       ReleaseSinglePageAfterBreakingHugepagesRequiresBreakingAgain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1951,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1951,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1952,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1959,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1964
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GetReleaseStatsTest,\n       ReleaseAfterNewDeleteSinglePageDoesNotRequireBreakingHugepages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1967,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1968,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1969,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1971,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1971,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1975,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1975,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1981,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1985,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1991
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, ReleaseAfterPartialReleaseContinuesTrackingStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2002,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2005,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2005,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2007,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2008,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2008,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2009,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2010,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2010,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2012,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2013,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2018,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2021,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2022,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2024,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2027,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2027,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2032
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - RegionsStats
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - GetReleaseStats
    - EXPECT_GE
    - std::vector::pop_back
    - std::vector::empty
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, b339535705)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:86,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:86,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:88,1
    - Dst: TryLock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:93,1
    - Dst: std::find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:97,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:98,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:99,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:100,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - back
    - Unlock
    - std::find
    - TryLock
    - end
    - reinterpret_cast<uintptr_t>
    - pop_back
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - Range::p::start_addr
    linkageType: ''
    returnType: bool
    signature: bool ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - start_addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void RecordAllocation(uintptr_t start_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:114,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:115,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:115,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:116,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - start_addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordDeallocation
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - back
    - std::find
    - end
    - pop_back
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void RecordDeallocation(uintptr_t start_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:129,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:131,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:136,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - GetParam
    - ExtraRegionFactory::ExtraRegionFactory
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocatorTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:141,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:141,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:142,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:142,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:152,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: ~HugePageAwareAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - Length
    - stats
    - TC_CHECK_EQ
    - tcmalloc::MallocExtension::SetRegionFactory
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:160,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 14
    functionsReached:
    - in_bytes
    - stats
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::GetFreeBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetFreeBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:182,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:182,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:183,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - forwarder
    - Span*::start_address
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: Span
    signature: Span * AllocatorNew(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:191,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:193,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:193,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:194,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:196,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:197,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - Span*::first_page
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    - Range
    - reinterpret_cast<uintptr_t>
    - forwarder
    - Span*::num_pages
    - Span*::start_address
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void AllocatorDelete(Span* s, size_t objects_per_span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:207,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:208,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:209,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:209,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:212,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:214,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 8
    functionsReached:
    - TC_CHECK_NE
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - insert
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    - TC_CHECK
    - Span*::num_pages
    linkageType: ''
    returnType: Span
    signature: Span * New(Length n, SpanAllocInfo span_alloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:219,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:222,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:223,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:223,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:225,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:226,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - span
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 8
    functionsReached:
    - find
    - erase
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - end
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    - TC_CHECK
    - Span*::num_pages
    linkageType: ''
    returnType: void
    signature: void Delete(Span* span, size_t objects_per_span)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:235,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:236,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:236,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:237,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:237,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:239,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:239,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:245,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - absl::Bernoulli
    - absl::Uniform<size_t>
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: std::pair<Length, SpanAllocInfo>
    signature: std::pair<Length, SpanAllocInfo> RandomAllocSize(absl::BitGenRef rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    linkageType: ''
    returnType: Length
    signature: Length ReleasePages(Length k, PageReleaseReason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable_collapse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
    linkageType: ''
    returnType: void
    signature: void TreatHugepageTrackers(bool enable_collapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
    linkageType: ''
    returnType: Length
    signature: "Length ReleaseAtLeastNPagesBreakingHugepages(Length n,\n                                               PageReleaseReason
      reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::UseHugeRegionMoreOften
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - region
    linkageType: ''
    returnType: bool
    signature: bool UseHugeRegionMoreOften()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:278,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:281,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:282,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    - std::string::erase
    - std::string::resize
    - Printer::SpaceRequired
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:289,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:294,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:296,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    - std::string::erase
    - std::string::resize
    - Printer::SpaceRequired
    linkageType: ''
    returnType: std::string
    signature: std::string PrintInPbtxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:320,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:321,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:322,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:326,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:327,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:327,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:330,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:331,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:332,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 338
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - New
    - absl::StrFormat
    - std::vector::push_back
    - std::vector::size
    - SCOPED_TRACE
    - Delete
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, Fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:347,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:348,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:351,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:351,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:355,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:357,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: GetFreeBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - New
    - Length
    - std::vector::push_back
    - GetFreeBytes
    - EXPECT_LE
    - push_back
    - Delete
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, JustUnderMultipleOfHugepages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:378,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:378,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:382,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:383,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:383,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:385,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:388,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:388,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:389,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:391,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:392,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:394,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:396,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 404
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - New
    - std::thread
    - std::vector::push_back
    - std::vector::size
    - absl::Barrier::Block
    - Delete
    - join
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, Multithreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:410,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:415,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:415,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:416,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:417,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 423
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingLargeForUserRequestedRelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:429,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:436,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:437,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:441,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 448
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingLargeForBackgroundActions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:454,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:458,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:459,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:459,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 466
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingMemoryLimitHit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:473,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:476,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:478,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:479,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:480,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:481,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:482,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:484,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:486,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:487,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:490,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:491,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 495
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - New
    - EXPECT_EQ
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: "void TEST_P(HugePageAwareAllocatorTest,\n       ReleasingLargeForBackgroundActionsWithZeroIntervals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:498,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:499,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:502,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:503,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:504,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:507,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:508,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:509,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:515,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:515,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:516,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:520,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:523,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:528,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:532,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 536
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - raw_num
    - New
    - Length
    - EXPECT_EQ
    - push_back
    - Delete
    - forwarder
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ReleasingSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:540,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:543,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:543,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:544,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:556,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:556,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:557,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 563
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - push_back
    - ReleasePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, HardReleaseSmall)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:570,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:584,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:585,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:586,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:587,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:588,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:589,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:594,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:603,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:604,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:605,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:606,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:622,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:624,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:628,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:631,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:633,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:637,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:648,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:649,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:652,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:653,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:654,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:655,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:656,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:657,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:658,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:659,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:659,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:660,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:662,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:664,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:665,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:666,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:680,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:690,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:694,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:695,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:697,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:697,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:707,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:707,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:708,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:711,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:717,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:724,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 726
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - UseHugeRegionMoreOften
    - NHugePages
    - ReleaseAtLeastNPagesBreakingHugepages
    - DonatedHugePages
    - New
    - ASSERT_LT
    - HLFromBytes
    - LengthFromBytes
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - Length::in_bytes
    - RefreshStats
    - std::vector::emplace_back
    - info
    - EXPECT_GE
    - region
    - Delete
    - AbandonedPages
    - ReleaseAtLeastNPages
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, UseHugeRegion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:737,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:744,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:745,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:746,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:748,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:751,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:751,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:752,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:752,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:753,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:754,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:759,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:760,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:762,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:766,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:768,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:769,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:770,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:770,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:772,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:780,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:781,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:782,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:787,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:787,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:792,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:797,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:797,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:802,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:806,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:808,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:811,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:811,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:812,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:812,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:815,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 817
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - info
    - EXPECT_THAT
    - PrintInPbtxt
    - Print
    - HasSubstr
    - Delete
    - AbandonedPages
    - NHugePages
    - absl::StrCat
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedHugePages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:822,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:828,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:829,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:837,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:838,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:839,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:841,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:843,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:844,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:846,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:846,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:847,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:847,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:853,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:854,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:858,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:858,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:861,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:861,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:867,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:867,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:868,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:870,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:871,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:877,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:878,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:881,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:882,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:883,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:883,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:887,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:890,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:891,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:892,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:896,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:899,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:906,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:908,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:910,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:912,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:913,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:914,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:914,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:915,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:919,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:923,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:923,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 925
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - DonatedHugePages
    - New
    - Length
    - HugePageContaining
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - std::swap
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, SmallDonations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:936,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:943,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:944,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:945,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:950,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:951,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:951,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:963,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:963,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:964,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:964,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:965,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:965,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:971,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:972,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:973,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:974,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:974,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:977,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:978,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:979,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:979,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:980,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 982
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, LargeDonations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:987,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:988,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:993,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1000,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1001,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1002,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1004,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1007,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1012,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1013,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1014,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1015,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1016,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1016,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1017,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1017,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1022,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1023,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1023,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1024,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1024,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1025,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1025,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1028,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1029,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1030,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1031,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1031,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1032,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1032,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1035,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1039,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1039,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1040,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1040,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1043,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1046,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1047,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1047,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1051,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1053,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1053,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1054,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1054,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1057,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1058,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1059,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1059,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1060,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1060,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1061,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1062
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, TailDonation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1068,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1072,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1080,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1081,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1082,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1087,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1088,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1088,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1089,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1089,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1093,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1095,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1097,1
    - Dst: tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1102,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1104,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1104,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1105,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1107,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1109,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1114,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1114,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1117,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1119,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1120,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1122
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - EXPECT_TRUE
    - info
    - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
    - Delete
    - AbandonedPages
    - NHugePages
    - EXPECT_FALSE
    - Span*::donated
    - RefreshStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, NotDonated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1135,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1136,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1136,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1140,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1143,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1147,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1150,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1150,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1156
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - Delete
    - ::operator delete
    - ::operator new
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, PageMapInterference)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1160,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1172,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1173,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1174,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1175,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1177,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1178,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1184,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1191,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1194,1
    - Dst: cache
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1194,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1195,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1201
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - Length
    - stats
    - EXPECT_LE
    - cache
    - Delete
    - Print
    - ASSERT_NE
    - Length::in_bytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, LargeSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1205,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1211,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1215,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1216,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1219,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1222,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1223,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1224,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1228
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Delete
    - New
    - ASSERT_NE
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedPageLists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1231,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1238,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1239,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1242,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1243,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1245,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1246,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1249,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1250,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1252,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1253,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1255,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1256,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1262,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1264,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1267,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1268,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1269,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1270,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1271,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1272,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1279,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1280
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - DonatedHugePages
    - New
    - Length
    - EXPECT_EQ
    - Delete
    - NHugePages
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonationAccounting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1286,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1289,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1291,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1297
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - New
    - Delete
    - Length
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DISABLED_OOM)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1314,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1315,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1315,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1325
    functionName: tcmalloc::tcmalloc_internal::BytesInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - TC_CHECK_EQ
    - static_cast<char*>
    - mincore
    - std::min
    linkageType: ''
    returnType: size_t
    signature: size_t BytesInCore(void* p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BytesInCore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1329,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1330
    functionName: tcmalloc::tcmalloc_internal::HugePageResident
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - HugePage::start_addr
    - tcmalloc::tcmalloc_internal::BytesInCore
    linkageType: ''
    returnType: bool
    signature: bool HugePageResident(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1334,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1334,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1339
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 14
    functionsReached:
    - std::max<size_t>
    - PageId::start_addr
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void Touch(PageId p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1345,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1351
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 15
    functionsReached:
    - tcmalloc::tcmalloc_internal::Touch
    - HugePage::first_page
    linkageType: ''
    returnType: void
    signature: void Touch(HugePage hp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1355,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1357,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1359,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageResident
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1366,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1368,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1354
    functionDepth: 3
    functionLinenumber: 1354
    functionLinenumberEnd: 1376
    functionName: tcmalloc::tcmalloc_internal::TouchTHP
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::last_page
    - Span*::first_page
    - HugePageContaining
    - tcmalloc::tcmalloc_internal::HugePageResident
    - tcmalloc::tcmalloc_internal::Touch
    linkageType: ''
    returnType: void
    signature: void TouchTHP(Span* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1382
    functionName: tcmalloc::tcmalloc_internal::StatTest::StatTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytesInCore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1396
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::Memory
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - BytesInCore
    linkageType: ''
    returnType: MemoryBytes
    signature: MemoryBytes Memory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<StaticForwarder*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1401,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1411
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    - TC_CHECK_LT
    - static_cast<StaticForwarder*>
    linkageType: ''
    returnType: AddressRange
    signature: AddressRange AllocatePages(size_t bytes, size_t align, MemoryTag tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1423
    functionName: tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - forwarder
    linkageType: ''
    returnType: MemoryBytes
    signature: MemoryBytes GetSystemBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1428,1
    - Dst: HookedAllocator::HookedAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1431
    functionName: tcmalloc::tcmalloc_internal::StatTest::PrepTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HookedAllocator::HookedAllocator
    - memset
    linkageType: ''
    returnType: void
    signature: void PrepTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1433
    functionName: ~StatTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StatTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1439
    functionName: tcmalloc::tcmalloc_internal::StatTest::Stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - stats
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats Stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1445,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1447,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1449,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1449,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1454,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1455
    functionName: tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    - Length
    linkageType: ''
    returnType: Length
    signature: Length RandomAllocSize(absl::BitGenRef rng)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1458,1
    - Dst: TouchTHP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1459,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1460,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1460,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1466
    functionName: tcmalloc::tcmalloc_internal::StatTest::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_LE
    - Span*::num_pages
    - New
    - TouchTHP
    linkageType: ''
    returnType: Span
    signature: Span * Alloc(Length n, SpanAllocInfo span_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1469,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1473,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1477,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1479,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - span_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1483
    functionName: tcmalloc::tcmalloc_internal::StatTest::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Span*::first_page
    - Range
    - Delete
    - forwarder
    - Span*::num_pages
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: void Free(Span* s, SpanAllocInfo span_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1486,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1487,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1492,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1493,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1497,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1498,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1498,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1500,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1500,1
    - Dst: LargeSpanStats::normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1502,1
    - Dst: LargeSpanStats::returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1503,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1506,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1508,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1509,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1510,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1512,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1514
    functionName: tcmalloc::tcmalloc_internal::StatTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::raw_num
    - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    - LargeSpanStats::returned_pages::in_bytes
    - Length
    - GetLargeSpanStats
    - LargeSpanStats::normal_pages::in_bytes
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::StatTest::Stats
    - in_bytes
    - GetSmallSpanStats
    - auto::in_bytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrepTest
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1531,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1537,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1538,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1541,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1546,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1548,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1549,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1550,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1552,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1553,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1555,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1561,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1565,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1567,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1571,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1572,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1573,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1574,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1575,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1580
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - Alloc
    - absl::LogUniform<int32_t>
    - absl::Bernoulli
    - Lock
    - stats
    - Unlock
    - Free
    - PrepTest
    - ReleaseAtLeastNPages
    - ASSERT_EQ
    - RandomAllocSize
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(StatTest, Basic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1593,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1595,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1599,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1606,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1612,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1614,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1618,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1621,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1623,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1627,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1627,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1629,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1636
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - spans::empty
    - Length
    - spans::back
    - spans::pop_back
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - benchmark::DoNotOptimize
    - spans::size
    - ReleasePages
    - TreatHugepageTrackers
    - AllocatorNew
    - absl::Uniform
    - std::vector::resize
    - absl::LogUniform
    - TC_CHECK_NE
    - absl::SleepFor
    - absl::Bernoulli
    - AllocatorDelete
    - absl::Uniform<size_t>
    - Print
    - spans::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, ParallelRelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1590
    functionName: tcmalloc::tcmalloc_internal::Metadata
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED Metadata
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1648,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1649,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1653,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1654,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1654,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1655,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1662,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1663,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1663,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1664,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1666,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1667,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1669,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1669,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1671,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1674,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1676,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1688,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1688,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1689,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1693,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1701
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - spans::empty
    - Length
    - spans::back
    - spans::pop_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - spans::size
    - forwarder
    - load
    - TreatHugepageTrackers
    - AllocatorNew
    - std::thread
    - std::vector::resize
    - std::atomic::store
    - join
    - absl::LogUniform
    - TC_CHECK_NE
    - std::vector::push_back
    - absl::SleepFor
    - absl::Bernoulli
    - AllocatorDelete
    - std::thread::join
    - std::ref
    - absl::Uniform<size_t>
    - spans::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, StressCollapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1645
    functionName: tcmalloc::tcmalloc_internal::Metadata
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED Metadata
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - allocator
    argTypes:
    - FakeHugePageAwareAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1716
    functionName: tcmalloc::tcmalloc_internal::SpanDeleter
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpanDeleter(FakeHugePageAwareAllocator* /*absl_nonnull*/ allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1721,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1724,1
    - Dst: donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1725,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1727,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1731
    functionName: tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - Range
    - donated
    - Delete
    - forwarder
    - first_page
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1742,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1748,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1750,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1752,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1753,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1755,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1757,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1757,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1762,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1763
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ReleaseAtLeastNPagesBreakingHugepages
    - data
    - Length
    - GetReleaseStats
    - tcmalloc::MallocExtension::SetRegionFactory
    - forwarder
    - ASSERT_EQ
    - FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1766,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1767,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1767,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1765
    functionDepth: 2
    functionLinenumber: 1765
    functionLinenumberEnd: 1771
    functionName: ~GetReleaseStatsTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - ReleaseAtLeastNPagesBreakingHugepages
    - tcmalloc::MallocExtension::SetRegionFactory
    - Length
    linkageType: ''
    returnType: void
    signature: void ~GetReleaseStatsTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1773
    functionName: '& allocator()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FakeHugePageAwareAllocator
    signature: FakeHugePageAwareAllocator & allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1778
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1783,1
    - Dst: SpanDeleter
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1784,1
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1785
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - SpanDeleter
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1791
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1798
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1813,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1814,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1814,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1816,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1816,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1819,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1823,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1825,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1829,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1834
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, GetReleaseStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1837,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1840,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1843,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1844,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1846,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1849,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1850,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1852,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1854,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1855,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1859,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1859,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1865,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1866,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1867,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1870,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1870,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1877,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1878,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1881,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1881,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1893,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1901
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, ReasonsTrackedSeparately)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1905,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1905,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1907,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1910,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1910,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1913,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1914,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1914,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1919,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1920,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1920,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1923,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1926,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1927,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1927,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1931,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1931,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1933,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1937,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1937,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1944,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1947
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GetReleaseStatsTest,\n       ReleaseSinglePageAfterBreakingHugepagesRequiresBreakingAgain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1951,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1951,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1952,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1959,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1964
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Length
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GetReleaseStatsTest,\n       ReleaseAfterNewDeleteSinglePageDoesNotRequireBreakingHugepages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1967,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1968,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1969,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1971,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1971,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1975,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1975,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1981,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1985,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1991
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_EQ
    - GetReleaseStats
    - ASSERT_TRUE
    - ReleaseAtLeastNPages
    - SpanUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, ReleaseAfterPartialReleaseContinuesTrackingStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1998,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2002,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2005,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2005,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2007,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2008,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2008,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2009,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2010,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2010,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2012,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2013,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2018,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2021,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2022,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2024,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2027,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2027,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:2030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2032
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - RegionsStats
    - ReleaseAtLeastNPagesBreakingHugepages
    - New
    - Length
    - std::vector::push_back
    - EXPECT_EQ
    - GetReleaseStats
    - EXPECT_GE
    - std::vector::pop_back
    - std::vector::empty
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetReleaseStatsTest, b339535705)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:43,1
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:62,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:69,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:85,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:97,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 114
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.cc
    functionUses: 0
    functionsReached:
    - linked_sample_allocator
    - func
    - AllocatedBytes
    - memcpy
    - static_cast<hot_cold_t>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: tcmalloc_internal::StackTraceTable::StackTraceTable
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StackTraceTable::StackTraceTable(ProfileType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: StackTraceTable::~StackTraceTable()
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.cc
    functionUses: 0
    functionsReached:
    - linked_sample_allocator
    linkageType: ''
    returnType: void
    signature: void StackTraceTable::~StackTraceTable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:62,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:69,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:85,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - sample_weight
    - ' t'
    argTypes:
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::StackTraceTable::AddTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.cc
    functionUses: 0
    functionsReached:
    - linked_sample_allocator
    - static_cast<hot_cold_t>
    - memcpy
    - AllocatedBytes
    linkageType: ''
    returnType: void
    signature: void StackTraceTable::AddTrace(double sample_weight, const StackTrace&
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - absl::FunctionRef<void(const Profile::Sample&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: tcmalloc_internal::StackTraceTable::Iterate
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.cc
    functionUses: 0
    functionsReached:
    - func
    linkageType: ''
    returnType: void
    signature: "void StackTraceTable::Iterate(\n    absl::FunctionRef<void(const Profile::Sample&)>
      func) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: tcmalloc_internal::StackTraceTable::StackTraceTable
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StackTraceTable::StackTraceTable(ProfileType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: StackTraceTable::~StackTraceTable()
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.cc
    functionUses: 0
    functionsReached:
    - linked_sample_allocator
    linkageType: ''
    returnType: void
    signature: void StackTraceTable::~StackTraceTable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:62,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:69,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:85,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - sample_weight
    - ' t'
    argTypes:
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::StackTraceTable::AddTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.cc
    functionUses: 0
    functionsReached:
    - linked_sample_allocator
    - static_cast<hot_cold_t>
    - memcpy
    - AllocatedBytes
    linkageType: ''
    returnType: void
    signature: void StackTraceTable::AddTrace(double sample_weight, const StackTrace&
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - absl::FunctionRef<void(const Profile::Sample&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: tcmalloc_internal::StackTraceTable::Iterate
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.cc
    functionUses: 0
    functionsReached:
    - func
    linkageType: ''
    returnType: void
    signature: "void StackTraceTable::Iterate(\n    absl::FunctionRef<void(const Profile::Sample&)>
      func) const"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:54,1
    - Dst: CrossThreadState::CrossThreadState
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:55,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:61,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:62,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:67,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:70,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:71,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:72,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:73,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:74,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:76,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:79,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:87,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:90,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:107,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:108,1
    - Dst: std::optional::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:109,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:110,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:111,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:112,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:114,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:128,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:129,1
    - Dst: std::optional::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:130,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:131,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:132,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:134,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:135,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:147,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:148,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:149,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:153,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:155,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:157,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:159,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:163,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:165,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:168,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:188,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:189,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:192,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:193,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:198,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:200,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:205,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:207,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:216,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:219,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:223,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:226,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:227,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:228,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:229,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:230,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:231,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 235
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Env::Insert
    - Env::Remove
    - GetStats
    - thread_index
    - freelist
    - Env::transfer_cache
    - Cache
    - benchmark::DoNotOptimize
    - BENCHMARK_TEMPLATE
    - ResumeTiming
    - PauseTiming
    - CrossThreadState::CrossThreadState
    - std::optional::central_freelist
    - absl::Uniform
    - std::optional::Insert
    - std::optional::emplace
    - std::optional::transfer_cache
    - absl::Bernoulli
    - RemoveRange
    - InsertRange
    - static_cast<double>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:54,1
    - Dst: CrossThreadState::CrossThreadState
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:55,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:61,1
    - Dst: tcmalloc_internal::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:62,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:67,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:70,1
    - Dst: tcmalloc_internal::RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:71,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:72,1
    - Dst: tcmalloc_internal::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:73,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:74,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:76,1
    - Dst: tcmalloc_internal::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:79,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:87,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::BM_CrossThread
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Cache
    - tcmalloc_internal::RemoveRange
    - tcmalloc_internal::InsertRange
    - CrossThreadState::CrossThreadState
    - static_cast<double>
    - benchmark::DoNotOptimize
    - thread_index
    - freelist
    - tcmalloc_internal::GetStats
    linkageType: ''
    returnType: void
    signature: void BM_CrossThread(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: tcmalloc_internal::CrossThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Cache
    linkageType: ''
    returnType: void
    signature: void CrossThreadState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:107,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:108,1
    - Dst: std::optional::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:109,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:110,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:111,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:112,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: tcmalloc_internal::BM_InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - PauseTiming
    - std::optional::emplace
    - std::optional::central_freelist
    - std::optional::transfer_cache
    - benchmark::DoNotOptimize
    - ResumeTiming
    linkageType: ''
    returnType: void
    signature: void BM_InsertRange(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:128,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:129,1
    - Dst: std::optional::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:130,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:131,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:132,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:134,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: tcmalloc_internal::BM_RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - PauseTiming
    - std::optional::emplace
    - std::optional::transfer_cache
    - benchmark::DoNotOptimize
    - ResumeTiming
    - std::optional::Insert
    linkageType: ''
    returnType: void
    signature: void BM_RemoveRange(benchmark::State& state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:147,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:148,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:149,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:153,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:155,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:157,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:159,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:163,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:165,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 170
    functionName: tcmalloc_internal::BM_RealisticBatchNonBatchMutations
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Env::Insert
    - Env::Remove
    - PauseTiming
    - absl::Uniform
    - ResumeTiming
    - Env::transfer_cache
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void BM_RealisticBatchNonBatchMutations(benchmark::State& state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:188,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:189,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:192,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:193,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:198,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:200,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:205,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:207,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:216,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:219,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 224
    functionName: tcmalloc_internal::BM_RealisticHitRate
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Env::Insert
    - Env::Remove
    - PauseTiming
    - absl::Bernoulli
    - absl::Uniform
    - ResumeTiming
    - Env::transfer_cache
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void BM_RealisticHitRate(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:54,1
    - Dst: CrossThreadState::CrossThreadState
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:55,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:61,1
    - Dst: tcmalloc_internal::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:62,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:67,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:70,1
    - Dst: tcmalloc_internal::RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:71,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:72,1
    - Dst: tcmalloc_internal::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:73,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:74,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:76,1
    - Dst: tcmalloc_internal::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:79,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:87,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::BM_CrossThread
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Cache
    - tcmalloc_internal::RemoveRange
    - tcmalloc_internal::InsertRange
    - CrossThreadState::CrossThreadState
    - static_cast<double>
    - benchmark::DoNotOptimize
    - thread_index
    - freelist
    - tcmalloc_internal::GetStats
    linkageType: ''
    returnType: void
    signature: void BM_CrossThread(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: tcmalloc_internal::CrossThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Cache
    linkageType: ''
    returnType: void
    signature: void CrossThreadState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:107,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:108,1
    - Dst: std::optional::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:109,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:110,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:111,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:112,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: tcmalloc_internal::BM_InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - PauseTiming
    - std::optional::emplace
    - std::optional::central_freelist
    - std::optional::transfer_cache
    - benchmark::DoNotOptimize
    - ResumeTiming
    linkageType: ''
    returnType: void
    signature: void BM_InsertRange(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:128,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:129,1
    - Dst: std::optional::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:130,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:131,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:132,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:134,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: tcmalloc_internal::BM_RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - PauseTiming
    - std::optional::emplace
    - std::optional::transfer_cache
    - benchmark::DoNotOptimize
    - ResumeTiming
    - std::optional::Insert
    linkageType: ''
    returnType: void
    signature: void BM_RemoveRange(benchmark::State& state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:147,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:148,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:149,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:153,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:155,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:157,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:159,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:163,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:165,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 170
    functionName: tcmalloc_internal::BM_RealisticBatchNonBatchMutations
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Env::Insert
    - Env::Remove
    - PauseTiming
    - absl::Uniform
    - ResumeTiming
    - Env::transfer_cache
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void BM_RealisticBatchNonBatchMutations(benchmark::State& state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:188,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:189,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:192,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:193,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:198,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:200,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:205,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:207,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:216,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:219,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 224
    functionName: tcmalloc_internal::BM_RealisticHitRate
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Env::Insert
    - Env::Remove
    - PauseTiming
    - absl::Bernoulli
    - absl::Uniform
    - ResumeTiming
    - Env::transfer_cache
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void BM_RealisticHitRate(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:54,1
    - Dst: CrossThreadState::CrossThreadState
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:55,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:61,1
    - Dst: tcmalloc_internal::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:62,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:67,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:70,1
    - Dst: tcmalloc_internal::RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:71,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:72,1
    - Dst: tcmalloc_internal::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:73,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:74,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:76,1
    - Dst: tcmalloc_internal::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:79,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:87,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::BM_CrossThread
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Cache
    - tcmalloc_internal::RemoveRange
    - tcmalloc_internal::InsertRange
    - CrossThreadState::CrossThreadState
    - static_cast<double>
    - benchmark::DoNotOptimize
    - thread_index
    - freelist
    - tcmalloc_internal::GetStats
    linkageType: ''
    returnType: void
    signature: void BM_CrossThread(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: tcmalloc_internal::CrossThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Cache
    linkageType: ''
    returnType: void
    signature: void CrossThreadState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:107,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:108,1
    - Dst: std::optional::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:109,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:110,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:111,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:112,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: tcmalloc_internal::BM_InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - PauseTiming
    - std::optional::emplace
    - std::optional::central_freelist
    - std::optional::transfer_cache
    - benchmark::DoNotOptimize
    - ResumeTiming
    linkageType: ''
    returnType: void
    signature: void BM_InsertRange(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:128,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:129,1
    - Dst: std::optional::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:130,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:131,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:132,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:134,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: tcmalloc_internal::BM_RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - PauseTiming
    - std::optional::emplace
    - std::optional::transfer_cache
    - benchmark::DoNotOptimize
    - ResumeTiming
    - std::optional::Insert
    linkageType: ''
    returnType: void
    signature: void BM_RemoveRange(benchmark::State& state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:147,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:148,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:149,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:153,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:155,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:157,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:159,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:163,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:165,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 170
    functionName: tcmalloc_internal::BM_RealisticBatchNonBatchMutations
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Env::Insert
    - Env::Remove
    - PauseTiming
    - absl::Uniform
    - ResumeTiming
    - Env::transfer_cache
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void BM_RealisticBatchNonBatchMutations(benchmark::State& state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:188,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:189,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:192,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:193,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:198,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:200,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:205,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:207,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:216,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:219,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 224
    functionName: tcmalloc_internal::BM_RealisticHitRate
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Env::Insert
    - Env::Remove
    - PauseTiming
    - absl::Bernoulli
    - absl::Uniform
    - ResumeTiming
    - Env::transfer_cache
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void BM_RealisticHitRate(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:54,1
    - Dst: CrossThreadState::CrossThreadState
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:55,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:61,1
    - Dst: tcmalloc_internal::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:62,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:67,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:70,1
    - Dst: tcmalloc_internal::RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:71,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:72,1
    - Dst: tcmalloc_internal::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:73,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:74,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:76,1
    - Dst: tcmalloc_internal::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:79,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:87,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::BM_CrossThread
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Cache
    - tcmalloc_internal::RemoveRange
    - tcmalloc_internal::InsertRange
    - CrossThreadState::CrossThreadState
    - static_cast<double>
    - benchmark::DoNotOptimize
    - thread_index
    - freelist
    - tcmalloc_internal::GetStats
    linkageType: ''
    returnType: void
    signature: void BM_CrossThread(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: tcmalloc_internal::CrossThreadState
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Cache
    linkageType: ''
    returnType: void
    signature: void CrossThreadState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:107,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:108,1
    - Dst: std::optional::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:109,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:110,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:111,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:112,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: tcmalloc_internal::BM_InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - PauseTiming
    - std::optional::emplace
    - std::optional::central_freelist
    - std::optional::transfer_cache
    - benchmark::DoNotOptimize
    - ResumeTiming
    linkageType: ''
    returnType: void
    signature: void BM_InsertRange(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:128,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:129,1
    - Dst: std::optional::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:130,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:131,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:132,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:134,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: tcmalloc_internal::BM_RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - PauseTiming
    - std::optional::emplace
    - std::optional::transfer_cache
    - benchmark::DoNotOptimize
    - ResumeTiming
    - std::optional::Insert
    linkageType: ''
    returnType: void
    signature: void BM_RemoveRange(benchmark::State& state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:147,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:148,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:149,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:153,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:155,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:157,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:159,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:163,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:165,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 170
    functionName: tcmalloc_internal::BM_RealisticBatchNonBatchMutations
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Env::Insert
    - Env::Remove
    - PauseTiming
    - absl::Uniform
    - ResumeTiming
    - Env::transfer_cache
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void BM_RealisticBatchNonBatchMutations(benchmark::State& state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:188,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:189,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:192,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:193,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:198,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:200,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:205,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:207,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:216,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:219,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 224
    functionName: tcmalloc_internal::BM_RealisticHitRate
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - Env::Insert
    - Env::Remove
    - PauseTiming
    - absl::Bernoulli
    - absl::Uniform
    - ResumeTiming
    - Env::transfer_cache
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void BM_RealisticHitRate(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - label
    - tag
    argTypes:
    - char*
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: tcmalloc_internal::PageAllocatorInterface::PageAllocatorInterface
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageAllocatorInterface::PageAllocatorInterface(const char* label,
      MemoryTag tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - label
    - tag
    argTypes:
    - char*
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: tcmalloc_internal::PageAllocatorInterface::PageAllocatorInterface
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_interface.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageAllocatorInterface::PageAllocatorInterface(const char* label,
      MemoryTag tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:39,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:41,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:42,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:42,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:43,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:43,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:44,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:44,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:45,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:45,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:46,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:46,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:47,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - tcmalloc_internal::max
    - ::operator new[]
    - EXPECT_DEATH
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, InvalidSizeFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:52,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:53,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:54,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:55,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:56,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:57,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ::operator new[]
    - ::operator new
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, InvalidSizeNothrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:69,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:69,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:70,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:71,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:71,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:72,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:78,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:79,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:80,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:80,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:81,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:91,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:93,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:94,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:96,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:96,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:97,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:98,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:98,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:99,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:103,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:104,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::sized_delete
    - absl::LogUniform<size_t>
    - static_cast<__hot_cold_t>
    - absl::Bernoulli
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<uint8_t>
    - memset
    - ::operator delete
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNew)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:116,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:116,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:117,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:118,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:118,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:119,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:125,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:126,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:127,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:127,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:128,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:138,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:140,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:141,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:144,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:144,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:145,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:146,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:146,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:147,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:151,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:152,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 157
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::sized_delete
    - absl::LogUniform<size_t>
    - static_cast<__hot_cold_t>
    - absl::Bernoulli
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<uint8_t>
    - memset
    - ::operator delete
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewNothrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:163,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:163,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:164,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:165,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:165,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:166,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:172,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:172,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:173,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:174,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:174,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:175,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:185,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:187,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:188,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:190,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:190,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:191,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:192,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:192,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:193,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:197,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:198,1
    - Dst: tcmalloc::sized_array_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 203
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - tcmalloc::sized_array_delete
    - ::operator delete[]
    - static_cast<__hot_cold_t>
    - absl::Bernoulli
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<uint8_t>
    - ::operator new[]
    - memset
    - static_cast<hot_cold_t>
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArray)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:209,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:211,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:212,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:212,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:213,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:219,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:219,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:220,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:221,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:221,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:222,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:232,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:234,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:235,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:238,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:238,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:239,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:240,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:240,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:241,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:245,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:246,1
    - Dst: tcmalloc::sized_array_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 251
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - tcmalloc::sized_array_delete
    - ::operator delete[]
    - static_cast<__hot_cold_t>
    - absl::Bernoulli
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<uint8_t>
    - ::operator new[]
    - memset
    - static_cast<hot_cold_t>
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArrayNothrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:268,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:268,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:271,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:272,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:278,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:280,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:281,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:282,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:284,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:286,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:286,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:288,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:288,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:289,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:291,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:291,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:292,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:298,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:298,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:299,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:301,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:301,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:302,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:302,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:303,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:304,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:307,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:308,1
    - Dst: tcmalloc::sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 313
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - absl::Uniform<uint8_t>
    - memset
    - ::operator delete
    - ASSERT_NE
    - absl::LogUniform<size_t>
    - benchmark::DoNotOptimize
    - static_cast<__hot_cold_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GetPageSize
    - std::max
    - EXPECT_EQ
    - static_cast<hot_cold_t>
    - tcmalloc::sized_aligned_delete
    - std::vector::reserve
    - static_cast<std::align_val_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - static_cast<size_t>
    - absl::Uniform<size_t>
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewAligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:323,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:323,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:326,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:327,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:333,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:335,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:336,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:337,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:339,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:341,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:342,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:344,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:344,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:345,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:347,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:347,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:348,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:354,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:354,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:355,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:357,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:357,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:358,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:358,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:359,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:360,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:363,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:364,1
    - Dst: tcmalloc::sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 369
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - absl::Uniform<uint8_t>
    - memset
    - ::operator delete
    - ASSERT_NE
    - absl::LogUniform<size_t>
    - benchmark::DoNotOptimize
    - static_cast<__hot_cold_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GetPageSize
    - std::max
    - EXPECT_EQ
    - static_cast<hot_cold_t>
    - tcmalloc::sized_aligned_delete
    - std::vector::reserve
    - static_cast<std::align_val_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - static_cast<size_t>
    - absl::Uniform<size_t>
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewAlignedNothrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:379,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:379,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:382,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:383,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:389,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:391,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:392,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:393,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:395,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:398,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:398,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:399,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:400,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:400,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:401,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:403,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:403,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:404,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:410,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:410,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:411,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:412,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:413,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:413,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:414,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:414,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:415,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:416,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:419,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:420,1
    - Dst: tcmalloc::sized_array_aligned_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 425
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - absl::Uniform<uint8_t>
    - memset
    - ASSERT_NE
    - absl::LogUniform<size_t>
    - ::operator delete[]
    - benchmark::DoNotOptimize
    - tcmalloc::sized_array_aligned_delete
    - ::operator new[]
    - static_cast<__hot_cold_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GetPageSize
    - std::max
    - EXPECT_EQ
    - static_cast<hot_cold_t>
    - std::vector::reserve
    - static_cast<std::align_val_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - static_cast<size_t>
    - absl::Uniform<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArrayAligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:435,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:435,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:438,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:439,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:445,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:447,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:448,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:449,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:451,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:453,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:454,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:456,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:456,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:457,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:459,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:459,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:460,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:466,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:466,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:467,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:468,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:469,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:469,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:470,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:470,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:471,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:472,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:475,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:476,1
    - Dst: tcmalloc::sized_array_aligned_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 481
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - absl::Uniform<uint8_t>
    - memset
    - ASSERT_NE
    - absl::LogUniform<size_t>
    - ::operator delete[]
    - benchmark::DoNotOptimize
    - tcmalloc::sized_array_aligned_delete
    - ::operator new[]
    - static_cast<__hot_cold_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GetPageSize
    - std::max
    - EXPECT_EQ
    - static_cast<hot_cold_t>
    - std::vector::reserve
    - static_cast<std::align_val_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - static_cast<size_t>
    - absl::Uniform<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArrayAlignedNothrow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:39,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:41,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:42,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:42,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:43,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:43,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:44,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:44,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:45,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:45,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:46,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:46,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:47,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - tcmalloc_internal::max
    - ::operator new[]
    - EXPECT_DEATH
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, InvalidSizeFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:52,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:53,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:54,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:55,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:56,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:57,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ::operator new[]
    - ::operator new
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, InvalidSizeNothrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:69,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:69,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:70,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:71,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:71,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:72,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:78,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:79,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:80,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:80,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:81,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:91,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:93,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:94,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:96,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:96,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:97,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:98,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:98,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:99,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:103,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:104,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::sized_delete
    - absl::LogUniform<size_t>
    - static_cast<__hot_cold_t>
    - absl::Bernoulli
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<uint8_t>
    - memset
    - ::operator delete
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNew)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:116,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:116,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:117,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:118,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:118,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:119,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:125,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:126,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:127,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:127,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:128,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:138,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:140,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:141,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:144,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:144,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:145,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:146,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:146,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:147,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:151,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:152,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 157
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::sized_delete
    - absl::LogUniform<size_t>
    - static_cast<__hot_cold_t>
    - absl::Bernoulli
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<uint8_t>
    - memset
    - ::operator delete
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewNothrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:163,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:163,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:164,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:165,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:165,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:166,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:172,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:172,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:173,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:174,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:174,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:175,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:185,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:187,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:188,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:190,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:190,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:191,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:192,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:192,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:193,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:197,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:198,1
    - Dst: tcmalloc::sized_array_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 203
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - tcmalloc::sized_array_delete
    - ::operator delete[]
    - static_cast<__hot_cold_t>
    - absl::Bernoulli
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<uint8_t>
    - ::operator new[]
    - memset
    - static_cast<hot_cold_t>
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArray)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:209,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:211,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:212,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:212,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:213,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:219,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:219,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:220,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:221,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:221,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:222,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:232,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:234,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:235,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:238,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:238,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:239,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:240,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:240,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:241,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:245,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:246,1
    - Dst: tcmalloc::sized_array_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 251
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - tcmalloc::sized_array_delete
    - ::operator delete[]
    - static_cast<__hot_cold_t>
    - absl::Bernoulli
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<uint8_t>
    - ::operator new[]
    - memset
    - static_cast<hot_cold_t>
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArrayNothrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:268,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:268,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:271,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:272,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:278,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:280,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:281,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:282,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:284,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:286,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:286,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:288,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:288,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:289,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:291,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:291,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:292,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:298,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:298,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:299,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:301,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:301,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:302,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:302,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:303,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:304,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:307,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:308,1
    - Dst: tcmalloc::sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 313
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - absl::Uniform<uint8_t>
    - memset
    - ::operator delete
    - ASSERT_NE
    - absl::LogUniform<size_t>
    - benchmark::DoNotOptimize
    - static_cast<__hot_cold_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GetPageSize
    - std::max
    - EXPECT_EQ
    - static_cast<hot_cold_t>
    - tcmalloc::sized_aligned_delete
    - std::vector::reserve
    - static_cast<std::align_val_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - static_cast<size_t>
    - absl::Uniform<size_t>
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewAligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:323,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:323,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:326,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:327,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:333,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:335,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:336,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:337,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:339,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:341,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:342,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:344,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:344,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:345,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:347,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:347,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:348,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:354,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:354,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:355,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:357,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:357,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:358,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:358,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:359,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:360,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:363,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:364,1
    - Dst: tcmalloc::sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 369
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - absl::Uniform<uint8_t>
    - memset
    - ::operator delete
    - ASSERT_NE
    - absl::LogUniform<size_t>
    - benchmark::DoNotOptimize
    - static_cast<__hot_cold_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GetPageSize
    - std::max
    - EXPECT_EQ
    - static_cast<hot_cold_t>
    - tcmalloc::sized_aligned_delete
    - std::vector::reserve
    - static_cast<std::align_val_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - static_cast<size_t>
    - absl::Uniform<size_t>
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewAlignedNothrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:379,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:379,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:382,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:383,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:389,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:391,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:392,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:393,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:395,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:398,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:398,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:399,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:400,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:400,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:401,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:403,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:403,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:404,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:410,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:410,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:411,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:412,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:413,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:413,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:414,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:414,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:415,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:416,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:419,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:420,1
    - Dst: tcmalloc::sized_array_aligned_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 425
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - absl::Uniform<uint8_t>
    - memset
    - ASSERT_NE
    - absl::LogUniform<size_t>
    - ::operator delete[]
    - benchmark::DoNotOptimize
    - tcmalloc::sized_array_aligned_delete
    - ::operator new[]
    - static_cast<__hot_cold_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GetPageSize
    - std::max
    - EXPECT_EQ
    - static_cast<hot_cold_t>
    - std::vector::reserve
    - static_cast<std::align_val_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - static_cast<size_t>
    - absl::Uniform<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArrayAligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:435,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:435,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:438,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:439,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:445,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:447,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:448,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:449,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:451,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:453,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:454,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:456,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:456,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:457,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:459,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:459,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:460,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:466,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:466,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:467,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:468,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:469,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:469,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:470,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:470,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:471,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:472,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:475,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:476,1
    - Dst: tcmalloc::sized_array_aligned_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 481
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - absl::Uniform<uint8_t>
    - memset
    - ASSERT_NE
    - absl::LogUniform<size_t>
    - ::operator delete[]
    - benchmark::DoNotOptimize
    - tcmalloc::sized_array_aligned_delete
    - ::operator new[]
    - static_cast<__hot_cold_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GetPageSize
    - std::max
    - EXPECT_EQ
    - static_cast<hot_cold_t>
    - std::vector::reserve
    - static_cast<std::align_val_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - static_cast<size_t>
    - absl::Uniform<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArrayAlignedNothrow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:39,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:41,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:42,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:42,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:43,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:43,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:44,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:44,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:45,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:45,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:46,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:46,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:47,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - tcmalloc_internal::max
    - ::operator new[]
    - EXPECT_DEATH
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, InvalidSizeFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:52,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:53,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:54,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:55,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:56,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:57,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ::operator new[]
    - ::operator new
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, InvalidSizeNothrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:69,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:69,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:70,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:71,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:71,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:72,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:78,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:79,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:80,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:80,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:81,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:91,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:93,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:94,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:96,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:96,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:97,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:98,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:98,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:99,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:103,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:104,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::sized_delete
    - absl::LogUniform<size_t>
    - static_cast<__hot_cold_t>
    - absl::Bernoulli
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<uint8_t>
    - memset
    - ::operator delete
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNew)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:116,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:116,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:117,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:118,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:118,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:119,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:125,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:126,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:127,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:127,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:128,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:138,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:140,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:141,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:144,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:144,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:145,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:146,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:146,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:147,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:151,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:152,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 157
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::sized_delete
    - absl::LogUniform<size_t>
    - static_cast<__hot_cold_t>
    - absl::Bernoulli
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<uint8_t>
    - memset
    - ::operator delete
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewNothrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:163,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:163,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:164,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:165,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:165,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:166,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:172,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:172,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:173,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:174,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:174,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:175,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:185,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:187,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:188,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:190,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:190,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:191,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:192,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:192,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:193,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:197,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:198,1
    - Dst: tcmalloc::sized_array_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 203
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - tcmalloc::sized_array_delete
    - ::operator delete[]
    - static_cast<__hot_cold_t>
    - absl::Bernoulli
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<uint8_t>
    - ::operator new[]
    - memset
    - static_cast<hot_cold_t>
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArray)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:209,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:211,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:212,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:212,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:213,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:219,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:219,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:220,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:221,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:221,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:222,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:232,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:234,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:235,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:238,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:238,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:239,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:240,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:240,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:241,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:245,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:246,1
    - Dst: tcmalloc::sized_array_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 251
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - tcmalloc::sized_array_delete
    - ::operator delete[]
    - static_cast<__hot_cold_t>
    - absl::Bernoulli
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<uint8_t>
    - ::operator new[]
    - memset
    - static_cast<hot_cold_t>
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArrayNothrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:268,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:268,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:271,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:272,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:278,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:280,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:281,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:282,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:284,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:286,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:286,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:288,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:288,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:289,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:291,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:291,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:292,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:298,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:298,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:299,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:301,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:301,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:302,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:302,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:303,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:304,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:307,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:308,1
    - Dst: tcmalloc::sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 313
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - absl::Uniform<uint8_t>
    - memset
    - ::operator delete
    - ASSERT_NE
    - absl::LogUniform<size_t>
    - benchmark::DoNotOptimize
    - static_cast<__hot_cold_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GetPageSize
    - std::max
    - EXPECT_EQ
    - static_cast<hot_cold_t>
    - tcmalloc::sized_aligned_delete
    - std::vector::reserve
    - static_cast<std::align_val_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - static_cast<size_t>
    - absl::Uniform<size_t>
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewAligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:323,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:323,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:326,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:327,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:333,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:335,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:336,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:337,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:339,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:341,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:342,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:344,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:344,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:345,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:347,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:347,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:348,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:354,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:354,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:355,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:357,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:357,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:358,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:358,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:359,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:360,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:363,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:364,1
    - Dst: tcmalloc::sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 369
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - absl::Uniform<uint8_t>
    - memset
    - ::operator delete
    - ASSERT_NE
    - absl::LogUniform<size_t>
    - benchmark::DoNotOptimize
    - static_cast<__hot_cold_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GetPageSize
    - std::max
    - EXPECT_EQ
    - static_cast<hot_cold_t>
    - tcmalloc::sized_aligned_delete
    - std::vector::reserve
    - static_cast<std::align_val_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - static_cast<size_t>
    - absl::Uniform<size_t>
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewAlignedNothrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:379,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:379,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:382,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:383,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:389,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:391,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:392,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:393,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:395,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:398,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:398,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:399,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:400,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:400,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:401,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:403,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:403,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:404,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:410,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:410,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:411,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:412,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:413,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:413,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:414,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:414,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:415,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:416,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:419,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:420,1
    - Dst: tcmalloc::sized_array_aligned_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 425
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - absl::Uniform<uint8_t>
    - memset
    - ASSERT_NE
    - absl::LogUniform<size_t>
    - ::operator delete[]
    - benchmark::DoNotOptimize
    - tcmalloc::sized_array_aligned_delete
    - ::operator new[]
    - static_cast<__hot_cold_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GetPageSize
    - std::max
    - EXPECT_EQ
    - static_cast<hot_cold_t>
    - std::vector::reserve
    - static_cast<std::align_val_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - static_cast<size_t>
    - absl::Uniform<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArrayAligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:435,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:435,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:438,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:439,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:445,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:447,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:448,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:449,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:451,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:453,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:454,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:456,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:456,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:457,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:459,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:459,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:460,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:466,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:466,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:467,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:468,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:469,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:469,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:470,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:470,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:471,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:472,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:475,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:476,1
    - Dst: tcmalloc::sized_array_aligned_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 481
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - absl::Uniform<uint8_t>
    - memset
    - ASSERT_NE
    - absl::LogUniform<size_t>
    - ::operator delete[]
    - benchmark::DoNotOptimize
    - tcmalloc::sized_array_aligned_delete
    - ::operator new[]
    - static_cast<__hot_cold_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GetPageSize
    - std::max
    - EXPECT_EQ
    - static_cast<hot_cold_t>
    - std::vector::reserve
    - static_cast<std::align_val_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - static_cast<size_t>
    - absl::Uniform<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArrayAlignedNothrow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:39,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:41,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:42,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:42,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:43,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:43,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:44,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:44,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:45,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:45,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:46,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:46,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:47,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - tcmalloc_internal::max
    - ::operator new[]
    - EXPECT_DEATH
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, InvalidSizeFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:52,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:53,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:54,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:55,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:56,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:57,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ::operator new[]
    - ::operator new
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, InvalidSizeNothrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:69,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:69,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:70,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:71,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:71,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:72,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:78,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:79,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:80,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:80,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:81,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:91,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:93,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:94,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:96,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:96,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:97,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:98,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:98,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:99,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:103,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:104,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::sized_delete
    - absl::LogUniform<size_t>
    - static_cast<__hot_cold_t>
    - absl::Bernoulli
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<uint8_t>
    - memset
    - ::operator delete
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNew)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:116,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:116,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:117,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:118,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:118,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:119,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:125,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:126,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:127,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:127,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:128,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:138,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:140,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:141,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:144,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:144,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:145,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:146,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:146,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:147,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:151,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:152,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 157
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::sized_delete
    - absl::LogUniform<size_t>
    - static_cast<__hot_cold_t>
    - absl::Bernoulli
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<uint8_t>
    - memset
    - ::operator delete
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewNothrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:163,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:163,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:164,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:165,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:165,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:166,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:172,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:172,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:173,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:174,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:174,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:175,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:185,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:187,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:188,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:190,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:190,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:191,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:192,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:192,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:193,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:197,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:198,1
    - Dst: tcmalloc::sized_array_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 203
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - tcmalloc::sized_array_delete
    - ::operator delete[]
    - static_cast<__hot_cold_t>
    - absl::Bernoulli
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<uint8_t>
    - ::operator new[]
    - memset
    - static_cast<hot_cold_t>
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArray)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:209,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:211,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:212,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:212,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:213,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:219,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:219,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:220,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:221,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:221,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:222,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:232,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:234,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:235,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:238,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:238,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:239,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:240,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:240,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:241,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:245,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:246,1
    - Dst: tcmalloc::sized_array_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 251
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - tcmalloc::sized_array_delete
    - ::operator delete[]
    - static_cast<__hot_cold_t>
    - absl::Bernoulli
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<uint8_t>
    - ::operator new[]
    - memset
    - static_cast<hot_cold_t>
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArrayNothrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:268,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:268,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:271,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:272,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:278,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:280,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:281,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:282,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:284,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:286,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:286,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:288,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:288,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:289,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:291,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:291,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:292,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:298,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:298,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:299,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:301,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:301,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:302,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:302,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:303,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:304,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:307,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:308,1
    - Dst: tcmalloc::sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 313
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - absl::Uniform<uint8_t>
    - memset
    - ::operator delete
    - ASSERT_NE
    - absl::LogUniform<size_t>
    - benchmark::DoNotOptimize
    - static_cast<__hot_cold_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GetPageSize
    - std::max
    - EXPECT_EQ
    - static_cast<hot_cold_t>
    - tcmalloc::sized_aligned_delete
    - std::vector::reserve
    - static_cast<std::align_val_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - static_cast<size_t>
    - absl::Uniform<size_t>
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewAligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:323,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:323,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:326,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:327,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:333,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:335,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:336,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:337,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:339,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:341,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:342,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:344,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:344,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:345,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:347,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:347,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:348,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:354,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:354,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:355,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:357,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:357,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:358,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:358,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:359,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:360,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:363,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:364,1
    - Dst: tcmalloc::sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 369
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - absl::Uniform<uint8_t>
    - memset
    - ::operator delete
    - ASSERT_NE
    - absl::LogUniform<size_t>
    - benchmark::DoNotOptimize
    - static_cast<__hot_cold_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GetPageSize
    - std::max
    - EXPECT_EQ
    - static_cast<hot_cold_t>
    - tcmalloc::sized_aligned_delete
    - std::vector::reserve
    - static_cast<std::align_val_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - static_cast<size_t>
    - absl::Uniform<size_t>
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewAlignedNothrow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:379,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:379,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:382,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:383,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:389,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:391,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:392,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:393,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:395,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:398,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:398,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:399,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:400,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:400,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:401,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:403,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:403,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:404,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:410,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:410,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:411,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:412,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:413,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:413,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:414,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:414,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:415,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:416,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:419,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:420,1
    - Dst: tcmalloc::sized_array_aligned_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 425
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - absl::Uniform<uint8_t>
    - memset
    - ASSERT_NE
    - absl::LogUniform<size_t>
    - ::operator delete[]
    - benchmark::DoNotOptimize
    - tcmalloc::sized_array_aligned_delete
    - ::operator new[]
    - static_cast<__hot_cold_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GetPageSize
    - std::max
    - EXPECT_EQ
    - static_cast<hot_cold_t>
    - std::vector::reserve
    - static_cast<std::align_val_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - static_cast<size_t>
    - absl::Uniform<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArrayAligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:435,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:435,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:438,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:439,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:445,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:447,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:448,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:449,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:451,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:453,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:454,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:456,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:456,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:457,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:459,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:459,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:460,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:466,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:466,1
    - Dst: static_cast<__hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:467,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:468,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:469,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:469,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:470,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:470,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:471,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:472,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:475,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:476,1
    - Dst: tcmalloc::sized_array_aligned_delete
      Src: /src/tcmalloc/tcmalloc/new_extension_test.cc:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 481
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/new_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - absl::Uniform<uint8_t>
    - memset
    - ASSERT_NE
    - absl::LogUniform<size_t>
    - ::operator delete[]
    - benchmark::DoNotOptimize
    - tcmalloc::sized_array_aligned_delete
    - ::operator new[]
    - static_cast<__hot_cold_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GetPageSize
    - std::max
    - EXPECT_EQ
    - static_cast<hot_cold_t>
    - std::vector::reserve
    - static_cast<std::align_val_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - static_cast<size_t>
    - absl::Uniform<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArrayAlignedNothrow)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/background.cc:34,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/background.cc:36,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/background.cc:55,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/background.cc:57,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/background.cc:93,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/background.cc:99,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/background.cc:104,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/background.cc:104,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/background.cc:109,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/background.cc:114,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/background.cc:119,1
    - Dst: tcmalloc_internal::Parameters::resize_size_class_max_capacity
      Src: /src/tcmalloc/tcmalloc/background.cc:123,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/background.cc:126,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/background.cc:132,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/background.cc:134,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/background.cc:139,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/background.cc:145,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/background.cc:151,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/background.cc:157,1
    - Dst: tcmalloc_internal::Parameters::usermode_hugepage_collapse
      Src: /src/tcmalloc/tcmalloc/background.cc:158,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/background.cc:164,1
    - Dst: tcmalloc_internal::Parameters::background_release_rate
      Src: /src/tcmalloc/tcmalloc/background.cc:164,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/background.cc:165,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/background.cc:166,1
    - Dst: tcmalloc_internal::Parameters::release_pages_from_huge_region
      Src: /src/tcmalloc/tcmalloc/background.cc:172,1
    - Dst: tcmalloc::tcmalloc_internal::ConstantRatePageAllocatorReleaser::Release
      Src: /src/tcmalloc/tcmalloc/background.cc:173,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/background.cc:179,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 181
    functionName: MallocExtension_Internal_ProcessBackgroundActions
    functionSourceFile: /src/tcmalloc/tcmalloc/background.cc
    functionUses: 2
    functionsReached:
    - page_allocator
    - absl::Now
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::max<ssize_t>
    - tcmalloc_internal::Parameters::release_pages_from_huge_region
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    - absl::ToDoubleSeconds
    - tcmalloc_internal::Parameters::usermode_hugepage_collapse
    - tcmalloc::MallocExtension::MarkThreadIdle
    - transfer_cache
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
    - tcmalloc_internal::Parameters::resize_size_class_max_capacity
    - tcmalloc::tcmalloc_internal::ConstantRatePageAllocatorReleaser::Release
    - cpu_cache
    - absl::SleepFor
    - sharded_transfer_cache
    - static_cast<size_t>
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
    - tcmalloc_internal::Parameters::background_release_rate
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void MallocExtension_Internal_ProcessBackgroundActions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::FakeCentralFreeListBase
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeListBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::FakeCentralFreeListBase
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeListBase(const FakeCentralFreeListBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(const FakeCentralFreeListBase&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FakeCentralFreeListBase
    signature: FakeCentralFreeListBase & operator=(const FakeCentralFreeListBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init(size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:85,1
    - Dst: static_cast<FakeCentralFreeList*>
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:86,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:88,1
    - Dst: static_cast<FakeCentralFreeList*>
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::RawMockCentralFreeList::RawMockCentralFreeList
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached:
    - ON_CALL
    - static_cast<FakeCentralFreeList*>
    linkageType: ''
    returnType: void
    signature: void RawMockCentralFreeList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::FakeCentralFreeListBase
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeListBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::FakeCentralFreeListBase
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeListBase(const FakeCentralFreeListBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(const FakeCentralFreeListBase&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FakeCentralFreeListBase
    signature: FakeCentralFreeListBase & operator=(const FakeCentralFreeListBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init(size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:85,1
    - Dst: static_cast<FakeCentralFreeList*>
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:86,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:88,1
    - Dst: static_cast<FakeCentralFreeList*>
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::RawMockCentralFreeList::RawMockCentralFreeList
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached:
    - ON_CALL
    - static_cast<FakeCentralFreeList*>
    linkageType: ''
    returnType: void
    signature: void RawMockCentralFreeList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::FakeCentralFreeListBase
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeListBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::FakeCentralFreeListBase
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeListBase(const FakeCentralFreeListBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(const FakeCentralFreeListBase&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FakeCentralFreeListBase
    signature: FakeCentralFreeListBase & operator=(const FakeCentralFreeListBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init(size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:85,1
    - Dst: static_cast<FakeCentralFreeList*>
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:86,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:88,1
    - Dst: static_cast<FakeCentralFreeList*>
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::RawMockCentralFreeList::RawMockCentralFreeList
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached:
    - ON_CALL
    - static_cast<FakeCentralFreeList*>
    linkageType: ''
    returnType: void
    signature: void RawMockCentralFreeList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::FakeCentralFreeListBase
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeListBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::FakeCentralFreeListBase
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeCentralFreeListBase(const FakeCentralFreeListBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(const FakeCentralFreeListBase&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FakeCentralFreeListBase
    signature: FakeCentralFreeListBase & operator=(const FakeCentralFreeListBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init(size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:85,1
    - Dst: static_cast<FakeCentralFreeList*>
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:86,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:88,1
    - Dst: static_cast<FakeCentralFreeList*>
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::RawMockCentralFreeList::RawMockCentralFreeList
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_central_freelist.h
    functionUses: 0
    functionsReached:
    - ON_CALL
    - static_cast<FakeCentralFreeList*>
    linkageType: ''
    returnType: void
    signature: void RawMockCentralFreeList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocTracingExtension_Internal_GetAllocatedAddressRanges
      Src: /src/tcmalloc/tcmalloc/malloc_tracing_extension.cc:33,1
    - Dst: absl::UnimplementedError
      Src: /src/tcmalloc/tcmalloc/malloc_tracing_extension.cc:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_tracing_extension.cc
    functionUses: 0
    functionsReached:
    - MallocTracingExtension_Internal_GetAllocatedAddressRanges
    - absl::UnimplementedError
    linkageType: ''
    returnType: absl::StatusOr<AllocatedAddressRanges>
    signature: absl::StatusOr<AllocatedAddressRanges> GetAllocatedAddressRanges()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocTracingExtension_Internal_GetAllocatedAddressRanges
      Src: /src/tcmalloc/tcmalloc/malloc_tracing_extension.cc:33,1
    - Dst: absl::UnimplementedError
      Src: /src/tcmalloc/tcmalloc/malloc_tracing_extension.cc:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_tracing_extension.cc
    functionUses: 0
    functionsReached:
    - MallocTracingExtension_Internal_GetAllocatedAddressRanges
    - absl::UnimplementedError
    linkageType: ''
    returnType: absl::StatusOr<AllocatedAddressRanges>
    signature: absl::StatusOr<AllocatedAddressRanges> GetAllocatedAddressRanges()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocTracingExtension_Internal_GetAllocatedAddressRanges
      Src: /src/tcmalloc/tcmalloc/malloc_tracing_extension.cc:33,1
    - Dst: absl::UnimplementedError
      Src: /src/tcmalloc/tcmalloc/malloc_tracing_extension.cc:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_tracing_extension.cc
    functionUses: 0
    functionsReached:
    - MallocTracingExtension_Internal_GetAllocatedAddressRanges
    - absl::UnimplementedError
    linkageType: ''
    returnType: absl::StatusOr<AllocatedAddressRanges>
    signature: absl::StatusOr<AllocatedAddressRanges> GetAllocatedAddressRanges()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocTracingExtension_Internal_GetAllocatedAddressRanges
      Src: /src/tcmalloc/tcmalloc/malloc_tracing_extension.cc:33,1
    - Dst: absl::UnimplementedError
      Src: /src/tcmalloc/tcmalloc/malloc_tracing_extension.cc:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_tracing_extension.cc
    functionUses: 0
    functionsReached:
    - MallocTracingExtension_Internal_GetAllocatedAddressRanges
    - absl::UnimplementedError
    linkageType: ''
    returnType: absl::StatusOr<AllocatedAddressRanges>
    signature: absl::StatusOr<AllocatedAddressRanges> GetAllocatedAddressRanges()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::HugeAddressMapTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeAddressMapTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:36,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:38,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:38,1
    - Dst: auto::next
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::Contents
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - first
    - auto::next
    - auto::range
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<HugeRange>
    signature: std::vector<HugeRange> Contents()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::hp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePage
    signature: HugePage hp(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::hl
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength hl(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:59,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:59,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:60,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:63,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:66,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - Check
    - Contents
    - testing::ElementsAre
    - Insert
    - EXPECT_THAT
    - hp
    - Join
    - tcmalloc_internal::Make
    - hl
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeAddressMapTest, Merging)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::HugeAddressMapTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeAddressMapTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:36,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:38,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:38,1
    - Dst: auto::next
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::Contents
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - first
    - auto::next
    - auto::range
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<HugeRange>
    signature: std::vector<HugeRange> Contents()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::hp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePage
    signature: HugePage hp(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::hl
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength hl(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:59,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:59,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:60,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:63,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:66,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - Check
    - Contents
    - testing::ElementsAre
    - Insert
    - EXPECT_THAT
    - hp
    - Join
    - tcmalloc_internal::Make
    - hl
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeAddressMapTest, Merging)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::HugeAddressMapTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeAddressMapTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:36,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:38,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:38,1
    - Dst: auto::next
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::Contents
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - first
    - auto::next
    - auto::range
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<HugeRange>
    signature: std::vector<HugeRange> Contents()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::hp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePage
    signature: HugePage hp(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::hl
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength hl(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:59,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:59,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:60,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:63,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:66,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - Check
    - Contents
    - testing::ElementsAre
    - Insert
    - EXPECT_THAT
    - hp
    - Join
    - tcmalloc_internal::Make
    - hl
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeAddressMapTest, Merging)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::HugeAddressMapTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeAddressMapTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:36,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:38,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:38,1
    - Dst: auto::next
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::Contents
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - first
    - auto::next
    - auto::range
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<HugeRange>
    signature: std::vector<HugeRange> Contents()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::hp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePage
    signature: HugePage hp(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::hl
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength hl(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:59,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:59,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:60,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:63,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:66,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - Check
    - Contents
    - testing::ElementsAre
    - Insert
    - EXPECT_THAT
    - hp
    - Join
    - tcmalloc_internal::Make
    - hl
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeAddressMapTest, Merging)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::HugeAddressMapTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeAddressMapTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:36,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:38,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:38,1
    - Dst: auto::next
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::Contents
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - first
    - auto::next
    - auto::range
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<HugeRange>
    signature: std::vector<HugeRange> Contents()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::hp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePage
    signature: HugePage hp(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::hl
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength hl(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:59,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:59,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:60,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:63,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:66,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - Check
    - Contents
    - testing::ElementsAre
    - Insert
    - EXPECT_THAT
    - hp
    - Join
    - tcmalloc_internal::Make
    - hl
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeAddressMapTest, Merging)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::HugeAddressMapTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeAddressMapTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:36,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:38,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:38,1
    - Dst: auto::next
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::Contents
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - first
    - auto::next
    - auto::range
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<HugeRange>
    signature: std::vector<HugeRange> Contents()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::hp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePage
    signature: HugePage hp(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::hl
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength hl(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:59,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:59,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:60,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:63,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:66,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - Check
    - Contents
    - testing::ElementsAre
    - Insert
    - EXPECT_THAT
    - hp
    - Join
    - tcmalloc_internal::Make
    - hl
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeAddressMapTest, Merging)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::HugeAddressMapTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeAddressMapTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:36,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:38,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:38,1
    - Dst: auto::next
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::Contents
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - first
    - auto::next
    - auto::range
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<HugeRange>
    signature: std::vector<HugeRange> Contents()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::hp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePage
    signature: HugePage hp(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::hl
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength hl(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:59,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:59,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:60,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:63,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:66,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - Check
    - Contents
    - testing::ElementsAre
    - Insert
    - EXPECT_THAT
    - hp
    - Join
    - tcmalloc_internal::Make
    - hl
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeAddressMapTest, Merging)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::HugeAddressMapTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HugeAddressMapTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:36,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:38,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:38,1
    - Dst: auto::next
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::Contents
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - first
    - auto::next
    - auto::range
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<HugeRange>
    signature: std::vector<HugeRange> Contents()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::hp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePage
    signature: HugePage hp(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::HugeAddressMapTest::hl
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength hl(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:56,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:57,1
    - Dst: tcmalloc_internal::Make
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: hp
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: hl
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:58,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:59,1
    - Dst: Join
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:59,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:60,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:62,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:63,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:65,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:66,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    - Dst: Contents
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_address_map_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
    functionUses: 0
    functionsReached:
    - Check
    - Contents
    - testing::ElementsAre
    - Insert
    - EXPECT_THAT
    - hp
    - Join
    - tcmalloc_internal::Make
    - hl
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeAddressMapTest, Merging)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/page_size.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 67
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: PagePresent
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:55,1
    - Dst: PageSwapped
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:58,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:66,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:67,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:69,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:75,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:76,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:78,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:85,1
    - Dst: ::lseek
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:92,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:105,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:105,1
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:116,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:122,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:122,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:127,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:143,1
    - Dst: Seek
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:152,1
    - Dst: ReadOne
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:157,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:158,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:159,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:159,1
    - Dst: ReadOne
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:167,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:168,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:172,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:172,1
    - Dst: ReadMany
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:176,1
    - Dst: ReadOne
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:183,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:184,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:185,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:185,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:193,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:195,1
    - Dst: Seek
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:199,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:204,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:204,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:207,1
    - Dst: PagePresent
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:218,1
    - Dst: PageSwapped
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:219,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:220,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:222,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 94
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 230
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - reinterpret_cast<char*>
    - TC_CHECK_GE
    - ::lseek
    - TC_CHECK_LE
    - Bitmap::SetBit
    - ReadOne
    - PageSwapped
    - auto::value
    - reinterpret_cast<uintptr_t>
    - auto::has_value
    - Seek
    - signal_safe_open
    - std::min<int64_t>
    - PagePresent
    - signal_safe_read
    - Update
    - TC_LOG
    - ReadMany
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::PageSwapped
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageSwapped(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: tcmalloc_internal::PagePresent
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PagePresent(uint64_t flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PagePresent
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:55,1
    - Dst: tcmalloc_internal::PageSwapped
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - input
    - size
    - ' info'
    argTypes:
    - uint64_t
    - size_t
    - Residency::Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: tcmalloc_internal::Update
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PagePresent
    - tcmalloc_internal::PageSwapped
    linkageType: ''
    returnType: void
    signature: void Update(const uint64_t input, const size_t size, Residency::Info&
      info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::PageSwapped
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageSwapped(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: tcmalloc_internal::PagePresent
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PagePresent(uint64_t flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PagePresent
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:55,1
    - Dst: tcmalloc_internal::PageSwapped
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - input
    - size
    - ' info'
    argTypes:
    - uint64_t
    - size_t
    - Residency::Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: tcmalloc_internal::Update
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PagePresent
    - tcmalloc_internal::PageSwapped
    linkageType: ''
    returnType: void
    signature: void Update(const uint64_t input, const size_t size, Residency::Info&
      info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:66,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:67,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::ResidencyPageMap::ResidencyPageMap
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - TC_CHECK_LE
    - TC_CHECK_GE
    linkageType: ''
    returnType: void
    signature: void ResidencyPageMap::ResidencyPageMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:75,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:76,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - alternate_filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: tcmalloc_internal::ResidencyPageMap::ResidencyPageMap
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - TC_CHECK_LE
    - TC_CHECK_GE
    linkageType: ''
    returnType: void
    signature: void ResidencyPageMap::ResidencyPageMap(const char* const alternate_filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: ResidencyPageMap::~ResidencyPageMap()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    linkageType: ''
    returnType: void
    signature: void ResidencyPageMap::~ResidencyPageMap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::lseek
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vaddr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::ResidencyPageMap::Seek
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - ::lseek
    linkageType: ''
    returnType: absl::StatusCode
    signature: absl::StatusCode ResidencyPageMap::Seek(const uintptr_t vaddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:105,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: tcmalloc_internal::ResidencyPageMap::ReadOne
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - signal_safe_read
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> ResidencyPageMap::ReadOne()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:116,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:122,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:122,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - num_pages
    - ' info'
    argTypes:
    - int64_t
    - Residency::Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: tcmalloc_internal::ResidencyPageMap::ReadMany
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - std::min<int64_t>
    - Update
    - signal_safe_read
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: absl::StatusCode
    signature: "absl::StatusCode ResidencyPageMap::ReadMany(int64_t num_pages,\n                                            Residency::Info&
      info)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:143,1
    - Dst: tcmalloc_internal::ResidencyPageMap::Seek
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:152,1
    - Dst: tcmalloc_internal::ResidencyPageMap::ReadOne
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:157,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:158,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:159,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:159,1
    - Dst: tcmalloc_internal::ResidencyPageMap::ReadOne
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:167,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:168,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:172,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:172,1
    - Dst: tcmalloc_internal::ResidencyPageMap::ReadMany
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:176,1
    - Dst: tcmalloc_internal::ResidencyPageMap::ReadOne
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:183,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:184,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:185,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 187
    functionName: tcmalloc_internal::ResidencyPageMap::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ResidencyPageMap::ReadOne
    - tcmalloc_internal::ResidencyPageMap::ReadMany
    - auto::has_value
    - Update
    - auto::value
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::ResidencyPageMap::Seek
    linkageType: ''
    returnType: std::optional<Residency::Info>
    signature: "std::optional<Residency::Info> ResidencyPageMap::Get(const void* const
      addr,\n                                                     const size_t size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:193,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:195,1
    - Dst: tcmalloc_internal::ResidencyPageMap::Seek
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:199,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:204,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:204,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:207,1
    - Dst: PagePresent
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:218,1
    - Dst: PageSwapped
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:219,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:220,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - PagePresent
    - signal_safe_read
    - reinterpret_cast<char*>
    - PageSwapped
    - reinterpret_cast<uintptr_t>
    - TC_LOG
    - tcmalloc_internal::ResidencyPageMap::Seek
    linkageType: ''
    returnType: Residency::SinglePageBitmaps
    signature: "Residency::SinglePageBitmaps ResidencyPageMap::GetUnbackedAndSwappedBitmaps(\n
      \   const void* const addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::PageSwapped
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageSwapped(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: tcmalloc_internal::PagePresent
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PagePresent(uint64_t flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PagePresent
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:55,1
    - Dst: tcmalloc_internal::PageSwapped
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - input
    - size
    - ' info'
    argTypes:
    - uint64_t
    - size_t
    - Residency::Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: tcmalloc_internal::Update
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PagePresent
    - tcmalloc_internal::PageSwapped
    linkageType: ''
    returnType: void
    signature: void Update(const uint64_t input, const size_t size, Residency::Info&
      info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::PageSwapped
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageSwapped(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: tcmalloc_internal::PagePresent
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PagePresent(uint64_t flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PagePresent
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:55,1
    - Dst: tcmalloc_internal::PageSwapped
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - input
    - size
    - ' info'
    argTypes:
    - uint64_t
    - size_t
    - Residency::Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: tcmalloc_internal::Update
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PagePresent
    - tcmalloc_internal::PageSwapped
    linkageType: ''
    returnType: void
    signature: void Update(const uint64_t input, const size_t size, Residency::Info&
      info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:66,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:67,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::ResidencyPageMap::ResidencyPageMap
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - TC_CHECK_LE
    - TC_CHECK_GE
    linkageType: ''
    returnType: void
    signature: void ResidencyPageMap::ResidencyPageMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:75,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:76,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - alternate_filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: tcmalloc_internal::ResidencyPageMap::ResidencyPageMap
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - TC_CHECK_LE
    - TC_CHECK_GE
    linkageType: ''
    returnType: void
    signature: void ResidencyPageMap::ResidencyPageMap(const char* const alternate_filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: ResidencyPageMap::~ResidencyPageMap()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    linkageType: ''
    returnType: void
    signature: void ResidencyPageMap::~ResidencyPageMap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::lseek
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vaddr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::ResidencyPageMap::Seek
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 2
    functionsReached:
    - ::lseek
    linkageType: ''
    returnType: absl::StatusCode
    signature: absl::StatusCode ResidencyPageMap::Seek(const uintptr_t vaddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:105,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: tcmalloc_internal::ResidencyPageMap::ReadOne
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 1
    functionsReached:
    - signal_safe_read
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> ResidencyPageMap::ReadOne()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:116,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:122,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:122,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - num_pages
    - ' info'
    argTypes:
    - int64_t
    - Residency::Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: tcmalloc_internal::ResidencyPageMap::ReadMany
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 1
    functionsReached:
    - std::min<int64_t>
    - Update
    - signal_safe_read
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: absl::StatusCode
    signature: "absl::StatusCode ResidencyPageMap::ReadMany(int64_t num_pages,\n                                            Residency::Info&
      info)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:143,1
    - Dst: tcmalloc_internal::ResidencyPageMap::Seek
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:152,1
    - Dst: tcmalloc_internal::ResidencyPageMap::ReadOne
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:157,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:158,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:159,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:159,1
    - Dst: tcmalloc_internal::ResidencyPageMap::ReadOne
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:167,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:168,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:172,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:172,1
    - Dst: tcmalloc_internal::ResidencyPageMap::ReadMany
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:176,1
    - Dst: tcmalloc_internal::ResidencyPageMap::ReadOne
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:183,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:184,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:185,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 187
    functionName: tcmalloc_internal::ResidencyPageMap::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ResidencyPageMap::ReadOne
    - tcmalloc_internal::ResidencyPageMap::ReadMany
    - auto::has_value
    - Update
    - auto::value
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::ResidencyPageMap::Seek
    linkageType: ''
    returnType: std::optional<Residency::Info>
    signature: "std::optional<Residency::Info> ResidencyPageMap::Get(const void* const
      addr,\n                                                     const size_t size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:193,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:195,1
    - Dst: tcmalloc_internal::ResidencyPageMap::Seek
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:199,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:204,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:204,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:207,1
    - Dst: PagePresent
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:218,1
    - Dst: PageSwapped
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:219,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:220,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency.cc:222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - PagePresent
    - signal_safe_read
    - reinterpret_cast<char*>
    - PageSwapped
    - reinterpret_cast<uintptr_t>
    - TC_LOG
    - tcmalloc_internal::ResidencyPageMap::Seek
    linkageType: ''
    returnType: Residency::SinglePageBitmaps
    signature: "Residency::SinglePageBitmaps ResidencyPageMap::GetUnbackedAndSwappedBitmaps(\n
      \   const void* const addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: TCMALLOC_GLIBC_PREREQ
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_GLIBC_PREREQ(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: TCMALLOC_GLIBC_PREREQ
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_GLIBC_PREREQ(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/config.h:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 168
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/config.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:48,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:50,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:54,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:58,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:59,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:63,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:67,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:71,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:76,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:81,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:86,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:91,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:106,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:108,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:108,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:109,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:109,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:116,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:118,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:118,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:119,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:119,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:131,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:131,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:132,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:132,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:146,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:146,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:147,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:147,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:155,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 165
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - data
    - std::min<size_t>
    - static_cast<std::align_val_t>
    - TC_ASSERT_NE
    - absl::MakeSpan
    - size
    - memcpy
    - has_value
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: tcmalloc_internal::GwpAsanState::GwpAsanState
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GwpAsanState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc_internal::GwpAsanState::type
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::GwpAsanState::triggered
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool triggered() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:48,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:50,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: tcmalloc_internal::GwpAsanState::AllocationStack
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - has_value
    - TC_ASSERT_NE
    linkageType: ''
    returnType: std::optional<absl::Span<void* const>>
    signature: std::optional<absl::Span<void* const>> AllocationStack() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:58,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:59,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: tcmalloc_internal::GwpAsanState::DeallocationStack
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - has_value
    - TC_ASSERT_NE
    linkageType: ''
    returnType: std::optional<absl::Span<void* const>>
    signature: std::optional<absl::Span<void* const>> DeallocationStack() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::GwpAsanState::provided_min
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: size_t
    signature: size_t provided_min() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::GwpAsanState::provided_max
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: size_t
    signature: size_t provided_max() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::GwpAsanState::minimum_size
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::GwpAsanState::maximum_size
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: size_t
    signature: size_t maximum_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: tcmalloc_internal::GwpAsanState::actual_alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t actual_alignment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: tcmalloc_internal::GwpAsanState::expected_alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t expected_alignment() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<absl::Span<void* const>>::has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:106,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:108,1
    - Dst: std::optional<absl::Span<void* const>>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:108,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:109,1
    - Dst: std::optional<absl::Span<void* const>>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:109,1
    - Dst: std::optional<absl::Span<void* const>>::has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:116,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:118,1
    - Dst: std::optional<absl::Span<void* const>>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:118,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:119,1
    - Dst: std::optional<absl::Span<void* const>>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 6
    argNames:
    - provided_min
    - provided_max
    - minimum
    - maximum
    - allocation_stack
    - deallocation_stack
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - std::optional<absl::Span<void* const>>
    - std::optional<absl::Span<void* const>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::GwpAsanState::RecordMismatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - std::optional<absl::Span<void* const>>::size
    - std::min<size_t>
    - std::optional<absl::Span<void* const>>::data
    - memcpy
    - std::optional<absl::Span<void* const>>::has_value
    linkageType: ''
    returnType: void
    signature: "void RecordMismatch(\n      size_t provided_min, size_t provided_max,
      size_t minimum, size_t maximum,\n      std::optional<absl::Span<void* const>>
      allocation_stack,\n      std::optional<absl::Span<void* const>> deallocation_stack)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:131,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:131,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:132,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - deallocation_stack
    argTypes:
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: tcmalloc_internal::GwpAsanState::RecordDoubleFree
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - memcpy
    - std::min<size_t>
    - absl::Span<void* const>::size
    - absl::Span<void* const>::data
    linkageType: ''
    returnType: void
    signature: void RecordDoubleFree(absl::Span<void* const> deallocation_stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:146,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:146,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:147,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - actual_alignment
    - expected_alignment
    - deallocation_stack
    argTypes:
    - std::align_val_t
    - std::align_val_t
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: tcmalloc_internal::GwpAsanState::RecordInvalidFree
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - memcpy
    - std::min<size_t>
    - absl::Span<void* const>::size
    - absl::Span<void* const>::data
    linkageType: ''
    returnType: void
    signature: "void RecordInvalidFree(std::align_val_t actual_alignment,\n                         std::align_val_t
      expected_alignment,\n                         absl::Span<void* const> deallocation_stack)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: tcmalloc_internal::GwpAsanState::GwpAsanState
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GwpAsanState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc_internal::GwpAsanState::type
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::GwpAsanState::triggered
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool triggered() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:48,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:50,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: tcmalloc_internal::GwpAsanState::AllocationStack
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - has_value
    - TC_ASSERT_NE
    linkageType: ''
    returnType: std::optional<absl::Span<void* const>>
    signature: std::optional<absl::Span<void* const>> AllocationStack() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:58,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:59,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: tcmalloc_internal::GwpAsanState::DeallocationStack
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - has_value
    - TC_ASSERT_NE
    linkageType: ''
    returnType: std::optional<absl::Span<void* const>>
    signature: std::optional<absl::Span<void* const>> DeallocationStack() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::GwpAsanState::provided_min
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: size_t
    signature: size_t provided_min() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::GwpAsanState::provided_max
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: size_t
    signature: size_t provided_max() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::GwpAsanState::minimum_size
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tcmalloc_internal::GwpAsanState::maximum_size
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: size_t
    signature: size_t maximum_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: tcmalloc_internal::GwpAsanState::actual_alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t actual_alignment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: tcmalloc_internal::GwpAsanState::expected_alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t expected_alignment() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<absl::Span<void* const>>::has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:106,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:108,1
    - Dst: std::optional<absl::Span<void* const>>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:108,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:109,1
    - Dst: std::optional<absl::Span<void* const>>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:109,1
    - Dst: std::optional<absl::Span<void* const>>::has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:116,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:118,1
    - Dst: std::optional<absl::Span<void* const>>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:118,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:119,1
    - Dst: std::optional<absl::Span<void* const>>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 6
    argNames:
    - provided_min
    - provided_max
    - minimum
    - maximum
    - allocation_stack
    - deallocation_stack
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - std::optional<absl::Span<void* const>>
    - std::optional<absl::Span<void* const>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::GwpAsanState::RecordMismatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - std::optional<absl::Span<void* const>>::size
    - std::min<size_t>
    - std::optional<absl::Span<void* const>>::data
    - memcpy
    - std::optional<absl::Span<void* const>>::has_value
    linkageType: ''
    returnType: void
    signature: "void RecordMismatch(\n      size_t provided_min, size_t provided_max,
      size_t minimum, size_t maximum,\n      std::optional<absl::Span<void* const>>
      allocation_stack,\n      std::optional<absl::Span<void* const>> deallocation_stack)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:131,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:131,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:132,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - deallocation_stack
    argTypes:
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: tcmalloc_internal::GwpAsanState::RecordDoubleFree
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - memcpy
    - std::min<size_t>
    - absl::Span<void* const>::size
    - absl::Span<void* const>::data
    linkageType: ''
    returnType: void
    signature: void RecordDoubleFree(absl::Span<void* const> deallocation_stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:146,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:146,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:147,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - actual_alignment
    - expected_alignment
    - deallocation_stack
    argTypes:
    - std::align_val_t
    - std::align_val_t
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: tcmalloc_internal::GwpAsanState::RecordInvalidFree
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - memcpy
    - std::min<size_t>
    - absl::Span<void* const>::size
    - absl::Span<void* const>::data
    linkageType: ''
    returnType: void
    signature: "void RecordInvalidFree(std::align_val_t actual_alignment,\n                         std::align_val_t
      expected_alignment,\n                         absl::Span<void* const> deallocation_stack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - info
    - segment_type
    argTypes:
    - dl_phdr_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::GetFirstSegment
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ElfW
    signature: "ElfW *\n    GetFirstSegment(const dl_phdr_info* const info, const
      int segment_type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetFirstSegment
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:74,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:79,1
    - Dst: reinterpret_cast<ElfW(Dyn)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:79,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:95,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:96,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:98,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::GetSoName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetFirstSegment
    - TC_CHECK_NE
    - ElfW
    - TC_CHECK_LT
    - reinterpret_cast<char*>
    - reinterpret_cast<ElfW(Dyn)*>
    linkageType: ''
    returnType: char
    signature: char * GetSoName(const dl_phdr_info* const info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:119,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:124,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:124,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Profile::Sample
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: operator()(const Profile::Sample& a, const Profile::Sample& b) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::equal
    - std::tie
    - fields
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Profile::Sample& a, const Profile::Sample& b)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:131,1
    - Dst: absl::MakeConstSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: operator()(const Profile::Sample& s) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::HashOf
    - absl::MakeConstSpan
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Profile::Sample& s) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:147,1
    - Dst: Residency*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:153,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:159,1
    - Dst: resident_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:162,1
    - Dst: resident_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:166,1
    - Dst: swapped_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:167,1
    - Dst: PageFlagsBase*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:174,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:175,1
    - Dst: stale_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:176,1
    - Dst: stale_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:177,1
    - Dst: stale_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:179,1
    - Dst: locked_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:181,1
    - Dst: locked_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:182,1
    - Dst: locked_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:184,1
    - Dst: stale_scan_period::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - resident_size::value
    - stale_size::has_value
    - swapped_size::value
    - locked_size::value
    - auto::has_value
    - locked_size::emplace
    - stale_size::value
    - stale_size::emplace
    - resident_size::has_value
    - PageFlagsBase*::Get
    - stale_scan_period::has_value
    - Residency*::Get
    - locked_size::has_value
    - Iterate
    linkageType: ''
    returnType: SampleMergedMap
    signature: "SampleMergedMap MergeProfileSamplesAndMaybeGetResidencyInfo(\n    const
      tcmalloc::Profile& profile, PageFlagsBase* pageflags,\n    Residency* residency)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - info
    - segment_type
    argTypes:
    - dl_phdr_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::GetFirstSegment
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ElfW
    signature: "ElfW *\n    GetFirstSegment(const dl_phdr_info* const info, const
      int segment_type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetFirstSegment
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:74,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:79,1
    - Dst: reinterpret_cast<ElfW(Dyn)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:79,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:95,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:96,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:98,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::GetSoName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetFirstSegment
    - TC_CHECK_NE
    - ElfW
    - TC_CHECK_LT
    - reinterpret_cast<char*>
    - reinterpret_cast<ElfW(Dyn)*>
    linkageType: ''
    returnType: char
    signature: char * GetSoName(const dl_phdr_info* const info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:119,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:124,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:124,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Profile::Sample
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: operator()(const Profile::Sample& a, const Profile::Sample& b) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::equal
    - std::tie
    - fields
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Profile::Sample& a, const Profile::Sample& b)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:131,1
    - Dst: absl::MakeConstSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: operator()(const Profile::Sample& s) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::HashOf
    - absl::MakeConstSpan
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Profile::Sample& s) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:147,1
    - Dst: Residency*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:153,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:159,1
    - Dst: resident_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:162,1
    - Dst: resident_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:166,1
    - Dst: swapped_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:167,1
    - Dst: PageFlagsBase*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:174,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:175,1
    - Dst: stale_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:176,1
    - Dst: stale_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:177,1
    - Dst: stale_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:179,1
    - Dst: locked_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:181,1
    - Dst: locked_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:182,1
    - Dst: locked_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:184,1
    - Dst: stale_scan_period::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - resident_size::value
    - stale_size::has_value
    - swapped_size::value
    - locked_size::value
    - auto::has_value
    - locked_size::emplace
    - stale_size::value
    - stale_size::emplace
    - resident_size::has_value
    - PageFlagsBase*::Get
    - stale_scan_period::has_value
    - Residency*::Get
    - locked_size::has_value
    - Iterate
    linkageType: ''
    returnType: SampleMergedMap
    signature: "SampleMergedMap MergeProfileSamplesAndMaybeGetResidencyInfo(\n    const
      tcmalloc::Profile& profile, PageFlagsBase* pageflags,\n    Residency* residency)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:220,1
    - Dst: reinterpret_cast<const ElfW(Nhdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:224,1
    - Dst: static_cast<ElfW(Word)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:238,1
    - Dst: static_cast<ElfW(Word)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:239,1
    - Dst: memcmp
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:249,1
    - Dst: std::string::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:250,1
    - Dst: absl::BytesToHexString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:254,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:255,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::GetBuildId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::BytesToHexString
    - std::string::empty
    - memcmp
    - absl::string_view
    - reinterpret_cast<char*>
    - static_cast<ElfW(Word)>
    - reinterpret_cast<const ElfW(Nhdr)*>
    linkageType: ''
    returnType: std::string
    signature: std::string GetBuildId(const dl_phdr_info* const info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<perftools::profiles::Profile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:344,1
    - Dst: add_string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::ProfileBuilder
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - add_string_table
    - std::make_unique<perftools::profiles::Profile>
    linkageType: ''
    returnType: void
    signature: void ProfileBuilder::ProfileBuilder()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:350,1
    - Dst: string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:354,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:355,1
    - Dst: add_string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sv
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 362
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - add_string_table
    - emplace
    - string_table_size
    linkageType: ''
    returnType: int
    signature: int ProfileBuilder::InternString(absl::string_view sv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:365,1
    - Dst: location_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:368,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:369,1
    - Dst: add_location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:374,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:375,1
    - Dst: set_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:376,1
    - Dst: set_address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:377,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:379,1
    - Dst: upper_bound
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:384,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:385,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:392,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:393,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:394,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:394,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:396,1
    - Dst: set_mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 401
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - add_location
    - emplace
    - set_address
    - empty
    - upper_bound
    - begin
    - absl::bit_cast<uintptr_t>
    - set_id
    - memory_start
    - location_size
    - memory_limit
    - mapping
    - set_mapping_id
    - id
    - TC_ASSERT
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: int
    signature: int ProfileBuilder::InternLocation(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:409,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:410,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:410,1
    - Dst: add_location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:411,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:413,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:413,1
    - Dst: absl::Span<const void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stack
    - ' sample'
    argTypes:
    - absl::Span<const void* const>
    - perftools::profiles::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 414
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternCallstack
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::Span<const void* const>::size
    - absl::bit_cast<uintptr_t>
    - location_id
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
    - absl::bit_cast<const void*>
    - add_location_id
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: "void ProfileBuilder::InternCallstack(absl::Span<const void* const>
      stack,\n                                     perftools::profiles::Sample& sample)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ProfileBuilder*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:424,1
    - Dst: profile_::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:425,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:434,1
    - Dst: readlink
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:451,1
    - Dst: GetSoName
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:459,1
    - Dst: realpath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:465,1
    - Dst: GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:471,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:474,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:481,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 483
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::AddCurrentMappings
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - dl_iterate_phdr
    - readlink
    - TC_CHECK_NE
    - GetBuildId
    - profile_::mapping_size
    - static_cast<ProfileBuilder*>
    - GetSoName
    - realpath
    - tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
    linkageType: ''
    returnType: void
    signature: void ProfileBuilder::AddCurrentMappings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:489,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:490,1
    - Dst: set_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:491,1
    - Dst: set_memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:492,1
    - Dst: set_memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:493,1
    - Dst: set_file_offset
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:494,1
    - Dst: set_filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:495,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:495,1
    - Dst: set_build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:496,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:496,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - memory_start
    - memory_limit
    - file_offset
    - filename
    - build_id
    argTypes:
    - uintptr_t
    - uintptr_t
    - uintptr_t
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 500
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 1
    functionsReached:
    - set_memory_limit
    - emplace
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    - set_build_id
    - set_memory_start
    - set_id
    - add_mapping
    - set_filename
    - set_file_offset
    - mapping_size
    linkageType: ''
    returnType: int
    signature: "int ProfileBuilder::AddMapping(uintptr_t memory_start, uintptr_t memory_limit,\n
      \                              uintptr_t file_offset,\n                               absl::string_view
      filename,\n                               absl::string_view build_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:504,1
    - Dst: ProfileBuilder*::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:505,1
    - Dst: mutable_period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:506,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:508,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:508,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:509,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:509,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:517,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:518,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:518,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:519,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:519,1
    - Dst: set_default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:522,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:522,1
    - Dst: set_duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:523,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:523,1
    - Dst: Duration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:523,1
    - Dst: StartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:525,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:525,1
    - Dst: set_time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:526,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:526,1
    - Dst: set_drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:529,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:529,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:532,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:533,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:534,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:535,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:536,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:537,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:538,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:539,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:540,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:541,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:542,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:543,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:544,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:545,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:546,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:547,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:548,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:549,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:551,1
    - Dst: add_sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:552,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:554,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:554,1
    - Dst: ProfileBuilder*::InternCallstack
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:555,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:555,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:558,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:559,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:560,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:561,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:566,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:572,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:573,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:575,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:576,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:577,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:578,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:580,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:585,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:586,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:587,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:590,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:591,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:592,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:593,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:594,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:595,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:596,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:597,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:598,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:600,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:603,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:606,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:609,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:612,1
    - Dst: abs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:616,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:622,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:623,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:624,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:625,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:626,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:627,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:629,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:630,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:631,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:632,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:633,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:634,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:636,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:637,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:638,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:639,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:640,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:641,1
    - Dst: absl::OkStatus
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 73
    argCount: 2
    argNames:
    - ' profile'
    - builder
    argTypes:
    - tcmalloc::Profile
    - ProfileBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - add_label
    - set_num
    - abs
    - ProfileBuilder*::profile
    - absl::ToUnixNanos
    - TC_CHECK_LE
    - set_drop_frames
    - set_key
    - add_value
    - add_optional_string_label
    - Duration
    - perftools::profiles::ValueType*::set_unit
    - mutable_period_type
    - absl::MakeSpan
    - auto::has_value
    - add_sample_type
    - ABSL_ARRAYSIZE
    - set_str
    - ProfileBuilder*::InternString
    - StartTime
    - set_num_unit
    - Iterate
    - value
    - absl::ToInt64Nanoseconds
    - add_sample
    - absl::OkStatus
    - set_time_nanos
    - ProfileBuilder*::InternCallstack
    - TC_CHECK_NE
    - perftools::profiles::ValueType*::set_type
    - has_value
    - add_positive_label
    - set_default_sample_type
    - set_duration_nanos
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status MakeLifetimeProfileProto(const tcmalloc::Profile& profile,\n
      \                                            ProfileBuilder* builder)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 649
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::Finalize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<perftools::profiles::Profile>
    signature: std::unique_ptr<perftools::profiles::Profile> ProfileBuilder::Finalize()
      &&
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:654,1
    - Dst: absl::UnimplementedError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:658,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:662,1
    - Dst: ProfileBuilder::AddCurrentMappings
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:669,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:671,1
    - Dst: tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:672,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:673,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:676,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:679,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:680,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:681,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:682,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:683,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:684,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:685,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:686,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:687,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:688,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:689,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:690,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:691,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:692,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:693,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:694,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:695,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:696,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:697,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:698,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:699,1
    - Dst: ProfileBuilder::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:701,1
    - Dst: mutable_period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:704,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:705,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:706,1
    - Dst: set_drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:707,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:707,1
    - Dst: set_duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:708,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:708,1
    - Dst: Duration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:708,1
    - Dst: StartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:710,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:710,1
    - Dst: set_time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:711,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:711,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:715,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:716,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:717,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:721,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:722,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:723,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:727,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:729,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:730,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:731,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:733,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:734,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:735,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:737,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:738,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:739,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:741,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:742,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:743,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:747,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:757,1
    - Dst: set_default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:762,1
    - Dst: ProfileBuilder::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:765,1
    - Dst: add_sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:766,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:768,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:768,1
    - Dst: ProfileBuilder::InternCallstack
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:769,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:769,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:771,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:772,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:774,1
    - Dst: resident_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:774,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:775,1
    - Dst: swapped_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:775,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:776,1
    - Dst: stale_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:776,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:777,1
    - Dst: locked_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:777,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:782,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:783,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:784,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:785,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:790,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:793,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:794,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:795,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:796,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:797,1
    - Dst: stale_scan_period::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:798,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:804,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:805,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:806,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:810,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:811,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:812,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:820,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:821,1
    - Dst: add_access_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:822,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:824,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:825,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:829,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:832,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:835,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:839,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:841,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:842,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:843,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:844,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:845,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:846,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:847,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:848,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:849,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:850,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:852,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:853,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:856,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:859,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:862,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:865,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:868,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:871,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:874,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:877,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:880,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:883,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:886,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:890,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 141
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - ::tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 891
    functionName: tcmalloc::tcmalloc_internal::MakeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 2
    functionsReached:
    - add_label
    - set_num
    - ProfileBuilder::AddCurrentMappings
    - ABSL_UNREACHABLE
    - stale_scan_period::value_or
    - Type
    - absl::UnimplementedError
    - locked_size::value_or
    - stale_size::value_or
    - set_type
    - set_drop_frames
    - absl::ToUnixNanos
    - TC_CHECK_LE
    - set_key
    - tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    - absl::Status::ok
    - add_value
    - absl::InvalidArgumentError
    - Duration
    - perftools::profiles::ValueType*::set_unit
    - resident_size::value_or
    - mutable_period_type
    - absl::MakeSpan
    - auto::has_value
    - ProfileBuilder::InternCallstack
    - set_unit
    - add_sample_type
    - tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
    - ABSL_ARRAYSIZE
    - set_str
    - StartTime
    - set_num_unit
    - add_access_label
    - std::move
    - absl::ToInt64Nanoseconds
    - add_sample
    - ProfileBuilder::profile
    - ProfileBuilder::InternString
    - set_time_nanos
    - swapped_size::value_or
    - perftools::profiles::ValueType*::set_type
    - add_positive_label
    - static_cast<uint8_t>
    - set_default_sample_type
    - set_duration_nanos
    linkageType: ''
    returnType: absl::StatusOr<std::unique_ptr<perftools::profiles::Profile>>
    signature: "absl::StatusOr<std::unique_ptr<perftools::profiles::Profile>> MakeProfileProto(\n
      \   const ::tcmalloc::Profile& profile, PageFlagsBase* pageflags,\n    Residency*
      residency)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:894,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:894,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:895,1
    - Dst: absl::InternalError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:896,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:897,1
    - Dst: set_doc_url
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:899,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:899,1
    - Dst: absl::OkStatus
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 901
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::SetDocURL
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    - absl::StartsWith
    - absl::InternalError
    - absl::string_view::empty
    - absl::StrCat
    - set_doc_url
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status ProfileBuilder::SetDocURL(absl::string_view url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:912,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:913,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:914,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' profile'
    argTypes:
    - ::tcmalloc::Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 918
    functionName: tcmalloc::tcmalloc_internal::MakeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 3
    functionsReached:
    - Type
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - std::optional::emplace
    linkageType: ''
    returnType: absl::StatusOr<std::unique_ptr<perftools::profiles::Profile>>
    signature: "absl::StatusOr<std::unique_ptr<perftools::profiles::Profile>> MakeProfileProto(\n
      \   const ::tcmalloc::Profile& profile)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - info
    - segment_type
    argTypes:
    - dl_phdr_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::GetFirstSegment
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ElfW
    signature: "ElfW *\n    GetFirstSegment(const dl_phdr_info* const info, const
      int segment_type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetFirstSegment
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:74,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:79,1
    - Dst: reinterpret_cast<ElfW(Dyn)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:79,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:95,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:96,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:98,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::GetSoName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetFirstSegment
    - TC_CHECK_NE
    - ElfW
    - TC_CHECK_LT
    - reinterpret_cast<char*>
    - reinterpret_cast<ElfW(Dyn)*>
    linkageType: ''
    returnType: char
    signature: char * GetSoName(const dl_phdr_info* const info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:119,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:124,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:124,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Profile::Sample
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: operator()(const Profile::Sample& a, const Profile::Sample& b) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::equal
    - std::tie
    - fields
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Profile::Sample& a, const Profile::Sample& b)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:131,1
    - Dst: absl::MakeConstSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: operator()(const Profile::Sample& s) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::HashOf
    - absl::MakeConstSpan
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Profile::Sample& s) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:147,1
    - Dst: Residency*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:153,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:159,1
    - Dst: resident_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:162,1
    - Dst: resident_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:166,1
    - Dst: swapped_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:167,1
    - Dst: PageFlagsBase*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:174,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:175,1
    - Dst: stale_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:176,1
    - Dst: stale_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:177,1
    - Dst: stale_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:179,1
    - Dst: locked_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:181,1
    - Dst: locked_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:182,1
    - Dst: locked_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:184,1
    - Dst: stale_scan_period::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 1
    functionsReached:
    - resident_size::value
    - stale_size::has_value
    - swapped_size::value
    - locked_size::value
    - auto::has_value
    - locked_size::emplace
    - stale_size::value
    - stale_size::emplace
    - resident_size::has_value
    - PageFlagsBase*::Get
    - stale_scan_period::has_value
    - Residency*::Get
    - locked_size::has_value
    - Iterate
    linkageType: ''
    returnType: SampleMergedMap
    signature: "SampleMergedMap MergeProfileSamplesAndMaybeGetResidencyInfo(\n    const
      tcmalloc::Profile& profile, PageFlagsBase* pageflags,\n    Residency* residency)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - info
    - segment_type
    argTypes:
    - dl_phdr_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::GetFirstSegment
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ElfW
    signature: "ElfW *\n    GetFirstSegment(const dl_phdr_info* const info, const
      int segment_type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetFirstSegment
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:74,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:79,1
    - Dst: reinterpret_cast<ElfW(Dyn)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:79,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:95,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:96,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:98,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::GetSoName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetFirstSegment
    - TC_CHECK_NE
    - ElfW
    - TC_CHECK_LT
    - reinterpret_cast<char*>
    - reinterpret_cast<ElfW(Dyn)*>
    linkageType: ''
    returnType: char
    signature: char * GetSoName(const dl_phdr_info* const info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:119,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:124,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:124,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Profile::Sample
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: operator()(const Profile::Sample& a, const Profile::Sample& b) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::equal
    - std::tie
    - fields
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Profile::Sample& a, const Profile::Sample& b)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:131,1
    - Dst: absl::MakeConstSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: operator()(const Profile::Sample& s) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::HashOf
    - absl::MakeConstSpan
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Profile::Sample& s) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:147,1
    - Dst: Residency*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:153,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:159,1
    - Dst: resident_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:162,1
    - Dst: resident_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:166,1
    - Dst: swapped_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:167,1
    - Dst: PageFlagsBase*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:174,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:175,1
    - Dst: stale_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:176,1
    - Dst: stale_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:177,1
    - Dst: stale_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:179,1
    - Dst: locked_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:181,1
    - Dst: locked_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:182,1
    - Dst: locked_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:184,1
    - Dst: stale_scan_period::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 1
    functionsReached:
    - resident_size::value
    - stale_size::has_value
    - swapped_size::value
    - locked_size::value
    - auto::has_value
    - locked_size::emplace
    - stale_size::value
    - stale_size::emplace
    - resident_size::has_value
    - PageFlagsBase*::Get
    - stale_scan_period::has_value
    - Residency*::Get
    - locked_size::has_value
    - Iterate
    linkageType: ''
    returnType: SampleMergedMap
    signature: "SampleMergedMap MergeProfileSamplesAndMaybeGetResidencyInfo(\n    const
      tcmalloc::Profile& profile, PageFlagsBase* pageflags,\n    Residency* residency)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:220,1
    - Dst: reinterpret_cast<const ElfW(Nhdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:224,1
    - Dst: static_cast<ElfW(Word)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:238,1
    - Dst: static_cast<ElfW(Word)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:239,1
    - Dst: memcmp
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:249,1
    - Dst: std::string::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:250,1
    - Dst: absl::BytesToHexString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:254,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:255,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::GetBuildId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::BytesToHexString
    - std::string::empty
    - memcmp
    - absl::string_view
    - reinterpret_cast<char*>
    - static_cast<ElfW(Word)>
    - reinterpret_cast<const ElfW(Nhdr)*>
    linkageType: ''
    returnType: std::string
    signature: std::string GetBuildId(const dl_phdr_info* const info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<perftools::profiles::Profile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:344,1
    - Dst: add_string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::ProfileBuilder
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - add_string_table
    - std::make_unique<perftools::profiles::Profile>
    linkageType: ''
    returnType: void
    signature: void ProfileBuilder::ProfileBuilder()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:350,1
    - Dst: string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:354,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:355,1
    - Dst: add_string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sv
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 362
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 2
    functionsReached:
    - absl::string_view::empty
    - add_string_table
    - emplace
    - string_table_size
    linkageType: ''
    returnType: int
    signature: int ProfileBuilder::InternString(absl::string_view sv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:365,1
    - Dst: location_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:368,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:369,1
    - Dst: add_location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:374,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:375,1
    - Dst: set_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:376,1
    - Dst: set_address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:377,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:379,1
    - Dst: upper_bound
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:384,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:385,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:392,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:393,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:394,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:394,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:396,1
    - Dst: set_mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 401
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 1
    functionsReached:
    - add_location
    - emplace
    - set_address
    - empty
    - upper_bound
    - begin
    - absl::bit_cast<uintptr_t>
    - set_id
    - memory_start
    - location_size
    - memory_limit
    - mapping
    - set_mapping_id
    - id
    - TC_ASSERT
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: int
    signature: int ProfileBuilder::InternLocation(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:409,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:410,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:410,1
    - Dst: add_location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:411,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:413,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:413,1
    - Dst: absl::Span<const void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stack
    - ' sample'
    argTypes:
    - absl::Span<const void* const>
    - perftools::profiles::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 414
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternCallstack
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::Span<const void* const>::size
    - absl::bit_cast<uintptr_t>
    - location_id
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
    - absl::bit_cast<const void*>
    - add_location_id
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: "void ProfileBuilder::InternCallstack(absl::Span<const void* const>
      stack,\n                                     perftools::profiles::Sample& sample)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ProfileBuilder*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:424,1
    - Dst: profile_::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:425,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:434,1
    - Dst: readlink
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:451,1
    - Dst: GetSoName
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:459,1
    - Dst: realpath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:465,1
    - Dst: GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:471,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:474,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:481,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 483
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::AddCurrentMappings
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - dl_iterate_phdr
    - readlink
    - TC_CHECK_NE
    - GetBuildId
    - profile_::mapping_size
    - static_cast<ProfileBuilder*>
    - GetSoName
    - realpath
    - tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
    linkageType: ''
    returnType: void
    signature: void ProfileBuilder::AddCurrentMappings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:489,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:490,1
    - Dst: set_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:491,1
    - Dst: set_memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:492,1
    - Dst: set_memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:493,1
    - Dst: set_file_offset
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:494,1
    - Dst: set_filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:495,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:495,1
    - Dst: set_build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:496,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:496,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - memory_start
    - memory_limit
    - file_offset
    - filename
    - build_id
    argTypes:
    - uintptr_t
    - uintptr_t
    - uintptr_t
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 500
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 2
    functionsReached:
    - set_memory_limit
    - emplace
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    - set_build_id
    - set_memory_start
    - set_id
    - add_mapping
    - set_filename
    - set_file_offset
    - mapping_size
    linkageType: ''
    returnType: int
    signature: "int ProfileBuilder::AddMapping(uintptr_t memory_start, uintptr_t memory_limit,\n
      \                              uintptr_t file_offset,\n                               absl::string_view
      filename,\n                               absl::string_view build_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:504,1
    - Dst: ProfileBuilder*::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:505,1
    - Dst: mutable_period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:506,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:508,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:508,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:509,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:509,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:517,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:518,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:518,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:519,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:519,1
    - Dst: set_default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:522,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:522,1
    - Dst: set_duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:523,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:523,1
    - Dst: Duration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:523,1
    - Dst: StartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:525,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:525,1
    - Dst: set_time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:526,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:526,1
    - Dst: set_drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:529,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:529,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:532,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:533,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:534,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:535,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:536,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:537,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:538,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:539,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:540,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:541,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:542,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:543,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:544,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:545,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:546,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:547,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:548,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:549,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:551,1
    - Dst: add_sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:552,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:554,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:554,1
    - Dst: ProfileBuilder*::InternCallstack
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:555,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:555,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:558,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:559,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:560,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:561,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:566,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:572,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:573,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:575,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:576,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:577,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:578,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:580,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:585,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:586,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:587,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:590,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:591,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:592,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:593,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:594,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:595,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:596,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:597,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:598,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:600,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:603,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:606,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:609,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:612,1
    - Dst: abs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:616,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:622,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:623,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:624,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:625,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:626,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:627,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:629,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:630,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:631,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:632,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:633,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:634,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:636,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:637,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:638,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:639,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:640,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:641,1
    - Dst: absl::OkStatus
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 73
    argCount: 2
    argNames:
    - ' profile'
    - builder
    argTypes:
    - tcmalloc::Profile
    - ProfileBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 1
    functionsReached:
    - add_label
    - set_num
    - abs
    - ProfileBuilder*::profile
    - absl::ToUnixNanos
    - TC_CHECK_LE
    - set_drop_frames
    - set_key
    - add_value
    - add_optional_string_label
    - Duration
    - perftools::profiles::ValueType*::set_unit
    - mutable_period_type
    - absl::MakeSpan
    - auto::has_value
    - add_sample_type
    - ABSL_ARRAYSIZE
    - set_str
    - ProfileBuilder*::InternString
    - StartTime
    - set_num_unit
    - Iterate
    - value
    - absl::ToInt64Nanoseconds
    - add_sample
    - absl::OkStatus
    - set_time_nanos
    - ProfileBuilder*::InternCallstack
    - TC_CHECK_NE
    - perftools::profiles::ValueType*::set_type
    - has_value
    - add_positive_label
    - set_default_sample_type
    - set_duration_nanos
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status MakeLifetimeProfileProto(const tcmalloc::Profile& profile,\n
      \                                            ProfileBuilder* builder)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 649
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::Finalize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<perftools::profiles::Profile>
    signature: std::unique_ptr<perftools::profiles::Profile> ProfileBuilder::Finalize()
      &&
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:654,1
    - Dst: absl::UnimplementedError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:658,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:662,1
    - Dst: ProfileBuilder::AddCurrentMappings
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:669,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:671,1
    - Dst: tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:672,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:673,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:676,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:679,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:680,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:681,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:682,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:683,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:684,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:685,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:686,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:687,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:688,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:689,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:690,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:691,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:692,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:693,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:694,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:695,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:696,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:697,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:698,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:699,1
    - Dst: ProfileBuilder::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:701,1
    - Dst: mutable_period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:704,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:705,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:706,1
    - Dst: set_drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:707,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:707,1
    - Dst: set_duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:708,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:708,1
    - Dst: Duration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:708,1
    - Dst: StartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:710,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:710,1
    - Dst: set_time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:711,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:711,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:715,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:716,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:717,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:721,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:722,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:723,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:727,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:729,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:730,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:731,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:733,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:734,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:735,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:737,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:738,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:739,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:741,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:742,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:743,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:747,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:757,1
    - Dst: set_default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:762,1
    - Dst: ProfileBuilder::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:765,1
    - Dst: add_sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:766,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:768,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:768,1
    - Dst: ProfileBuilder::InternCallstack
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:769,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:769,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:771,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:772,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:774,1
    - Dst: resident_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:774,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:775,1
    - Dst: swapped_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:775,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:776,1
    - Dst: stale_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:776,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:777,1
    - Dst: locked_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:777,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:782,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:783,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:784,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:785,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:790,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:793,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:794,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:795,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:796,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:797,1
    - Dst: stale_scan_period::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:798,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:804,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:805,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:806,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:810,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:811,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:812,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:820,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:821,1
    - Dst: add_access_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:822,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:824,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:825,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:829,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:832,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:835,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:839,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:841,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:842,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:843,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:844,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:845,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:846,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:847,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:848,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:849,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:850,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:852,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:853,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:856,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:859,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:862,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:865,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:868,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:871,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:874,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:877,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:880,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:883,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:886,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:890,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 141
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - ::tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 891
    functionName: tcmalloc::tcmalloc_internal::MakeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 3
    functionsReached:
    - add_label
    - set_num
    - ProfileBuilder::AddCurrentMappings
    - ABSL_UNREACHABLE
    - stale_scan_period::value_or
    - Type
    - absl::UnimplementedError
    - locked_size::value_or
    - stale_size::value_or
    - set_type
    - set_drop_frames
    - absl::ToUnixNanos
    - TC_CHECK_LE
    - set_key
    - tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    - absl::Status::ok
    - add_value
    - absl::InvalidArgumentError
    - Duration
    - perftools::profiles::ValueType*::set_unit
    - resident_size::value_or
    - mutable_period_type
    - absl::MakeSpan
    - auto::has_value
    - ProfileBuilder::InternCallstack
    - set_unit
    - add_sample_type
    - tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
    - ABSL_ARRAYSIZE
    - set_str
    - StartTime
    - set_num_unit
    - add_access_label
    - std::move
    - absl::ToInt64Nanoseconds
    - add_sample
    - ProfileBuilder::profile
    - ProfileBuilder::InternString
    - set_time_nanos
    - swapped_size::value_or
    - perftools::profiles::ValueType*::set_type
    - add_positive_label
    - static_cast<uint8_t>
    - set_default_sample_type
    - set_duration_nanos
    linkageType: ''
    returnType: absl::StatusOr<std::unique_ptr<perftools::profiles::Profile>>
    signature: "absl::StatusOr<std::unique_ptr<perftools::profiles::Profile>> MakeProfileProto(\n
      \   const ::tcmalloc::Profile& profile, PageFlagsBase* pageflags,\n    Residency*
      residency)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:894,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:894,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:895,1
    - Dst: absl::InternalError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:896,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:897,1
    - Dst: set_doc_url
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:899,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:899,1
    - Dst: absl::OkStatus
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 901
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::SetDocURL
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    - absl::StartsWith
    - absl::InternalError
    - absl::string_view::empty
    - absl::StrCat
    - set_doc_url
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status ProfileBuilder::SetDocURL(absl::string_view url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:912,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:913,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:914,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' profile'
    argTypes:
    - ::tcmalloc::Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 918
    functionName: tcmalloc::tcmalloc_internal::MakeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 4
    functionsReached:
    - Type
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - std::optional::emplace
    linkageType: ''
    returnType: absl::StatusOr<std::unique_ptr<perftools::profiles::Profile>>
    signature: "absl::StatusOr<std::unique_ptr<perftools::profiles::Profile>> MakeProfileProto(\n
      \   const ::tcmalloc::Profile& profile)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - info
    - segment_type
    argTypes:
    - dl_phdr_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::GetFirstSegment
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ElfW
    signature: "ElfW *\n    GetFirstSegment(const dl_phdr_info* const info, const
      int segment_type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetFirstSegment
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:74,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:79,1
    - Dst: reinterpret_cast<ElfW(Dyn)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:79,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:95,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:96,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:98,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::GetSoName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetFirstSegment
    - TC_CHECK_NE
    - ElfW
    - TC_CHECK_LT
    - reinterpret_cast<char*>
    - reinterpret_cast<ElfW(Dyn)*>
    linkageType: ''
    returnType: char
    signature: char * GetSoName(const dl_phdr_info* const info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:119,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:124,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:124,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Profile::Sample
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: operator()(const Profile::Sample& a, const Profile::Sample& b) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::equal
    - std::tie
    - fields
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Profile::Sample& a, const Profile::Sample& b)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:131,1
    - Dst: absl::MakeConstSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: operator()(const Profile::Sample& s) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::HashOf
    - absl::MakeConstSpan
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Profile::Sample& s) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:147,1
    - Dst: Residency*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:153,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:159,1
    - Dst: resident_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:162,1
    - Dst: resident_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:166,1
    - Dst: swapped_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:167,1
    - Dst: PageFlagsBase*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:174,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:175,1
    - Dst: stale_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:176,1
    - Dst: stale_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:177,1
    - Dst: stale_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:179,1
    - Dst: locked_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:181,1
    - Dst: locked_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:182,1
    - Dst: locked_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:184,1
    - Dst: stale_scan_period::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 2
    functionsReached:
    - resident_size::value
    - stale_size::has_value
    - swapped_size::value
    - locked_size::value
    - auto::has_value
    - locked_size::emplace
    - stale_size::value
    - stale_size::emplace
    - resident_size::has_value
    - PageFlagsBase*::Get
    - stale_scan_period::has_value
    - Residency*::Get
    - locked_size::has_value
    - Iterate
    linkageType: ''
    returnType: SampleMergedMap
    signature: "SampleMergedMap MergeProfileSamplesAndMaybeGetResidencyInfo(\n    const
      tcmalloc::Profile& profile, PageFlagsBase* pageflags,\n    Residency* residency)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - info
    - segment_type
    argTypes:
    - dl_phdr_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::GetFirstSegment
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: ElfW
    signature: "ElfW *\n    GetFirstSegment(const dl_phdr_info* const info, const
      int segment_type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetFirstSegment
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:74,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:79,1
    - Dst: reinterpret_cast<ElfW(Dyn)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:79,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:95,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:96,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:98,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::GetSoName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetFirstSegment
    - TC_CHECK_NE
    - ElfW
    - TC_CHECK_LT
    - reinterpret_cast<char*>
    - reinterpret_cast<ElfW(Dyn)*>
    linkageType: ''
    returnType: char
    signature: char * GetSoName(const dl_phdr_info* const info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:119,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:124,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:124,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Profile::Sample
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: operator()(const Profile::Sample& a, const Profile::Sample& b) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::equal
    - std::tie
    - fields
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Profile::Sample& a, const Profile::Sample& b)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:131,1
    - Dst: absl::MakeConstSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: operator()(const Profile::Sample& s) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::HashOf
    - absl::MakeConstSpan
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Profile::Sample& s) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:147,1
    - Dst: Residency*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:153,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:159,1
    - Dst: resident_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:162,1
    - Dst: resident_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:166,1
    - Dst: swapped_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:167,1
    - Dst: PageFlagsBase*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:174,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:175,1
    - Dst: stale_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:176,1
    - Dst: stale_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:177,1
    - Dst: stale_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:179,1
    - Dst: locked_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:181,1
    - Dst: locked_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:182,1
    - Dst: locked_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:184,1
    - Dst: stale_scan_period::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 2
    functionsReached:
    - resident_size::value
    - stale_size::has_value
    - swapped_size::value
    - locked_size::value
    - auto::has_value
    - locked_size::emplace
    - stale_size::value
    - stale_size::emplace
    - resident_size::has_value
    - PageFlagsBase*::Get
    - stale_scan_period::has_value
    - Residency*::Get
    - locked_size::has_value
    - Iterate
    linkageType: ''
    returnType: SampleMergedMap
    signature: "SampleMergedMap MergeProfileSamplesAndMaybeGetResidencyInfo(\n    const
      tcmalloc::Profile& profile, PageFlagsBase* pageflags,\n    Residency* residency)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:220,1
    - Dst: reinterpret_cast<const ElfW(Nhdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:224,1
    - Dst: static_cast<ElfW(Word)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:238,1
    - Dst: static_cast<ElfW(Word)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:239,1
    - Dst: memcmp
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:249,1
    - Dst: std::string::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:250,1
    - Dst: absl::BytesToHexString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:254,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:255,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::GetBuildId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::BytesToHexString
    - std::string::empty
    - memcmp
    - absl::string_view
    - reinterpret_cast<char*>
    - static_cast<ElfW(Word)>
    - reinterpret_cast<const ElfW(Nhdr)*>
    linkageType: ''
    returnType: std::string
    signature: std::string GetBuildId(const dl_phdr_info* const info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<perftools::profiles::Profile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:344,1
    - Dst: add_string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::ProfileBuilder
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - add_string_table
    - std::make_unique<perftools::profiles::Profile>
    linkageType: ''
    returnType: void
    signature: void ProfileBuilder::ProfileBuilder()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:350,1
    - Dst: string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:354,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:355,1
    - Dst: add_string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sv
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 362
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 4
    functionsReached:
    - absl::string_view::empty
    - add_string_table
    - emplace
    - string_table_size
    linkageType: ''
    returnType: int
    signature: int ProfileBuilder::InternString(absl::string_view sv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:365,1
    - Dst: location_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:368,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:369,1
    - Dst: add_location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:374,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:375,1
    - Dst: set_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:376,1
    - Dst: set_address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:377,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:379,1
    - Dst: upper_bound
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:384,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:385,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:392,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:393,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:394,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:394,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:396,1
    - Dst: set_mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 401
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 2
    functionsReached:
    - add_location
    - emplace
    - set_address
    - empty
    - upper_bound
    - begin
    - absl::bit_cast<uintptr_t>
    - set_id
    - memory_start
    - location_size
    - memory_limit
    - mapping
    - set_mapping_id
    - id
    - TC_ASSERT
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: int
    signature: int ProfileBuilder::InternLocation(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:409,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:410,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:410,1
    - Dst: add_location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:411,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:413,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:413,1
    - Dst: absl::Span<const void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stack
    - ' sample'
    argTypes:
    - absl::Span<const void* const>
    - perftools::profiles::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 414
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternCallstack
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::Span<const void* const>::size
    - absl::bit_cast<uintptr_t>
    - location_id
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
    - absl::bit_cast<const void*>
    - add_location_id
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: "void ProfileBuilder::InternCallstack(absl::Span<const void* const>
      stack,\n                                     perftools::profiles::Sample& sample)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ProfileBuilder*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:424,1
    - Dst: profile_::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:425,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:434,1
    - Dst: readlink
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:451,1
    - Dst: GetSoName
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:459,1
    - Dst: realpath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:465,1
    - Dst: GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:471,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:474,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:481,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 483
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::AddCurrentMappings
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - dl_iterate_phdr
    - readlink
    - TC_CHECK_NE
    - GetBuildId
    - profile_::mapping_size
    - static_cast<ProfileBuilder*>
    - GetSoName
    - realpath
    - tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
    linkageType: ''
    returnType: void
    signature: void ProfileBuilder::AddCurrentMappings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:489,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:490,1
    - Dst: set_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:491,1
    - Dst: set_memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:492,1
    - Dst: set_memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:493,1
    - Dst: set_file_offset
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:494,1
    - Dst: set_filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:495,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:495,1
    - Dst: set_build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:496,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:496,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - memory_start
    - memory_limit
    - file_offset
    - filename
    - build_id
    argTypes:
    - uintptr_t
    - uintptr_t
    - uintptr_t
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 500
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 3
    functionsReached:
    - set_memory_limit
    - emplace
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    - set_build_id
    - set_memory_start
    - set_id
    - add_mapping
    - set_filename
    - set_file_offset
    - mapping_size
    linkageType: ''
    returnType: int
    signature: "int ProfileBuilder::AddMapping(uintptr_t memory_start, uintptr_t memory_limit,\n
      \                              uintptr_t file_offset,\n                               absl::string_view
      filename,\n                               absl::string_view build_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:504,1
    - Dst: ProfileBuilder*::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:505,1
    - Dst: mutable_period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:506,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:508,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:508,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:509,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:509,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:517,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:518,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:518,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:519,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:519,1
    - Dst: set_default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:522,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:522,1
    - Dst: set_duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:523,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:523,1
    - Dst: Duration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:523,1
    - Dst: StartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:525,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:525,1
    - Dst: set_time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:526,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:526,1
    - Dst: set_drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:529,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:529,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:532,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:533,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:534,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:535,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:536,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:537,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:538,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:539,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:540,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:541,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:542,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:543,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:544,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:545,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:546,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:547,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:548,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:549,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:551,1
    - Dst: add_sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:552,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:554,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:554,1
    - Dst: ProfileBuilder*::InternCallstack
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:555,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:555,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:558,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:559,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:560,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:561,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:566,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:572,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:573,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:575,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:576,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:577,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:578,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:580,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:585,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:586,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:587,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:590,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:591,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:592,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:593,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:594,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:595,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:596,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:597,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:598,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:600,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:603,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:606,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:609,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:612,1
    - Dst: abs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:616,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:622,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:623,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:624,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:625,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:626,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:627,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:629,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:630,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:631,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:632,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:633,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:634,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:636,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:637,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:638,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:639,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:640,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:641,1
    - Dst: absl::OkStatus
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 73
    argCount: 2
    argNames:
    - ' profile'
    - builder
    argTypes:
    - tcmalloc::Profile
    - ProfileBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 2
    functionsReached:
    - add_label
    - set_num
    - abs
    - ProfileBuilder*::profile
    - absl::ToUnixNanos
    - TC_CHECK_LE
    - set_drop_frames
    - set_key
    - add_value
    - add_optional_string_label
    - Duration
    - perftools::profiles::ValueType*::set_unit
    - mutable_period_type
    - absl::MakeSpan
    - auto::has_value
    - add_sample_type
    - ABSL_ARRAYSIZE
    - set_str
    - ProfileBuilder*::InternString
    - StartTime
    - set_num_unit
    - Iterate
    - value
    - absl::ToInt64Nanoseconds
    - add_sample
    - absl::OkStatus
    - set_time_nanos
    - ProfileBuilder*::InternCallstack
    - TC_CHECK_NE
    - perftools::profiles::ValueType*::set_type
    - has_value
    - add_positive_label
    - set_default_sample_type
    - set_duration_nanos
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status MakeLifetimeProfileProto(const tcmalloc::Profile& profile,\n
      \                                            ProfileBuilder* builder)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 649
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::Finalize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<perftools::profiles::Profile>
    signature: std::unique_ptr<perftools::profiles::Profile> ProfileBuilder::Finalize()
      &&
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:654,1
    - Dst: absl::UnimplementedError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:658,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:662,1
    - Dst: ProfileBuilder::AddCurrentMappings
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:669,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:671,1
    - Dst: tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:672,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:673,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:676,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:679,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:680,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:681,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:682,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:683,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:684,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:685,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:686,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:687,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:688,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:689,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:690,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:691,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:692,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:693,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:694,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:695,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:696,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:697,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:698,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:699,1
    - Dst: ProfileBuilder::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:701,1
    - Dst: mutable_period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:704,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:705,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:706,1
    - Dst: set_drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:707,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:707,1
    - Dst: set_duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:708,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:708,1
    - Dst: Duration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:708,1
    - Dst: StartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:710,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:710,1
    - Dst: set_time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:711,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:711,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:715,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:716,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:717,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:721,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:722,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:723,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:727,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:729,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:730,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:731,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:733,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:734,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:735,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:737,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:738,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:739,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:741,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:742,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:743,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:747,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:757,1
    - Dst: set_default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:762,1
    - Dst: ProfileBuilder::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:765,1
    - Dst: add_sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:766,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:768,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:768,1
    - Dst: ProfileBuilder::InternCallstack
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:769,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:769,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:771,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:772,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:774,1
    - Dst: resident_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:774,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:775,1
    - Dst: swapped_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:775,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:776,1
    - Dst: stale_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:776,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:777,1
    - Dst: locked_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:777,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:782,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:783,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:784,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:785,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:790,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:793,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:794,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:795,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:796,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:797,1
    - Dst: stale_scan_period::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:798,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:804,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:805,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:806,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:810,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:811,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:812,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:820,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:821,1
    - Dst: add_access_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:822,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:824,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:825,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:829,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:832,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:835,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:839,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:841,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:842,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:843,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:844,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:845,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:846,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:847,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:848,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:849,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:850,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:852,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:853,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:856,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:859,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:862,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:865,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:868,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:871,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:874,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:877,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:880,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:883,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:886,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:890,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 141
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - ::tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 891
    functionName: tcmalloc::tcmalloc_internal::MakeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 4
    functionsReached:
    - add_label
    - set_num
    - ProfileBuilder::AddCurrentMappings
    - ABSL_UNREACHABLE
    - stale_scan_period::value_or
    - Type
    - absl::UnimplementedError
    - locked_size::value_or
    - stale_size::value_or
    - set_type
    - set_drop_frames
    - absl::ToUnixNanos
    - TC_CHECK_LE
    - set_key
    - tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    - absl::Status::ok
    - add_value
    - absl::InvalidArgumentError
    - Duration
    - perftools::profiles::ValueType*::set_unit
    - resident_size::value_or
    - mutable_period_type
    - absl::MakeSpan
    - auto::has_value
    - ProfileBuilder::InternCallstack
    - set_unit
    - add_sample_type
    - tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
    - ABSL_ARRAYSIZE
    - set_str
    - StartTime
    - set_num_unit
    - add_access_label
    - std::move
    - absl::ToInt64Nanoseconds
    - add_sample
    - ProfileBuilder::profile
    - ProfileBuilder::InternString
    - set_time_nanos
    - swapped_size::value_or
    - perftools::profiles::ValueType*::set_type
    - add_positive_label
    - static_cast<uint8_t>
    - set_default_sample_type
    - set_duration_nanos
    linkageType: ''
    returnType: absl::StatusOr<std::unique_ptr<perftools::profiles::Profile>>
    signature: "absl::StatusOr<std::unique_ptr<perftools::profiles::Profile>> MakeProfileProto(\n
      \   const ::tcmalloc::Profile& profile, PageFlagsBase* pageflags,\n    Residency*
      residency)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:894,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:894,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:895,1
    - Dst: absl::InternalError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:896,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:897,1
    - Dst: set_doc_url
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:899,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:899,1
    - Dst: absl::OkStatus
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 901
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::SetDocURL
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    - absl::StartsWith
    - absl::InternalError
    - absl::string_view::empty
    - absl::StrCat
    - set_doc_url
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status ProfileBuilder::SetDocURL(absl::string_view url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:912,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:913,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:914,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' profile'
    argTypes:
    - ::tcmalloc::Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 918
    functionName: tcmalloc::tcmalloc_internal::MakeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 5
    functionsReached:
    - Type
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - std::optional::emplace
    linkageType: ''
    returnType: absl::StatusOr<std::unique_ptr<perftools::profiles::Profile>>
    signature: "absl::StatusOr<std::unique_ptr<perftools::profiles::Profile>> MakeProfileProto(\n
      \   const ::tcmalloc::Profile& profile)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - info
    - segment_type
    argTypes:
    - dl_phdr_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::GetFirstSegment
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: ElfW
    signature: "ElfW *\n    GetFirstSegment(const dl_phdr_info* const info, const
      int segment_type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetFirstSegment
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:74,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:79,1
    - Dst: reinterpret_cast<ElfW(Dyn)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:79,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:95,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:96,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:98,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::GetSoName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetFirstSegment
    - TC_CHECK_NE
    - ElfW
    - TC_CHECK_LT
    - reinterpret_cast<char*>
    - reinterpret_cast<ElfW(Dyn)*>
    linkageType: ''
    returnType: char
    signature: char * GetSoName(const dl_phdr_info* const info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:119,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:124,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:124,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Profile::Sample
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: operator()(const Profile::Sample& a, const Profile::Sample& b) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::equal
    - std::tie
    - fields
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Profile::Sample& a, const Profile::Sample& b)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:131,1
    - Dst: absl::MakeConstSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: operator()(const Profile::Sample& s) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::HashOf
    - absl::MakeConstSpan
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Profile::Sample& s) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:147,1
    - Dst: Residency*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:153,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:159,1
    - Dst: resident_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:162,1
    - Dst: resident_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:166,1
    - Dst: swapped_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:167,1
    - Dst: PageFlagsBase*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:174,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:175,1
    - Dst: stale_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:176,1
    - Dst: stale_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:177,1
    - Dst: stale_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:179,1
    - Dst: locked_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:181,1
    - Dst: locked_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:182,1
    - Dst: locked_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:184,1
    - Dst: stale_scan_period::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 3
    functionsReached:
    - resident_size::value
    - stale_size::has_value
    - swapped_size::value
    - locked_size::value
    - auto::has_value
    - locked_size::emplace
    - stale_size::value
    - stale_size::emplace
    - resident_size::has_value
    - PageFlagsBase*::Get
    - stale_scan_period::has_value
    - Residency*::Get
    - locked_size::has_value
    - Iterate
    linkageType: ''
    returnType: SampleMergedMap
    signature: "SampleMergedMap MergeProfileSamplesAndMaybeGetResidencyInfo(\n    const
      tcmalloc::Profile& profile, PageFlagsBase* pageflags,\n    Residency* residency)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - info
    - segment_type
    argTypes:
    - dl_phdr_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::GetFirstSegment
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: ElfW
    signature: "ElfW *\n    GetFirstSegment(const dl_phdr_info* const info, const
      int segment_type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetFirstSegment
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:74,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:79,1
    - Dst: reinterpret_cast<ElfW(Dyn)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:79,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:95,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:96,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:98,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::GetSoName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetFirstSegment
    - TC_CHECK_NE
    - ElfW
    - TC_CHECK_LT
    - reinterpret_cast<char*>
    - reinterpret_cast<ElfW(Dyn)*>
    linkageType: ''
    returnType: char
    signature: char * GetSoName(const dl_phdr_info* const info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:119,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:124,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:124,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Profile::Sample
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: operator()(const Profile::Sample& a, const Profile::Sample& b) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::equal
    - std::tie
    - fields
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Profile::Sample& a, const Profile::Sample& b)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:131,1
    - Dst: absl::MakeConstSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: operator()(const Profile::Sample& s) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::HashOf
    - absl::MakeConstSpan
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Profile::Sample& s) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:147,1
    - Dst: Residency*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:153,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:159,1
    - Dst: resident_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:162,1
    - Dst: resident_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:166,1
    - Dst: swapped_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:167,1
    - Dst: PageFlagsBase*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:174,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:175,1
    - Dst: stale_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:176,1
    - Dst: stale_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:177,1
    - Dst: stale_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:179,1
    - Dst: locked_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:181,1
    - Dst: locked_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:182,1
    - Dst: locked_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:184,1
    - Dst: stale_scan_period::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 3
    functionsReached:
    - resident_size::value
    - stale_size::has_value
    - swapped_size::value
    - locked_size::value
    - auto::has_value
    - locked_size::emplace
    - stale_size::value
    - stale_size::emplace
    - resident_size::has_value
    - PageFlagsBase*::Get
    - stale_scan_period::has_value
    - Residency*::Get
    - locked_size::has_value
    - Iterate
    linkageType: ''
    returnType: SampleMergedMap
    signature: "SampleMergedMap MergeProfileSamplesAndMaybeGetResidencyInfo(\n    const
      tcmalloc::Profile& profile, PageFlagsBase* pageflags,\n    Residency* residency)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:220,1
    - Dst: reinterpret_cast<const ElfW(Nhdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:224,1
    - Dst: static_cast<ElfW(Word)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:238,1
    - Dst: static_cast<ElfW(Word)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:239,1
    - Dst: memcmp
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:249,1
    - Dst: std::string::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:250,1
    - Dst: absl::BytesToHexString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:254,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:255,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 263
    functionName: tcmalloc::tcmalloc_internal::GetBuildId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::BytesToHexString
    - std::string::empty
    - memcmp
    - absl::string_view
    - reinterpret_cast<char*>
    - static_cast<ElfW(Word)>
    - reinterpret_cast<const ElfW(Nhdr)*>
    linkageType: ''
    returnType: std::string
    signature: std::string GetBuildId(const dl_phdr_info* const info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<perftools::profiles::Profile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:344,1
    - Dst: add_string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::ProfileBuilder
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - add_string_table
    - std::make_unique<perftools::profiles::Profile>
    linkageType: ''
    returnType: void
    signature: void ProfileBuilder::ProfileBuilder()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:350,1
    - Dst: string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:354,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:355,1
    - Dst: add_string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sv
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 362
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 6
    functionsReached:
    - absl::string_view::empty
    - add_string_table
    - emplace
    - string_table_size
    linkageType: ''
    returnType: int
    signature: int ProfileBuilder::InternString(absl::string_view sv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:365,1
    - Dst: location_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:368,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:369,1
    - Dst: add_location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:374,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:375,1
    - Dst: set_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:376,1
    - Dst: set_address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:377,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:379,1
    - Dst: upper_bound
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:384,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:385,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:392,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:393,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:394,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:394,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:396,1
    - Dst: set_mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 401
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 3
    functionsReached:
    - add_location
    - emplace
    - set_address
    - empty
    - upper_bound
    - begin
    - absl::bit_cast<uintptr_t>
    - set_id
    - memory_start
    - location_size
    - memory_limit
    - mapping
    - set_mapping_id
    - id
    - TC_ASSERT
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: int
    signature: int ProfileBuilder::InternLocation(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:409,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:410,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:410,1
    - Dst: add_location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:411,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:413,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:413,1
    - Dst: absl::Span<const void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stack
    - ' sample'
    argTypes:
    - absl::Span<const void* const>
    - perftools::profiles::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 414
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternCallstack
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::Span<const void* const>::size
    - absl::bit_cast<uintptr_t>
    - location_id
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
    - absl::bit_cast<const void*>
    - add_location_id
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: "void ProfileBuilder::InternCallstack(absl::Span<const void* const>
      stack,\n                                     perftools::profiles::Sample& sample)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ProfileBuilder*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:424,1
    - Dst: profile_::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:425,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:434,1
    - Dst: readlink
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:451,1
    - Dst: GetSoName
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:459,1
    - Dst: realpath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:465,1
    - Dst: GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:471,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:474,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:481,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 483
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::AddCurrentMappings
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - dl_iterate_phdr
    - readlink
    - TC_CHECK_NE
    - GetBuildId
    - profile_::mapping_size
    - static_cast<ProfileBuilder*>
    - GetSoName
    - realpath
    - tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
    linkageType: ''
    returnType: void
    signature: void ProfileBuilder::AddCurrentMappings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:489,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:490,1
    - Dst: set_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:491,1
    - Dst: set_memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:492,1
    - Dst: set_memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:493,1
    - Dst: set_file_offset
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:494,1
    - Dst: set_filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:495,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:495,1
    - Dst: set_build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:496,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:496,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - memory_start
    - memory_limit
    - file_offset
    - filename
    - build_id
    argTypes:
    - uintptr_t
    - uintptr_t
    - uintptr_t
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 500
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 4
    functionsReached:
    - set_memory_limit
    - emplace
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    - set_build_id
    - set_memory_start
    - set_id
    - add_mapping
    - set_filename
    - set_file_offset
    - mapping_size
    linkageType: ''
    returnType: int
    signature: "int ProfileBuilder::AddMapping(uintptr_t memory_start, uintptr_t memory_limit,\n
      \                              uintptr_t file_offset,\n                               absl::string_view
      filename,\n                               absl::string_view build_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:504,1
    - Dst: ProfileBuilder*::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:505,1
    - Dst: mutable_period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:506,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:508,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:508,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:509,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:509,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:517,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:518,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:518,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:519,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:519,1
    - Dst: set_default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:522,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:522,1
    - Dst: set_duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:523,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:523,1
    - Dst: Duration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:523,1
    - Dst: StartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:525,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:525,1
    - Dst: set_time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:526,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:526,1
    - Dst: set_drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:529,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:529,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:532,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:533,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:534,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:535,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:536,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:537,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:538,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:539,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:540,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:541,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:542,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:543,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:544,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:545,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:546,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:547,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:548,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:549,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:551,1
    - Dst: add_sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:552,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:554,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:554,1
    - Dst: ProfileBuilder*::InternCallstack
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:555,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:555,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:558,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:559,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:560,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:561,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:566,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:572,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:573,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:575,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:576,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:577,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:578,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:580,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:585,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:586,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:587,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:590,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:591,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:592,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:593,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:594,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:595,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:596,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:597,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:598,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:600,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:603,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:606,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:609,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:612,1
    - Dst: abs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:616,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:622,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:623,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:624,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:625,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:626,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:627,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:629,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:630,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:631,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:632,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:633,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:634,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:636,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:637,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:638,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:639,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:640,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:641,1
    - Dst: absl::OkStatus
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 73
    argCount: 2
    argNames:
    - ' profile'
    - builder
    argTypes:
    - tcmalloc::Profile
    - ProfileBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 3
    functionsReached:
    - add_label
    - set_num
    - abs
    - ProfileBuilder*::profile
    - absl::ToUnixNanos
    - TC_CHECK_LE
    - set_drop_frames
    - set_key
    - add_value
    - add_optional_string_label
    - Duration
    - perftools::profiles::ValueType*::set_unit
    - mutable_period_type
    - absl::MakeSpan
    - auto::has_value
    - add_sample_type
    - ABSL_ARRAYSIZE
    - set_str
    - ProfileBuilder*::InternString
    - StartTime
    - set_num_unit
    - Iterate
    - value
    - absl::ToInt64Nanoseconds
    - add_sample
    - absl::OkStatus
    - set_time_nanos
    - ProfileBuilder*::InternCallstack
    - TC_CHECK_NE
    - perftools::profiles::ValueType*::set_type
    - has_value
    - add_positive_label
    - set_default_sample_type
    - set_duration_nanos
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status MakeLifetimeProfileProto(const tcmalloc::Profile& profile,\n
      \                                            ProfileBuilder* builder)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 649
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::Finalize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<perftools::profiles::Profile>
    signature: std::unique_ptr<perftools::profiles::Profile> ProfileBuilder::Finalize()
      &&
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:654,1
    - Dst: absl::UnimplementedError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:658,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:662,1
    - Dst: ProfileBuilder::AddCurrentMappings
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:669,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:671,1
    - Dst: tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:672,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:673,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:676,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:679,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:680,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:681,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:682,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:683,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:684,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:685,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:686,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:687,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:688,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:689,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:690,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:691,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:692,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:693,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:694,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:695,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:696,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:697,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:698,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:699,1
    - Dst: ProfileBuilder::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:701,1
    - Dst: mutable_period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:704,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:705,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:706,1
    - Dst: set_drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:707,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:707,1
    - Dst: set_duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:708,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:708,1
    - Dst: Duration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:708,1
    - Dst: StartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:710,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:710,1
    - Dst: set_time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:711,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:711,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:715,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:716,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:717,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:721,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:722,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:723,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:727,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:729,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:730,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:731,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:733,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:734,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:735,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:737,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:738,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:739,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:741,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:742,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:743,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:747,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:757,1
    - Dst: set_default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:762,1
    - Dst: ProfileBuilder::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:765,1
    - Dst: add_sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:766,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:768,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:768,1
    - Dst: ProfileBuilder::InternCallstack
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:769,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:769,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:771,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:772,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:774,1
    - Dst: resident_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:774,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:775,1
    - Dst: swapped_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:775,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:776,1
    - Dst: stale_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:776,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:777,1
    - Dst: locked_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:777,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:782,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:783,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:784,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:785,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:790,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:793,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:794,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:795,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:796,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:797,1
    - Dst: stale_scan_period::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:798,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:804,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:805,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:806,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:810,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:811,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:812,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:820,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:821,1
    - Dst: add_access_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:822,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:824,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:825,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:829,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:832,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:835,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:839,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:841,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:842,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:843,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:844,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:845,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:846,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:847,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:848,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:849,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:850,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:852,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:853,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:856,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:859,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:862,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:865,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:868,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:871,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:874,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:877,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:880,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:883,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:886,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:890,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 141
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - ::tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 891
    functionName: tcmalloc::tcmalloc_internal::MakeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 5
    functionsReached:
    - add_label
    - set_num
    - ProfileBuilder::AddCurrentMappings
    - ABSL_UNREACHABLE
    - stale_scan_period::value_or
    - Type
    - absl::UnimplementedError
    - locked_size::value_or
    - stale_size::value_or
    - set_type
    - set_drop_frames
    - absl::ToUnixNanos
    - TC_CHECK_LE
    - set_key
    - tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    - absl::Status::ok
    - add_value
    - absl::InvalidArgumentError
    - Duration
    - perftools::profiles::ValueType*::set_unit
    - resident_size::value_or
    - mutable_period_type
    - absl::MakeSpan
    - auto::has_value
    - ProfileBuilder::InternCallstack
    - set_unit
    - add_sample_type
    - tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
    - ABSL_ARRAYSIZE
    - set_str
    - StartTime
    - set_num_unit
    - add_access_label
    - std::move
    - absl::ToInt64Nanoseconds
    - add_sample
    - ProfileBuilder::profile
    - ProfileBuilder::InternString
    - set_time_nanos
    - swapped_size::value_or
    - perftools::profiles::ValueType*::set_type
    - add_positive_label
    - static_cast<uint8_t>
    - set_default_sample_type
    - set_duration_nanos
    linkageType: ''
    returnType: absl::StatusOr<std::unique_ptr<perftools::profiles::Profile>>
    signature: "absl::StatusOr<std::unique_ptr<perftools::profiles::Profile>> MakeProfileProto(\n
      \   const ::tcmalloc::Profile& profile, PageFlagsBase* pageflags,\n    Residency*
      residency)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:894,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:894,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:895,1
    - Dst: absl::InternalError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:896,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:897,1
    - Dst: set_doc_url
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:899,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:899,1
    - Dst: absl::OkStatus
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 901
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::SetDocURL
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    - absl::StartsWith
    - absl::InternalError
    - absl::string_view::empty
    - absl::StrCat
    - set_doc_url
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status ProfileBuilder::SetDocURL(absl::string_view url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:912,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:913,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:914,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' profile'
    argTypes:
    - ::tcmalloc::Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 918
    functionName: tcmalloc::tcmalloc_internal::MakeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 6
    functionsReached:
    - Type
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - std::optional::emplace
    linkageType: ''
    returnType: absl::StatusOr<std::unique_ptr<perftools::profiles::Profile>>
    signature: "absl::StatusOr<std::unique_ptr<perftools::profiles::Profile>> MakeProfileProto(\n
      \   const ::tcmalloc::Profile& profile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.h:44,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.h:45,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 58
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '& Instance()'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CacheTopology
    signature: CacheTopology & Instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: tcmalloc_internal::CacheTopology::CacheTopology
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheTopology()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::CacheTopology::l3_count
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned l3_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.h:44,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.h:45,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: tcmalloc_internal::CacheTopology::GetL3FromCpuId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: unsigned
    signature: unsigned GetL3FromCpuId(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '& Instance()'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CacheTopology
    signature: CacheTopology & Instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: tcmalloc_internal::CacheTopology::CacheTopology
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheTopology()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::CacheTopology::l3_count
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned l3_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.h:44,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.h:45,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: tcmalloc_internal::CacheTopology::GetL3FromCpuId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: unsigned
    signature: unsigned GetL3FromCpuId(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test_helper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:40,1
    - Dst: va_arg
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:41,1
    - Dst: va_end
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:42,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:45,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:45,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:55,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:67,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:78,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:84,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:85,1
    - Dst: ::absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:86,1
    - Dst: ::absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:86,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:87,1
    - Dst: poll
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:88,1
    - Dst: read
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:109,1
    - Dst: signal_safe_poll
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:116,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:116,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 127
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - va_end
    - va_arg
    - write
    - close
    - open
    - va_start
    - ::absl::SleepFor
    - ::absl::Milliseconds
    - signal_safe_poll
    - absl::Milliseconds
    - read
    - poll
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:40,1
    - Dst: va_arg
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:41,1
    - Dst: va_end
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:42,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:45,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - path
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: tcmalloc_internal::signal_safe_open
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.cc
    functionUses: 0
    functionsReached:
    - open
    - va_end
    - va_arg
    - va_start
    linkageType: ''
    returnType: int
    signature: int signal_safe_open(const char* path, int flags, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: tcmalloc_internal::signal_safe_close
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int signal_safe_close(int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - fd
    - buf
    - count
    - bytes_written
    argTypes:
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: tcmalloc_internal::signal_safe_write
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.cc
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t signal_safe_write(int fd, const char* buf, size_t count,\n
      \                         size_t* bytes_written)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:78,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:84,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:85,1
    - Dst: ::absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:86,1
    - Dst: ::absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:86,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:87,1
    - Dst: poll
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - fds
    - nfds
    - timeout
    argTypes:
    - struct pollfd*
    - int
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: tcmalloc_internal::signal_safe_poll
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ::absl::Milliseconds
    - ::absl::SleepFor
    - absl::Milliseconds
    - poll
    linkageType: ''
    returnType: int
    signature: int signal_safe_poll(struct pollfd* fds, int nfds, absl::Duration timeout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:109,1
    - Dst: tcmalloc_internal::signal_safe_poll
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:116,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:116,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - fd
    - buf
    - count
    - bytes_read
    argTypes:
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 124
    functionName: tcmalloc_internal::signal_safe_read
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - read
    - tcmalloc_internal::signal_safe_poll
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t signal_safe_read(int fd, char* buf, size_t count, size_t* bytes_read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:40,1
    - Dst: va_arg
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:41,1
    - Dst: va_end
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:42,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:45,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - path
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: tcmalloc_internal::signal_safe_open
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.cc
    functionUses: 0
    functionsReached:
    - open
    - va_end
    - va_arg
    - va_start
    linkageType: ''
    returnType: int
    signature: int signal_safe_open(const char* path, int flags, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: tcmalloc_internal::signal_safe_close
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int signal_safe_close(int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - fd
    - buf
    - count
    - bytes_written
    argTypes:
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: tcmalloc_internal::signal_safe_write
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.cc
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t signal_safe_write(int fd, const char* buf, size_t count,\n
      \                         size_t* bytes_written)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:78,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:84,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:85,1
    - Dst: ::absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:86,1
    - Dst: ::absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:86,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:87,1
    - Dst: poll
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - fds
    - nfds
    - timeout
    argTypes:
    - struct pollfd*
    - int
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: tcmalloc_internal::signal_safe_poll
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.cc
    functionUses: 1
    functionsReached:
    - absl::ZeroDuration
    - ::absl::Milliseconds
    - ::absl::SleepFor
    - absl::Milliseconds
    - poll
    linkageType: ''
    returnType: int
    signature: int signal_safe_poll(struct pollfd* fds, int nfds, absl::Duration timeout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:109,1
    - Dst: tcmalloc_internal::signal_safe_poll
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:116,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/util.cc:116,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - fd
    - buf
    - count
    - bytes_read
    argTypes:
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 124
    functionName: tcmalloc_internal::signal_safe_read
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - read
    - tcmalloc_internal::signal_safe_poll
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t signal_safe_read(int fd, char* buf, size_t count, size_t* bytes_read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:31,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:31,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:35,1
    - Dst: StatusIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:36,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:37,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:39,1
    - Dst: StatusIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:39,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    - StatusIs
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - EXPECT_THAT
    - HasSubstr
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderNoTCMallocTest, StatusErrorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:31,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:31,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:35,1
    - Dst: StatusIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:36,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:37,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:39,1
    - Dst: StatusIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:39,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    - StatusIs
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - EXPECT_THAT
    - HasSubstr
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderNoTCMallocTest, StatusErrorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:31,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:31,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:35,1
    - Dst: StatusIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:36,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:37,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:39,1
    - Dst: StatusIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:39,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    - StatusIs
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - EXPECT_THAT
    - HasSubstr
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderNoTCMallocTest, StatusErrorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:31,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:31,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:35,1
    - Dst: StatusIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:36,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:37,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:39,1
    - Dst: StatusIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:39,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    - StatusIs
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - EXPECT_THAT
    - HasSubstr
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderNoTCMallocTest, StatusErrorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:31,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:31,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:35,1
    - Dst: StatusIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:36,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:37,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:39,1
    - Dst: StatusIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:39,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    - StatusIs
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - EXPECT_THAT
    - HasSubstr
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderNoTCMallocTest, StatusErrorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:31,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:31,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:35,1
    - Dst: StatusIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:36,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:37,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:39,1
    - Dst: StatusIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:39,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    - StatusIs
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - EXPECT_THAT
    - HasSubstr
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderNoTCMallocTest, StatusErrorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:31,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:31,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:35,1
    - Dst: StatusIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:36,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:37,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:39,1
    - Dst: StatusIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:39,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    - StatusIs
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - EXPECT_THAT
    - HasSubstr
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderNoTCMallocTest, StatusErrorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:31,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:31,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:35,1
    - Dst: StatusIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:36,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:37,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:39,1
    - Dst: StatusIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:39,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    - StatusIs
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - EXPECT_THAT
    - HasSubstr
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderNoTCMallocTest, StatusErrorTest)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:141,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:145,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:176,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:196,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:210,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:226,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:227,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:244,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:244,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:245,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:254,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:269,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:269,1
    - Dst: ClearRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:270,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:275,1
    - Dst: FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:276,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:278,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:293,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:298,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:307,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:308,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:309,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:312,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:315,1
    - Dst: absl::popcount
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:316,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:323,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:324,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:325,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:328,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:330,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:340,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:343,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:349,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:352,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:358,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:361,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:367,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:372,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:380,1
    - Dst: CountWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:381,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:385,1
    - Dst: CountWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:386,1
    - Dst: SetRangeValue<true>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:405,1
    - Dst: SetRangeValue<false>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:410,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:426,1
    - Dst: SetWordBits<Value>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:431,1
    - Dst: SetWordBits<Value>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:437,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:446,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:448,1
    - Dst: FindValue<true>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:456,1
    - Dst: FindValue<false>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:461,1
    - Dst: FindValueBackwards<true>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:466,1
    - Dst: FindValueBackwards<false>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:471,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:484,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:487,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:490,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:502,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:503,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:513,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:516,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:519,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:531,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:532,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 209
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 537
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - FindClear
    - TC_CHECK_LT
    - FindValue<false>
    - NextFreeRange
    - FindValue<true>
    - Clear
    - std::min
    - CountBits
    - FindValueBackwards<true>
    - CountWordBits
    - ASSUME
    - FindSetBackwards
    - size
    - TC_ASSERT
    - FindValueBackwards<false>
    - SetRangeValue<true>
    - TC_ASSERT_GT
    - tcmalloc_internal::max
    - absl::countr_zero
    - FindSet
    - TC_ASSERT_GE
    - SetRange
    - SetWordBits<Value>
    - SetRangeValue<false>
    - static_cast<size_t>
    - ClearRange
    - TC_ASSERT_LE
    - absl::popcount
    - TC_ASSERT_LT
    - longest_free
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc_internal::Bitmap::Bitmap
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bitmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::Bitmap::size
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: tcmalloc_internal::RangeTracker::RangeTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RangeTracker()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: tcmalloc_internal::RangeTracker::UnsignedTypeFittingSize::Fit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: bool
    signature: bool Fit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::RangeTracker<N>::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: tcmalloc_internal::RangeTracker<N>::size
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::RangeTracker<N>::size
    linkageType: ''
    returnType: size_t
    signature: size_t RangeTracker<N>::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: tcmalloc_internal::RangeTracker<N>::used
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RangeTracker<N>::used() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: tcmalloc_internal::RangeTracker<N>::longest_free
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RangeTracker<N>::longest_free() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::RangeTracker<N>::allocs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RangeTracker<N>::allocs() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:196,1
    - Dst: tcmalloc_internal::RangeTracker<N>::NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:210,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:226,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::RangeTracker<N>::FindAndMark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - SetRange
    - tcmalloc_internal::RangeTracker<N>::NextFreeRange
    - TC_CHECK_LT
    - TC_ASSERT_GT
    linkageType: ''
    returnType: size_t
    signature: size_t RangeTracker<N>::FindAndMark(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:244,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:244,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:245,1
    - Dst: tcmalloc_internal::RangeTracker<N>::NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 263
    functionName: tcmalloc_internal::RangeTracker<N>::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - SetRange
    - FindSet
    - TC_ASSERT_GE
    - tcmalloc_internal::RangeTracker<N>::NextFreeRange
    linkageType: ''
    returnType: void
    signature: void RangeTracker<N>::Mark(size_t index, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:269,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:269,1
    - Dst: ClearRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:270,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:275,1
    - Dst: FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:276,1
    - Dst: tcmalloc_internal::RangeTracker<N>::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 281
    functionName: tcmalloc_internal::RangeTracker<N>::Unmark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - FindClear
    - FindSetBackwards
    - ClearRange
    - FindSet
    - TC_ASSERT
    - tcmalloc_internal::RangeTracker<N>::longest_free
    linkageType: ''
    returnType: void
    signature: void RangeTracker<N>::Unmark(size_t index, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: tcmalloc_internal::RangeTracker<N>::bits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bitmap<N>
    signature: Bitmap<N> RangeTracker<N>::bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::RangeTracker<N>::NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start
    - index
    - length
    argTypes:
    - size_t
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: tcmalloc_internal::RangeTracker<N>::NextFreeRange
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::RangeTracker<N>::NextFreeRange
    linkageType: ''
    returnType: bool
    signature: "bool RangeTracker<N>::NextFreeRange(size_t start, size_t* index,\n
      \                                          size_t* length) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::RangeTracker<N>::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::RangeTracker<N>::Clear
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::RangeTracker<N>::Clear
    linkageType: ''
    returnType: void
    signature: void RangeTracker<N>::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:307,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:308,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:309,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:312,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:315,1
    - Dst: absl::popcount
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - i
    - from
    - to
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 317
    functionName: tcmalloc_internal::Bitmap<N>::CountWordBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - static_cast<size_t>
    - TC_ASSERT_LE
    - absl::popcount
    - TC_ASSERT
    - TC_ASSERT_LT
    linkageType: ''
    returnType: size_t
    signature: size_t Bitmap<N>::CountWordBits(size_t i, size_t from, size_t to) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:323,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:324,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:325,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:328,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - i
    - from
    - to
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 336
    functionName: tcmalloc_internal::Bitmap<N>::SetWordBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - static_cast<size_t>
    - TC_ASSERT_LE
    - TC_ASSERT
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void Bitmap<N>::SetWordBits(size_t i, size_t from, size_t to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:340,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: tcmalloc_internal::Bitmap<N>::GetBit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - TC_ASSERT_LT
    linkageType: ''
    returnType: bool
    signature: bool Bitmap<N>::GetBit(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:349,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: tcmalloc_internal::Bitmap<N>::SetBit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void Bitmap<N>::SetBit(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:358,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: tcmalloc_internal::Bitmap<N>::ClearBit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void Bitmap<N>::ClearBit(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: tcmalloc_internal::Bitmap<N>::CountBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::CountBits
    linkageType: ''
    returnType: size_t
    signature: size_t Bitmap<N>::CountBits() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:372,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:380,1
    - Dst: tcmalloc_internal::Bitmap<N>::CountWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:381,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:385,1
    - Dst: tcmalloc_internal::Bitmap<N>::CountWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 391
    functionName: tcmalloc_internal::Bitmap<N>::CountBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 1
    functionsReached:
    - ASSUME
    - tcmalloc_internal::Bitmap<N>::CountWordBits
    - std::min
    linkageType: ''
    returnType: size_t
    signature: size_t Bitmap<N>::CountBits(size_t index, size_t n) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: tcmalloc_internal::Bitmap<N>::IsZero
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Bitmap<N>::IsZero() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::SetRangeValue
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: tcmalloc_internal::Bitmap<N>::SetRange
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::SetRangeValue
    linkageType: ''
    returnType: void
    signature: void Bitmap<N>::SetRange(size_t index, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::SetRangeValue
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: tcmalloc_internal::Bitmap<N>::ClearRange
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::SetRangeValue
    linkageType: ''
    returnType: void
    signature: void Bitmap<N>::ClearRange(size_t index, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: tcmalloc_internal::Bitmap<N>::ClearLowestBit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bitmap<N>::ClearLowestBit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:426,1
    - Dst: tcmalloc_internal::Bitmap<N>::SetWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:431,1
    - Dst: tcmalloc_internal::Bitmap<N>::SetWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 440
    functionName: tcmalloc_internal::Bitmap<N>::SetRangeValue
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT_LE
    - tcmalloc_internal::Bitmap<N>::SetWordBits
    linkageType: ''
    returnType: void
    signature: void Bitmap<N>::SetRangeValue(size_t index, size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:446,1
    - Dst: tcmalloc_internal::Bitmap<N>::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - start
    - index
    - length
    argTypes:
    - size_t
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 452
    functionName: tcmalloc_internal::Bitmap<N>::NextFreeRange
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::FindClear
    - tcmalloc_internal::Bitmap<N>::FindSet
    linkageType: ''
    returnType: bool
    signature: "bool Bitmap<N>::NextFreeRange(size_t start, size_t* index,\n                                     size_t*
      length) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::FindValue
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: tcmalloc_internal::Bitmap<N>::FindSet
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::FindValue
    linkageType: ''
    returnType: size_t
    signature: size_t Bitmap<N>::FindSet(size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::FindValue
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: tcmalloc_internal::Bitmap<N>::FindClear
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::FindValue
    linkageType: ''
    returnType: size_t
    signature: size_t Bitmap<N>::FindClear(size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::FindValueBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 467
    functionName: tcmalloc_internal::Bitmap<N>::FindSetBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::FindValueBackwards
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Bitmap<N>::FindSetBackwards(size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::FindValueBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: tcmalloc_internal::Bitmap<N>::FindClearBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::FindValueBackwards
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Bitmap<N>::FindClearBackwards(size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: tcmalloc_internal::Bitmap<N>::Clear
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bitmap<N>::Clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:484,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:487,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:490,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:502,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 508
    functionName: tcmalloc_internal::Bitmap<N>::FindValue
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 2
    functionsReached:
    - ASSUME
    - TC_ASSERT_LT
    - absl::countr_zero
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Bitmap<N>::FindValue(size_t index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:513,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:516,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:519,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:531,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 534
    functionName: tcmalloc_internal::Bitmap<N>::FindValueBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 2
    functionsReached:
    - ASSUME
    - absl::bit_width
    - TC_ASSERT_LT
    - static_cast<size_t>
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Bitmap<N>::FindValueBackwards(size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc_internal::Bitmap::Bitmap
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bitmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::Bitmap::size
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: tcmalloc_internal::RangeTracker::RangeTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RangeTracker()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: tcmalloc_internal::RangeTracker::UnsignedTypeFittingSize::Fit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    linkageType: ''
    returnType: bool
    signature: bool Fit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::RangeTracker<N>::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: tcmalloc_internal::RangeTracker<N>::size
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::RangeTracker<N>::size
    linkageType: ''
    returnType: size_t
    signature: size_t RangeTracker<N>::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: tcmalloc_internal::RangeTracker<N>::used
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RangeTracker<N>::used() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: tcmalloc_internal::RangeTracker<N>::longest_free
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RangeTracker<N>::longest_free() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::RangeTracker<N>::allocs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RangeTracker<N>::allocs() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:196,1
    - Dst: tcmalloc_internal::RangeTracker<N>::NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:210,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:226,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::RangeTracker<N>::FindAndMark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - SetRange
    - tcmalloc_internal::RangeTracker<N>::NextFreeRange
    - TC_CHECK_LT
    - TC_ASSERT_GT
    linkageType: ''
    returnType: size_t
    signature: size_t RangeTracker<N>::FindAndMark(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:244,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:244,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:245,1
    - Dst: tcmalloc_internal::RangeTracker<N>::NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 263
    functionName: tcmalloc_internal::RangeTracker<N>::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - SetRange
    - FindSet
    - TC_ASSERT_GE
    - tcmalloc_internal::RangeTracker<N>::NextFreeRange
    linkageType: ''
    returnType: void
    signature: void RangeTracker<N>::Mark(size_t index, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:269,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:269,1
    - Dst: ClearRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:270,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:275,1
    - Dst: FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:276,1
    - Dst: tcmalloc_internal::RangeTracker<N>::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 281
    functionName: tcmalloc_internal::RangeTracker<N>::Unmark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - FindClear
    - FindSetBackwards
    - ClearRange
    - FindSet
    - TC_ASSERT
    - tcmalloc_internal::RangeTracker<N>::longest_free
    linkageType: ''
    returnType: void
    signature: void RangeTracker<N>::Unmark(size_t index, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: tcmalloc_internal::RangeTracker<N>::bits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bitmap<N>
    signature: Bitmap<N> RangeTracker<N>::bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::RangeTracker<N>::NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start
    - index
    - length
    argTypes:
    - size_t
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: tcmalloc_internal::RangeTracker<N>::NextFreeRange
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::RangeTracker<N>::NextFreeRange
    linkageType: ''
    returnType: bool
    signature: "bool RangeTracker<N>::NextFreeRange(size_t start, size_t* index,\n
      \                                          size_t* length) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::RangeTracker<N>::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::RangeTracker<N>::Clear
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::RangeTracker<N>::Clear
    linkageType: ''
    returnType: void
    signature: void RangeTracker<N>::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:307,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:308,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:309,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:312,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:315,1
    - Dst: absl::popcount
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - i
    - from
    - to
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 317
    functionName: tcmalloc_internal::Bitmap<N>::CountWordBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 1
    functionsReached:
    - ASSUME
    - static_cast<size_t>
    - TC_ASSERT_LE
    - absl::popcount
    - TC_ASSERT
    - TC_ASSERT_LT
    linkageType: ''
    returnType: size_t
    signature: size_t Bitmap<N>::CountWordBits(size_t i, size_t from, size_t to) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:323,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:324,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:325,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:328,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - i
    - from
    - to
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 336
    functionName: tcmalloc_internal::Bitmap<N>::SetWordBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 1
    functionsReached:
    - ASSUME
    - static_cast<size_t>
    - TC_ASSERT_LE
    - TC_ASSERT
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void Bitmap<N>::SetWordBits(size_t i, size_t from, size_t to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:340,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: tcmalloc_internal::Bitmap<N>::GetBit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - TC_ASSERT_LT
    linkageType: ''
    returnType: bool
    signature: bool Bitmap<N>::GetBit(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:349,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: tcmalloc_internal::Bitmap<N>::SetBit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void Bitmap<N>::SetBit(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:358,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: tcmalloc_internal::Bitmap<N>::ClearBit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - TC_ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void Bitmap<N>::ClearBit(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: tcmalloc_internal::Bitmap<N>::CountBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::CountBits
    linkageType: ''
    returnType: size_t
    signature: size_t Bitmap<N>::CountBits() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:372,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:380,1
    - Dst: tcmalloc_internal::Bitmap<N>::CountWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:381,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:385,1
    - Dst: tcmalloc_internal::Bitmap<N>::CountWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 391
    functionName: tcmalloc_internal::Bitmap<N>::CountBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 2
    functionsReached:
    - ASSUME
    - tcmalloc_internal::Bitmap<N>::CountWordBits
    - std::min
    linkageType: ''
    returnType: size_t
    signature: size_t Bitmap<N>::CountBits(size_t index, size_t n) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: tcmalloc_internal::Bitmap<N>::IsZero
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Bitmap<N>::IsZero() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::SetRangeValue
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: tcmalloc_internal::Bitmap<N>::SetRange
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::SetRangeValue
    linkageType: ''
    returnType: void
    signature: void Bitmap<N>::SetRange(size_t index, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::SetRangeValue
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: tcmalloc_internal::Bitmap<N>::ClearRange
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::SetRangeValue
    linkageType: ''
    returnType: void
    signature: void Bitmap<N>::ClearRange(size_t index, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: tcmalloc_internal::Bitmap<N>::ClearLowestBit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bitmap<N>::ClearLowestBit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:426,1
    - Dst: tcmalloc_internal::Bitmap<N>::SetWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:431,1
    - Dst: tcmalloc_internal::Bitmap<N>::SetWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 440
    functionName: tcmalloc_internal::Bitmap<N>::SetRangeValue
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 4
    functionsReached:
    - TC_ASSERT_LE
    - tcmalloc_internal::Bitmap<N>::SetWordBits
    linkageType: ''
    returnType: void
    signature: void Bitmap<N>::SetRangeValue(size_t index, size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:446,1
    - Dst: tcmalloc_internal::Bitmap<N>::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - start
    - index
    - length
    argTypes:
    - size_t
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 452
    functionName: tcmalloc_internal::Bitmap<N>::NextFreeRange
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::FindClear
    - tcmalloc_internal::Bitmap<N>::FindSet
    linkageType: ''
    returnType: bool
    signature: "bool Bitmap<N>::NextFreeRange(size_t start, size_t* index,\n                                     size_t*
      length) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::FindValue
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: tcmalloc_internal::Bitmap<N>::FindSet
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::FindValue
    linkageType: ''
    returnType: size_t
    signature: size_t Bitmap<N>::FindSet(size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::FindValue
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: tcmalloc_internal::Bitmap<N>::FindClear
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::FindValue
    linkageType: ''
    returnType: size_t
    signature: size_t Bitmap<N>::FindClear(size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::FindValueBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 467
    functionName: tcmalloc_internal::Bitmap<N>::FindSetBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::FindValueBackwards
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Bitmap<N>::FindSetBackwards(size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::FindValueBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: tcmalloc_internal::Bitmap<N>::FindClearBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::FindValueBackwards
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Bitmap<N>::FindClearBackwards(size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: tcmalloc_internal::Bitmap<N>::Clear
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bitmap<N>::Clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:484,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:487,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:490,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:502,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 508
    functionName: tcmalloc_internal::Bitmap<N>::FindValue
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 4
    functionsReached:
    - ASSUME
    - TC_ASSERT_LT
    - absl::countr_zero
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Bitmap<N>::FindValue(size_t index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:513,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:516,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:519,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:531,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 534
    functionName: tcmalloc_internal::Bitmap<N>::FindValueBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 4
    functionsReached:
    - ASSUME
    - absl::bit_width
    - TC_ASSERT_LT
    - static_cast<size_t>
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Bitmap<N>::FindValueBackwards(size_t index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:45,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:47,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:47,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:52,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:52,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:53,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:58,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:59,1
    - Dst: absl::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - EXPECT_EQ
    - ASSERT_THAT
    - absl::optional::Count
    - ParseCpulist
    - memcpy
    - std::min
    - absl::string_view::size
    - absl::string_view::remove_prefix
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, Empty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:63,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:66,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:68,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:68,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:73,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:73,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:79,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:80,1
    - Dst: absl::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string::data
    - EXPECT_EQ
    - ASSERT_THAT
    - absl::optional::Count
    - ParseCpulist
    - memcpy
    - std::string::erase
    - std::string::size
    - absl::StrCat
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, AtBounds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:84,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:87,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:89,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:89,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:94,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:94,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:99,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string::data
    - testing::Eq
    - ASSERT_THAT
    - ParseCpulist
    - memcpy
    - std::string::erase
    - std::string::size
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, NotInBounds)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:109,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:112,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:114,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:115,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:122,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:126,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:132,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:132,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:134,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:134,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:137,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:143,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:145,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:145,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:152,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:152,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:153,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:153,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:159,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:159,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: CPU_EQUAL_S
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: absl::optional::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 162
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::optional::data
    - CpuSet::Zero
    - std::min
    - absl::string_view::size
    - CPU_EQUAL_S
    - absl::StrJoin
    - CpuSet::IsSet
    - testing::Ne
    - absl::string_view::data
    - EXPECT_TRUE
    - absl::Uniform
    - ASSERT_THAT
    - memcpy
    - absl::string_view::remove_prefix
    - CpuSet::data
    - std::vector::push_back
    - absl::Bernoulli
    - static_cast<size_t>
    - ParseCpulist
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, Random)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:166,1
    - Dst: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:171,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc_internal::NumCPUs
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    - AllocationGuard::AllocationGuard
    linkageType: ''
    returnType: void
    signature: void TEST(NumCPUs, NoCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc_internal::NumCPUs
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(NumCPUs, Cached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:45,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:47,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:47,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:52,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:52,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:53,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:58,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:59,1
    - Dst: absl::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - EXPECT_EQ
    - ASSERT_THAT
    - absl::optional::Count
    - ParseCpulist
    - memcpy
    - std::min
    - absl::string_view::size
    - absl::string_view::remove_prefix
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, Empty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:63,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:66,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:68,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:68,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:73,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:73,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:79,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:80,1
    - Dst: absl::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string::data
    - EXPECT_EQ
    - ASSERT_THAT
    - absl::optional::Count
    - ParseCpulist
    - memcpy
    - std::string::erase
    - std::string::size
    - absl::StrCat
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, AtBounds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:84,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:87,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:89,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:89,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:94,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:94,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:99,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string::data
    - testing::Eq
    - ASSERT_THAT
    - ParseCpulist
    - memcpy
    - std::string::erase
    - std::string::size
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, NotInBounds)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:109,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:112,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:114,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:115,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:122,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:126,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:132,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:132,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:134,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:134,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:137,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:143,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:145,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:145,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:152,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:152,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:153,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:153,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:159,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:159,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: CPU_EQUAL_S
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: absl::optional::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 162
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::optional::data
    - CpuSet::Zero
    - std::min
    - absl::string_view::size
    - CPU_EQUAL_S
    - absl::StrJoin
    - CpuSet::IsSet
    - testing::Ne
    - absl::string_view::data
    - EXPECT_TRUE
    - absl::Uniform
    - ASSERT_THAT
    - memcpy
    - absl::string_view::remove_prefix
    - CpuSet::data
    - std::vector::push_back
    - absl::Bernoulli
    - static_cast<size_t>
    - ParseCpulist
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, Random)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:166,1
    - Dst: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:171,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc_internal::NumCPUs
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    - AllocationGuard::AllocationGuard
    linkageType: ''
    returnType: void
    signature: void TEST(NumCPUs, NoCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc_internal::NumCPUs
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(NumCPUs, Cached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:45,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:47,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:47,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:52,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:52,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:53,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:58,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:59,1
    - Dst: absl::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - EXPECT_EQ
    - ASSERT_THAT
    - absl::optional::Count
    - ParseCpulist
    - memcpy
    - std::min
    - absl::string_view::size
    - absl::string_view::remove_prefix
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, Empty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:63,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:66,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:68,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:68,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:73,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:73,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:79,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:80,1
    - Dst: absl::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string::data
    - EXPECT_EQ
    - ASSERT_THAT
    - absl::optional::Count
    - ParseCpulist
    - memcpy
    - std::string::erase
    - std::string::size
    - absl::StrCat
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, AtBounds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:84,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:87,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:89,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:89,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:94,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:94,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:99,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string::data
    - testing::Eq
    - ASSERT_THAT
    - ParseCpulist
    - memcpy
    - std::string::erase
    - std::string::size
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, NotInBounds)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:109,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:112,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:114,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:115,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:122,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:126,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:132,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:132,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:134,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:134,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:137,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:143,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:145,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:145,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:152,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:152,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:153,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:153,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:159,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:159,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: CPU_EQUAL_S
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: absl::optional::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 162
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::optional::data
    - CpuSet::Zero
    - std::min
    - absl::string_view::size
    - CPU_EQUAL_S
    - absl::StrJoin
    - CpuSet::IsSet
    - testing::Ne
    - absl::string_view::data
    - EXPECT_TRUE
    - absl::Uniform
    - ASSERT_THAT
    - memcpy
    - absl::string_view::remove_prefix
    - CpuSet::data
    - std::vector::push_back
    - absl::Bernoulli
    - static_cast<size_t>
    - ParseCpulist
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, Random)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:166,1
    - Dst: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:171,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc_internal::NumCPUs
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    - AllocationGuard::AllocationGuard
    linkageType: ''
    returnType: void
    signature: void TEST(NumCPUs, NoCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc_internal::NumCPUs
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(NumCPUs, Cached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:45,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:47,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:47,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:52,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:52,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:53,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:58,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:59,1
    - Dst: absl::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - EXPECT_EQ
    - ASSERT_THAT
    - absl::optional::Count
    - ParseCpulist
    - memcpy
    - std::min
    - absl::string_view::size
    - absl::string_view::remove_prefix
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, Empty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:63,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:66,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:68,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:68,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:73,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:73,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:79,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:80,1
    - Dst: absl::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string::data
    - EXPECT_EQ
    - ASSERT_THAT
    - absl::optional::Count
    - ParseCpulist
    - memcpy
    - std::string::erase
    - std::string::size
    - absl::StrCat
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, AtBounds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:84,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:87,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:89,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:89,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:94,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:94,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:99,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string::data
    - testing::Eq
    - ASSERT_THAT
    - ParseCpulist
    - memcpy
    - std::string::erase
    - std::string::size
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, NotInBounds)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:109,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:112,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:114,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:115,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:122,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:126,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:132,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:132,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:134,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:134,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:137,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:143,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:145,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:145,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:152,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:152,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:153,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:153,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:159,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:159,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: CPU_EQUAL_S
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: absl::optional::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 162
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::optional::data
    - CpuSet::Zero
    - std::min
    - absl::string_view::size
    - CPU_EQUAL_S
    - absl::StrJoin
    - CpuSet::IsSet
    - testing::Ne
    - absl::string_view::data
    - EXPECT_TRUE
    - absl::Uniform
    - ASSERT_THAT
    - memcpy
    - absl::string_view::remove_prefix
    - CpuSet::data
    - std::vector::push_back
    - absl::Bernoulli
    - static_cast<size_t>
    - ParseCpulist
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, Random)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:166,1
    - Dst: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:171,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc_internal::NumCPUs
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    - AllocationGuard::AllocationGuard
    linkageType: ''
    returnType: void
    signature: void TEST(NumCPUs, NoCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc_internal::NumCPUs
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(NumCPUs, Cached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:45,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:47,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:47,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:52,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:52,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:53,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:58,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:59,1
    - Dst: absl::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - EXPECT_EQ
    - ASSERT_THAT
    - absl::optional::Count
    - ParseCpulist
    - memcpy
    - std::min
    - absl::string_view::size
    - absl::string_view::remove_prefix
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, Empty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:63,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:66,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:68,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:68,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:73,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:73,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:79,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:80,1
    - Dst: absl::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string::data
    - EXPECT_EQ
    - ASSERT_THAT
    - absl::optional::Count
    - ParseCpulist
    - memcpy
    - std::string::erase
    - std::string::size
    - absl::StrCat
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, AtBounds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:84,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:87,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:89,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:89,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:94,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:94,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:99,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string::data
    - testing::Eq
    - ASSERT_THAT
    - ParseCpulist
    - memcpy
    - std::string::erase
    - std::string::size
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, NotInBounds)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:109,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:112,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:114,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:115,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:122,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:126,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:132,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:132,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:134,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:134,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:137,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:143,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:145,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:145,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:152,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:152,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:153,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:153,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:159,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:159,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: CPU_EQUAL_S
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: absl::optional::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 162
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::optional::data
    - CpuSet::Zero
    - std::min
    - absl::string_view::size
    - CPU_EQUAL_S
    - absl::StrJoin
    - CpuSet::IsSet
    - testing::Ne
    - absl::string_view::data
    - EXPECT_TRUE
    - absl::Uniform
    - ASSERT_THAT
    - memcpy
    - absl::string_view::remove_prefix
    - CpuSet::data
    - std::vector::push_back
    - absl::Bernoulli
    - static_cast<size_t>
    - ParseCpulist
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, Random)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:166,1
    - Dst: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:171,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc_internal::NumCPUs
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    - AllocationGuard::AllocationGuard
    linkageType: ''
    returnType: void
    signature: void TEST(NumCPUs, NoCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc_internal::NumCPUs
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(NumCPUs, Cached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:45,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:47,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:47,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:52,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:52,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:53,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:58,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:59,1
    - Dst: absl::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - EXPECT_EQ
    - ASSERT_THAT
    - absl::optional::Count
    - ParseCpulist
    - memcpy
    - std::min
    - absl::string_view::size
    - absl::string_view::remove_prefix
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, Empty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:63,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:66,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:68,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:68,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:73,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:73,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:79,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:80,1
    - Dst: absl::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string::data
    - EXPECT_EQ
    - ASSERT_THAT
    - absl::optional::Count
    - ParseCpulist
    - memcpy
    - std::string::erase
    - std::string::size
    - absl::StrCat
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, AtBounds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:84,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:87,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:89,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:89,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:94,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:94,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:99,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string::data
    - testing::Eq
    - ASSERT_THAT
    - ParseCpulist
    - memcpy
    - std::string::erase
    - std::string::size
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, NotInBounds)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:109,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:112,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:114,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:115,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:122,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:126,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:132,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:132,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:134,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:134,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:137,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:143,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:145,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:145,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:152,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:152,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:153,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:153,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:159,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:159,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: CPU_EQUAL_S
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: absl::optional::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 162
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::optional::data
    - CpuSet::Zero
    - std::min
    - absl::string_view::size
    - CPU_EQUAL_S
    - absl::StrJoin
    - CpuSet::IsSet
    - testing::Ne
    - absl::string_view::data
    - EXPECT_TRUE
    - absl::Uniform
    - ASSERT_THAT
    - memcpy
    - absl::string_view::remove_prefix
    - CpuSet::data
    - std::vector::push_back
    - absl::Bernoulli
    - static_cast<size_t>
    - ParseCpulist
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, Random)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:166,1
    - Dst: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:171,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc_internal::NumCPUs
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    - AllocationGuard::AllocationGuard
    linkageType: ''
    returnType: void
    signature: void TEST(NumCPUs, NoCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc_internal::NumCPUs
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(NumCPUs, Cached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:45,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:47,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:47,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:52,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:52,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:53,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:58,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:59,1
    - Dst: absl::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - EXPECT_EQ
    - ASSERT_THAT
    - absl::optional::Count
    - ParseCpulist
    - memcpy
    - std::min
    - absl::string_view::size
    - absl::string_view::remove_prefix
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, Empty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:63,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:66,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:68,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:68,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:73,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:73,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:79,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:80,1
    - Dst: absl::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string::data
    - EXPECT_EQ
    - ASSERT_THAT
    - absl::optional::Count
    - ParseCpulist
    - memcpy
    - std::string::erase
    - std::string::size
    - absl::StrCat
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, AtBounds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:84,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:87,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:89,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:89,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:94,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:94,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:99,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string::data
    - testing::Eq
    - ASSERT_THAT
    - ParseCpulist
    - memcpy
    - std::string::erase
    - std::string::size
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, NotInBounds)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:109,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:112,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:114,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:115,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:122,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:126,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:132,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:132,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:134,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:134,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:137,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:143,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:145,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:145,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:152,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:152,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:153,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:153,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:159,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:159,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: CPU_EQUAL_S
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: absl::optional::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 162
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::optional::data
    - CpuSet::Zero
    - std::min
    - absl::string_view::size
    - CPU_EQUAL_S
    - absl::StrJoin
    - CpuSet::IsSet
    - testing::Ne
    - absl::string_view::data
    - EXPECT_TRUE
    - absl::Uniform
    - ASSERT_THAT
    - memcpy
    - absl::string_view::remove_prefix
    - CpuSet::data
    - std::vector::push_back
    - absl::Bernoulli
    - static_cast<size_t>
    - ParseCpulist
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, Random)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:166,1
    - Dst: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:171,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc_internal::NumCPUs
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    - AllocationGuard::AllocationGuard
    linkageType: ''
    returnType: void
    signature: void TEST(NumCPUs, NoCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc_internal::NumCPUs
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(NumCPUs, Cached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:45,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:47,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:47,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:52,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:52,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:53,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:58,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:59,1
    - Dst: absl::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - EXPECT_EQ
    - ASSERT_THAT
    - absl::optional::Count
    - ParseCpulist
    - memcpy
    - std::min
    - absl::string_view::size
    - absl::string_view::remove_prefix
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, Empty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:63,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:66,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:68,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:68,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:73,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:73,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:79,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:80,1
    - Dst: absl::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string::data
    - EXPECT_EQ
    - ASSERT_THAT
    - absl::optional::Count
    - ParseCpulist
    - memcpy
    - std::string::erase
    - std::string::size
    - absl::StrCat
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, AtBounds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:84,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:87,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:89,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:89,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:94,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:94,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:99,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string::data
    - testing::Eq
    - ASSERT_THAT
    - ParseCpulist
    - memcpy
    - std::string::erase
    - std::string::size
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, NotInBounds)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:109,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:112,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:114,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:115,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:122,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:126,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:132,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:132,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:134,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:134,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:137,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:143,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:145,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:145,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:152,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:152,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:153,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:153,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:159,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:159,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: CPU_EQUAL_S
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: absl::optional::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    - Dst: CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 162
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::optional::data
    - CpuSet::Zero
    - std::min
    - absl::string_view::size
    - CPU_EQUAL_S
    - absl::StrJoin
    - CpuSet::IsSet
    - testing::Ne
    - absl::string_view::data
    - EXPECT_TRUE
    - absl::Uniform
    - ASSERT_THAT
    - memcpy
    - absl::string_view::remove_prefix
    - CpuSet::data
    - std::vector::push_back
    - absl::Bernoulli
    - static_cast<size_t>
    - ParseCpulist
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(ParseCpulistTest, Random)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:166,1
    - Dst: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:171,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc_internal::NumCPUs
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    - AllocationGuard::AllocationGuard
    linkageType: ''
    returnType: void
    signature: void TEST(NumCPUs, NoCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc_internal::NumCPUs
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(NumCPUs, Cached)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationGuard, Noncooperative)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEBUG_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard_test.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEBUG_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationGuard, CooperativeDeathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationGuard, Noncooperative)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEBUG_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard_test.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEBUG_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationGuard, CooperativeDeathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationGuard, Noncooperative)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEBUG_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard_test.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEBUG_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationGuard, CooperativeDeathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationGuard, Noncooperative)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEBUG_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard_test.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEBUG_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationGuard, CooperativeDeathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:29,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:30,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - has_value
    - EXPECT_EQ
    - IsFast
    linkageType: ''
    returnType: void
    signature: void TEST(PerCpu, IsRegistered)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::register_rseq
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    linkageType: ''
    returnType: void
    signature: void register_rseq()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:29,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:30,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - has_value
    - EXPECT_EQ
    - IsFast
    linkageType: ''
    returnType: void
    signature: void TEST(PerCpu, IsRegistered)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::register_rseq
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    linkageType: ''
    returnType: void
    signature: void register_rseq()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:29,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:30,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - has_value
    - EXPECT_EQ
    - IsFast
    linkageType: ''
    returnType: void
    signature: void TEST(PerCpu, IsRegistered)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::register_rseq
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    linkageType: ''
    returnType: void
    signature: void register_rseq()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:29,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:30,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - has_value
    - EXPECT_EQ
    - IsFast
    linkageType: ''
    returnType: void
    signature: void TEST(PerCpu, IsRegistered)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::register_rseq
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    linkageType: ''
    returnType: void
    signature: void register_rseq()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_HAVE_ATTRIBUTE
      Src: /src/tcmalloc/tcmalloc/internal/optimization.h:45,1
    - Dst: ABSL_HAVE_CPP_ATTRIBUTE
      Src: /src/tcmalloc/tcmalloc/internal/optimization.h:53,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/optimization.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 65
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/optimization.h
    functionUses: 0
    functionsReached:
    - ABSL_HAVE_ATTRIBUTE
    - ASSUME
    - ABSL_HAVE_CPP_ATTRIBUTE
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: ASSUME
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/optimization.h
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSUME(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: ASSUME
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/optimization.h
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSUME(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: ASSUME
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/optimization.h
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSUME(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: ASSUME
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/optimization.h
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSUME(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/optimization.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: tcmalloc_internal::AssumeNotNull
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/optimization.h
    functionUses: 0
    functionsReached:
    - ASSUME
    linkageType: ''
    returnType: void
    signature: void * AssumeNotNull(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: ASSUME
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/optimization.h
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSUME(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: ASSUME
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/optimization.h
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSUME(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: ASSUME
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/optimization.h
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSUME(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: ASSUME
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/optimization.h
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSUME(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/optimization.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: tcmalloc_internal::AssumeNotNull
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/optimization.h
    functionUses: 0
    functionsReached:
    - ASSUME
    linkageType: ''
    returnType: void
    signature: void * AssumeNotNull(void* p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:177,1
    - Dst: GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:207,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:215,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:221,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:226,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:227,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:257,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:258,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:281,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:283,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:285,1
    - Dst: InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:290,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:300,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:301,1
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:309,1
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:328,1
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:335,1
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:342,1
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 360
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    - __tsan_release
    - std::atomic_thread_fence
    - static_cast<unsigned>
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_GE
    - get
    - InitFastPerCpu
    - GetRseqVcpuMode
    - ABSL_PREDICT_TRUE
    - sched_getcpu
    - GetRealCpuUnsafe
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetRealCpuUnsafe()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetRealCpuUnsafe()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: RseqVcpuMode
    signature: RseqVcpuMode GetRseqVcpuMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    linkageType: ''
    returnType: bool
    signature: bool UsingVirtualCpus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:215,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:221,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:226,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - sched_getcpu
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - TC_ASSERT_GE
    linkageType: ''
    returnType: int
    signature: int GetRealCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:257,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - TC_ASSERT_GE
    linkageType: ''
    returnType: int
    signature: int GetAfterSynchronize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:281,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:283,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:285,1
    - Dst: tcmalloc_internal::subtle::percpu::InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 292
    functionName: tcmalloc_internal::subtle::percpu::IsFast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 229
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitFastPerCpu
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: bool
    signature: bool IsFast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:300,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::subtle::percpu::IsFastNoInit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached:
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    linkageType: ''
    returnType: bool
    signature: bool IsFastNoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: tcmalloc_internal::subtle::percpu::CompilerBarrier
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - std::atomic_thread_fence
    linkageType: ''
    returnType: void
    signature: void CompilerBarrier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: tcmalloc_internal::subtle::percpu::TSANAcquire
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    linkageType: ''
    returnType: void
    signature: void TSANAcquire(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::subtle::percpu::TSANAcquireBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    linkageType: ''
    returnType: void
    signature: void TSANAcquireBatch(void** batch, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::subtle::percpu::TSANRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_release
    linkageType: ''
    returnType: void
    signature: void TSANRelease(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: tcmalloc_internal::subtle::percpu::TSANReleaseBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_release
    linkageType: ''
    returnType: void
    signature: void TSANReleaseBatch(void** batch, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetRealCpuUnsafe()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetRealCpuUnsafe()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: RseqVcpuMode
    signature: RseqVcpuMode GetRseqVcpuMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    linkageType: ''
    returnType: bool
    signature: bool UsingVirtualCpus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:215,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:221,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:226,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - sched_getcpu
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - TC_ASSERT_GE
    linkageType: ''
    returnType: int
    signature: int GetRealCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:257,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - TC_ASSERT_GE
    linkageType: ''
    returnType: int
    signature: int GetAfterSynchronize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:281,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:283,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:285,1
    - Dst: tcmalloc_internal::subtle::percpu::InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 292
    functionName: tcmalloc_internal::subtle::percpu::IsFast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 229
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitFastPerCpu
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: bool
    signature: bool IsFast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:300,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::subtle::percpu::IsFastNoInit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached:
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    linkageType: ''
    returnType: bool
    signature: bool IsFastNoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: tcmalloc_internal::subtle::percpu::CompilerBarrier
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - std::atomic_thread_fence
    linkageType: ''
    returnType: void
    signature: void CompilerBarrier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: tcmalloc_internal::subtle::percpu::TSANAcquire
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    linkageType: ''
    returnType: void
    signature: void TSANAcquire(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::subtle::percpu::TSANAcquireBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    linkageType: ''
    returnType: void
    signature: void TSANAcquireBatch(void** batch, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::subtle::percpu::TSANRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_release
    linkageType: ''
    returnType: void
    signature: void TSANRelease(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: tcmalloc_internal::subtle::percpu::TSANReleaseBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_release
    linkageType: ''
    returnType: void
    signature: void TSANReleaseBatch(void** batch, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetRealCpuUnsafe()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetRealCpuUnsafe()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: RseqVcpuMode
    signature: RseqVcpuMode GetRseqVcpuMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    linkageType: ''
    returnType: bool
    signature: bool UsingVirtualCpus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:215,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:221,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:226,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - sched_getcpu
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - TC_ASSERT_GE
    linkageType: ''
    returnType: int
    signature: int GetRealCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:257,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - TC_ASSERT_GE
    linkageType: ''
    returnType: int
    signature: int GetAfterSynchronize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:281,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:283,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:285,1
    - Dst: tcmalloc_internal::subtle::percpu::InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 292
    functionName: tcmalloc_internal::subtle::percpu::IsFast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 229
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitFastPerCpu
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: bool
    signature: bool IsFast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:300,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::subtle::percpu::IsFastNoInit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached:
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    linkageType: ''
    returnType: bool
    signature: bool IsFastNoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: tcmalloc_internal::subtle::percpu::CompilerBarrier
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - std::atomic_thread_fence
    linkageType: ''
    returnType: void
    signature: void CompilerBarrier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: tcmalloc_internal::subtle::percpu::TSANAcquire
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    linkageType: ''
    returnType: void
    signature: void TSANAcquire(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::subtle::percpu::TSANAcquireBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    linkageType: ''
    returnType: void
    signature: void TSANAcquireBatch(void** batch, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::subtle::percpu::TSANRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_release
    linkageType: ''
    returnType: void
    signature: void TSANRelease(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: tcmalloc_internal::subtle::percpu::TSANReleaseBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_release
    linkageType: ''
    returnType: void
    signature: void TSANReleaseBatch(void** batch, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetRealCpuUnsafe()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetRealCpuUnsafe()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: RseqVcpuMode
    signature: RseqVcpuMode GetRseqVcpuMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    linkageType: ''
    returnType: bool
    signature: bool UsingVirtualCpus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:215,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:221,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:226,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - sched_getcpu
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - TC_ASSERT_GE
    linkageType: ''
    returnType: int
    signature: int GetRealCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:257,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - TC_ASSERT_GE
    linkageType: ''
    returnType: int
    signature: int GetAfterSynchronize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:281,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:283,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:285,1
    - Dst: tcmalloc_internal::subtle::percpu::InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 292
    functionName: tcmalloc_internal::subtle::percpu::IsFast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 229
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitFastPerCpu
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: bool
    signature: bool IsFast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:300,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::subtle::percpu::IsFastNoInit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached:
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    linkageType: ''
    returnType: bool
    signature: bool IsFastNoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: tcmalloc_internal::subtle::percpu::CompilerBarrier
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - std::atomic_thread_fence
    linkageType: ''
    returnType: void
    signature: void CompilerBarrier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: tcmalloc_internal::subtle::percpu::TSANAcquire
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    linkageType: ''
    returnType: void
    signature: void TSANAcquire(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::subtle::percpu::TSANAcquireBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    linkageType: ''
    returnType: void
    signature: void TSANAcquireBatch(void** batch, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::subtle::percpu::TSANRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_release
    linkageType: ''
    returnType: void
    signature: void TSANRelease(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: tcmalloc_internal::subtle::percpu::TSANReleaseBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_release
    linkageType: ''
    returnType: void
    signature: void TSANReleaseBatch(void** batch, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetRealCpuUnsafe()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetRealCpuUnsafe()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: RseqVcpuMode
    signature: RseqVcpuMode GetRseqVcpuMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    linkageType: ''
    returnType: bool
    signature: bool UsingVirtualCpus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:215,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:221,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:226,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - sched_getcpu
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - TC_ASSERT_GE
    linkageType: ''
    returnType: int
    signature: int GetRealCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:257,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - TC_ASSERT_GE
    linkageType: ''
    returnType: int
    signature: int GetAfterSynchronize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:281,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:283,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:285,1
    - Dst: tcmalloc_internal::subtle::percpu::InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 292
    functionName: tcmalloc_internal::subtle::percpu::IsFast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 229
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitFastPerCpu
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: bool
    signature: bool IsFast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:300,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::subtle::percpu::IsFastNoInit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached:
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    linkageType: ''
    returnType: bool
    signature: bool IsFastNoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: tcmalloc_internal::subtle::percpu::CompilerBarrier
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - std::atomic_thread_fence
    linkageType: ''
    returnType: void
    signature: void CompilerBarrier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: tcmalloc_internal::subtle::percpu::TSANAcquire
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    linkageType: ''
    returnType: void
    signature: void TSANAcquire(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::subtle::percpu::TSANAcquireBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    linkageType: ''
    returnType: void
    signature: void TSANAcquireBatch(void** batch, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::subtle::percpu::TSANRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_release
    linkageType: ''
    returnType: void
    signature: void TSANRelease(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: tcmalloc_internal::subtle::percpu::TSANReleaseBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_release
    linkageType: ''
    returnType: void
    signature: void TSANReleaseBatch(void** batch, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetRealCpuUnsafe()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetRealCpuUnsafe()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: RseqVcpuMode
    signature: RseqVcpuMode GetRseqVcpuMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    linkageType: ''
    returnType: bool
    signature: bool UsingVirtualCpus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:215,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:221,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:226,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - sched_getcpu
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - TC_ASSERT_GE
    linkageType: ''
    returnType: int
    signature: int GetRealCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:257,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - TC_ASSERT_GE
    linkageType: ''
    returnType: int
    signature: int GetAfterSynchronize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:281,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:283,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:285,1
    - Dst: tcmalloc_internal::subtle::percpu::InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 292
    functionName: tcmalloc_internal::subtle::percpu::IsFast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 229
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitFastPerCpu
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: bool
    signature: bool IsFast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:300,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::subtle::percpu::IsFastNoInit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached:
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    linkageType: ''
    returnType: bool
    signature: bool IsFastNoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: tcmalloc_internal::subtle::percpu::CompilerBarrier
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - std::atomic_thread_fence
    linkageType: ''
    returnType: void
    signature: void CompilerBarrier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: tcmalloc_internal::subtle::percpu::TSANAcquire
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    linkageType: ''
    returnType: void
    signature: void TSANAcquire(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::subtle::percpu::TSANAcquireBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    linkageType: ''
    returnType: void
    signature: void TSANAcquireBatch(void** batch, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::subtle::percpu::TSANRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_release
    linkageType: ''
    returnType: void
    signature: void TSANRelease(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: tcmalloc_internal::subtle::percpu::TSANReleaseBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_release
    linkageType: ''
    returnType: void
    signature: void TSANReleaseBatch(void** batch, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetRealCpuUnsafe()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetRealCpuUnsafe()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: RseqVcpuMode
    signature: RseqVcpuMode GetRseqVcpuMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    linkageType: ''
    returnType: bool
    signature: bool UsingVirtualCpus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:215,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:221,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:226,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - sched_getcpu
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - TC_ASSERT_GE
    linkageType: ''
    returnType: int
    signature: int GetRealCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:257,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - TC_ASSERT_GE
    linkageType: ''
    returnType: int
    signature: int GetAfterSynchronize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:281,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:283,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:285,1
    - Dst: tcmalloc_internal::subtle::percpu::InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 292
    functionName: tcmalloc_internal::subtle::percpu::IsFast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 229
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitFastPerCpu
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: bool
    signature: bool IsFast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:300,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::subtle::percpu::IsFastNoInit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached:
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    linkageType: ''
    returnType: bool
    signature: bool IsFastNoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: tcmalloc_internal::subtle::percpu::CompilerBarrier
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - std::atomic_thread_fence
    linkageType: ''
    returnType: void
    signature: void CompilerBarrier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: tcmalloc_internal::subtle::percpu::TSANAcquire
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    linkageType: ''
    returnType: void
    signature: void TSANAcquire(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::subtle::percpu::TSANAcquireBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    linkageType: ''
    returnType: void
    signature: void TSANAcquireBatch(void** batch, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::subtle::percpu::TSANRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_release
    linkageType: ''
    returnType: void
    signature: void TSANRelease(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: tcmalloc_internal::subtle::percpu::TSANReleaseBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_release
    linkageType: ''
    returnType: void
    signature: void TSANReleaseBatch(void** batch, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetRealCpuUnsafe()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetRealCpuUnsafe()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: RseqVcpuMode
    signature: RseqVcpuMode GetRseqVcpuMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    linkageType: ''
    returnType: bool
    signature: bool UsingVirtualCpus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:215,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:221,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:226,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - sched_getcpu
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - TC_ASSERT_GE
    linkageType: ''
    returnType: int
    signature: int GetRealCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:257,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - TC_ASSERT_GE
    linkageType: ''
    returnType: int
    signature: int GetAfterSynchronize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:281,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:283,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:285,1
    - Dst: tcmalloc_internal::subtle::percpu::InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 292
    functionName: tcmalloc_internal::subtle::percpu::IsFast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 229
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitFastPerCpu
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: bool
    signature: bool IsFast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:300,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::subtle::percpu::IsFastNoInit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached:
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    linkageType: ''
    returnType: bool
    signature: bool IsFastNoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: tcmalloc_internal::subtle::percpu::CompilerBarrier
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - std::atomic_thread_fence
    linkageType: ''
    returnType: void
    signature: void CompilerBarrier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: tcmalloc_internal::subtle::percpu::TSANAcquire
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    linkageType: ''
    returnType: void
    signature: void TSANAcquire(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::subtle::percpu::TSANAcquireBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_acquire
    linkageType: ''
    returnType: void
    signature: void TSANAcquireBatch(void** batch, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::subtle::percpu::TSANRelease
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_release
    linkageType: ''
    returnType: void
    signature: void TSANRelease(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: tcmalloc_internal::subtle::percpu::TSANReleaseBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - __tsan_release
    linkageType: ''
    returnType: void
    signature: void TSANReleaseBatch(void** batch, int n)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:65,1
    - Dst: tcmalloc_internal::signal_safe_write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:69,1
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:80,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:83,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:85,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:85,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:85,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:86,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:86,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:86,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:87,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:87,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:87,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:88,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:89,1
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:99,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:119,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:121,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:121,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:121,1
    - Dst: absl::ascii_tolower
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:123,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:124,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:126,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:126,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:126,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:127,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:127,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:127,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:128,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:128,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:128,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:129,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:129,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:129,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:130,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:130,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:130,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:131,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:139,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:139,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:140,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:140,1
    - Dst: RecordBazelWarning
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:142,1
    - Dst: RecordTestFailure
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:143,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:151,1
    - Dst: TCMalloc_Internal_SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:159,1
    - Dst: TCMalloc_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:176,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:177,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:182,1
    - Dst: Crash
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:187,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:192,1
    - Dst: Crash
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:194,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:199,1
    - Dst: absl::GetStackTraceWithContext
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:205,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:208,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:217,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:227,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:240,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:246,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:251,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:257,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:262,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:268,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:272,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:277,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:278,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:279,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:284,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 102
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 290
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - empty
    - fileno
    - open
    - std::min
    - absl::SNPrintF
    - TCMalloc_Internal_SetProfileSamplingInterval
    - absl::string_view::size
    - TCMalloc_Internal_GetStats
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - PrintStackTrace
    - abort
    - RecordTestFailure
    - Append
    - size
    - close
    - TC_ASSERT
    - data
    - absl::string_view::data
    - thread_safe_getenv
    - RecordBazelWarning
    - std::atomic::store
    - Crash
    - absl::ascii_tolower
    - std::atomic::load
    - absl::GetStackTraceWithContext
    - write
    - tcmalloc_internal::signal_safe_write
    - TC_LOG
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:65,1
    - Dst: tcmalloc_internal::signal_safe_write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::WriteMessage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - fileno
    - tcmalloc_internal::signal_safe_write
    linkageType: ''
    returnType: void
    signature: void WriteMessage(const char* msg, int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:80,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:83,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:85,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:85,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:85,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:86,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:86,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:86,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:87,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:87,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:87,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:88,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - type
    - error
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: tcmalloc_internal::RecordBazelWarning
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - write
    - close
    - open
    - tcmalloc_internal::thread_safe_getenv
    - absl::string_view::size
    linkageType: ''
    returnType: void
    signature: "void RecordBazelWarning(absl::string_view type,\n                               absl::string_view
      error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:99,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:119,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:121,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:121,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:121,1
    - Dst: absl::ascii_tolower
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:123,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:124,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:126,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:126,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:126,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:127,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:127,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:127,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:128,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:128,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:128,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:129,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:129,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:129,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:130,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:130,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:130,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - detector
    - error
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 132
    functionName: tcmalloc_internal::RecordTestFailure
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - write
    - close
    - open
    - tcmalloc_internal::thread_safe_getenv
    - absl::ascii_tolower
    - absl::string_view::size
    linkageType: ''
    returnType: void
    signature: "void RecordTestFailure(absl::string_view detector,\n                              absl::string_view
      error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:139,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:139,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:140,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:140,1
    - Dst: tcmalloc_internal::RecordBazelWarning
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:142,1
    - Dst: tcmalloc_internal::RecordTestFailure
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - detector
    - error
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: tcmalloc_internal::RecordCrash
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 2
    functionsReached:
    - TC_ASSERT
    - tcmalloc_internal::RecordBazelWarning
    - absl::string_view::empty
    - tcmalloc_internal::RecordTestFailure
    linkageType: ''
    returnType: void
    signature: void RecordCrash(absl::string_view detector, absl::string_view error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:151,1
    - Dst: TCMalloc_Internal_SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:159,1
    - Dst: tcmalloc_internal::TCMalloc_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:176,1
    - Dst: tcmalloc_internal::min
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:177,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - filename
    - line
    - msg
    - msglen
    - oom
    argTypes:
    - char*
    - int
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 146
    functionDepth: 7
    functionLinenumber: 146
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::Crash
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - abort
    - tcmalloc_internal::min
    - tcmalloc_internal::TCMalloc_Internal_GetStats
    - TCMalloc_Internal_SetProfileSamplingInterval
    - tcmalloc::tcmalloc_internal::GetStackTrace
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE Crash(const char* filename, int line, const
      char* msg,\n                  size_t msglen, bool oom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Crash
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file
    - line
    - msg
    - msglen
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 8
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: tcmalloc_internal::CheckFailed
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Crash
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NORETURN
    signature: "ABSL_ATTRIBUTE_NORETURN CheckFailed(const char* file, int line,\n
      \                                        const char* msg, int msglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:192,1
    - Dst: tcmalloc_internal::Crash
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alloc_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 8
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: tcmalloc_internal::CrashWithOOM
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Crash
    - absl::SNPrintF
    linkageType: ''
    returnType: void
    signature: void CrashWithOOM(size_t alloc_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stack_frames
    - depth
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: tcmalloc_internal::PrintStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 2
    functionsReached:
    - TC_LOG
    linkageType: ''
    returnType: void
    signature: void PrintStackTrace(void* const* stack_frames, size_t depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::GetStackTraceWithContext
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:205,1
    - Dst: tcmalloc_internal::PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: tcmalloc_internal::PrintStackTraceFromSignalHandler
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 2
    functionsReached:
    - absl::GetStackTraceWithContext
    - tcmalloc_internal::PrintStackTrace
    linkageType: ''
    returnType: void
    signature: void PrintStackTraceFromSignalHandler(void* context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' out'
    - type
    argTypes:
    - Printer
    - PbtxtRegionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: tcmalloc_internal::PbtxtRegion::PbtxtRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - Append
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion::PbtxtRegion(Printer& out, PbtxtRegionType type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: PbtxtRegion::~PbtxtRegion()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - Append
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion::~PbtxtRegion()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:240,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - absl::string_view
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::PbtxtRegion::PrintI64
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - Append
    - load
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion::PrintI64(absl::string_view key, int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:251,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - absl::string_view
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: tcmalloc_internal::PbtxtRegion::PrintDouble
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - Append
    - load
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion::PrintDouble(absl::string_view key, double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:262,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - absl::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: tcmalloc_internal::PbtxtRegion::PrintBool
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - Append
    - load
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion::PrintBool(absl::string_view key, bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: tcmalloc_internal::PbtxtRegion::PrintRaw
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - Append
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion::PrintRaw(absl::string_view key, absl::string_view
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:277,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:278,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - i64
    - d
    - b
    argTypes:
    - int64_t*
    - double*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: tcmalloc_internal::PbtxtRegion::InjectValues
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion::InjectValues(int64_t* i64, double* d, bool* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: tcmalloc_internal::PbtxtRegion::CreateSubRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - Append
    linkageType: ''
    returnType: PbtxtRegion
    signature: PbtxtRegion PbtxtRegion::CreateSubRegion(absl::string_view key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:65,1
    - Dst: tcmalloc_internal::signal_safe_write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::WriteMessage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - fileno
    - tcmalloc_internal::signal_safe_write
    linkageType: ''
    returnType: void
    signature: void WriteMessage(const char* msg, int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:80,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:83,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:85,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:85,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:85,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:86,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:86,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:86,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:87,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:87,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:87,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:88,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - type
    - error
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: tcmalloc_internal::RecordBazelWarning
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::data
    - write
    - close
    - open
    - tcmalloc_internal::thread_safe_getenv
    - absl::string_view::size
    linkageType: ''
    returnType: void
    signature: "void RecordBazelWarning(absl::string_view type,\n                               absl::string_view
      error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:99,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:119,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:121,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:121,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:121,1
    - Dst: absl::ascii_tolower
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:123,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:124,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:126,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:126,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:126,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:127,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:127,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:127,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:128,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:128,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:128,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:129,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:129,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:129,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:130,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:130,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:130,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - detector
    - error
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 132
    functionName: tcmalloc_internal::RecordTestFailure
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::data
    - write
    - close
    - open
    - tcmalloc_internal::thread_safe_getenv
    - absl::ascii_tolower
    - absl::string_view::size
    linkageType: ''
    returnType: void
    signature: "void RecordTestFailure(absl::string_view detector,\n                              absl::string_view
      error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:139,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:139,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:140,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:140,1
    - Dst: tcmalloc_internal::RecordBazelWarning
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:142,1
    - Dst: tcmalloc_internal::RecordTestFailure
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - detector
    - error
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: tcmalloc_internal::RecordCrash
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 2
    functionsReached:
    - TC_ASSERT
    - tcmalloc_internal::RecordBazelWarning
    - absl::string_view::empty
    - tcmalloc_internal::RecordTestFailure
    linkageType: ''
    returnType: void
    signature: void RecordCrash(absl::string_view detector, absl::string_view error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:151,1
    - Dst: TCMalloc_Internal_SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:159,1
    - Dst: tcmalloc_internal::TCMalloc_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:176,1
    - Dst: tcmalloc_internal::min
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:177,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - filename
    - line
    - msg
    - msglen
    - oom
    argTypes:
    - char*
    - int
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 146
    functionDepth: 7
    functionLinenumber: 146
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::Crash
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 2
    functionsReached:
    - abort
    - tcmalloc_internal::min
    - tcmalloc_internal::TCMalloc_Internal_GetStats
    - TCMalloc_Internal_SetProfileSamplingInterval
    - tcmalloc::tcmalloc_internal::GetStackTrace
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE Crash(const char* filename, int line, const
      char* msg,\n                  size_t msglen, bool oom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Crash
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file
    - line
    - msg
    - msglen
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 8
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: tcmalloc_internal::CheckFailed
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Crash
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NORETURN
    signature: "ABSL_ATTRIBUTE_NORETURN CheckFailed(const char* file, int line,\n
      \                                        const char* msg, int msglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:192,1
    - Dst: tcmalloc_internal::Crash
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alloc_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 8
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: tcmalloc_internal::CrashWithOOM
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Crash
    - absl::SNPrintF
    linkageType: ''
    returnType: void
    signature: void CrashWithOOM(size_t alloc_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stack_frames
    - depth
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: tcmalloc_internal::PrintStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 3
    functionsReached:
    - TC_LOG
    linkageType: ''
    returnType: void
    signature: void PrintStackTrace(void* const* stack_frames, size_t depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::GetStackTraceWithContext
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:205,1
    - Dst: tcmalloc_internal::PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: tcmalloc_internal::PrintStackTraceFromSignalHandler
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 2
    functionsReached:
    - absl::GetStackTraceWithContext
    - tcmalloc_internal::PrintStackTrace
    linkageType: ''
    returnType: void
    signature: void PrintStackTraceFromSignalHandler(void* context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' out'
    - type
    argTypes:
    - Printer
    - PbtxtRegionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: tcmalloc_internal::PbtxtRegion::PbtxtRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - Append
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion::PbtxtRegion(Printer& out, PbtxtRegionType type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: PbtxtRegion::~PbtxtRegion()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - Append
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion::~PbtxtRegion()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:240,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - absl::string_view
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::PbtxtRegion::PrintI64
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - Append
    - load
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion::PrintI64(absl::string_view key, int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:251,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - absl::string_view
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: tcmalloc_internal::PbtxtRegion::PrintDouble
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - Append
    - load
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion::PrintDouble(absl::string_view key, double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:262,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - absl::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: tcmalloc_internal::PbtxtRegion::PrintBool
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - Append
    - load
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion::PrintBool(absl::string_view key, bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: tcmalloc_internal::PbtxtRegion::PrintRaw
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - Append
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion::PrintRaw(absl::string_view key, absl::string_view
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:277,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:278,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - i64
    - d
    - b
    argTypes:
    - int64_t*
    - double*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: tcmalloc_internal::PbtxtRegion::InjectValues
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion::InjectValues(int64_t* i64, double* d, bool* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/internal/logging.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: tcmalloc_internal::PbtxtRegion::CreateSubRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - Append
    linkageType: ''
    returnType: PbtxtRegion
    signature: PbtxtRegion PbtxtRegion::CreateSubRegion(absl::string_view key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:120,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:123,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:123,1
    - Dst: CheckFailed
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:126,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:126,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:141,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:142,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:142,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:146,1
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:217,1
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:234,1
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:236,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:243,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:262,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:271,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:272,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:279,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:289,1
    - Dst: AppendPieces
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:290,1
    - Dst: static_cast<const absl::AlphaNum&>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:290,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:298,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:307,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:312,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:312,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 354
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - absl::base_internal::GetTID
    - CheckFailed
    - std::min<size_t>
    - data
    - static_cast<const absl::AlphaNum&>
    - AppendPieces
    - AllocationGuard::AllocationGuard
    - static_cast<size_t>
    - TC_ASSERT_GT
    - size
    - memcpy
    - has_value
    - absl::Format
    - absl::SNPrintF
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: TC_LOG
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_LOG(msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:120,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:123,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:123,1
    - Dst: tcmalloc_internal::CheckFailed
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:126,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - func
    - file
    - line
    - ' format'
    argTypes:
    - char*
    - char*
    - int
    - absl::FormatSpec<int, const char*, int, const char*, Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::CheckFailed
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 1
    functionsReached:
    - absl::base_internal::GetTID
    - tcmalloc_internal::CheckFailed
    - std::min<size_t>
    - AllocationGuard::AllocationGuard
    - absl::SNPrintF
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NORETURN
    signature: "ABSL_ATTRIBUTE_NORETURN CheckFailed(\n    const char* func, const
      char* file, int line,\n    const absl::FormatSpec<int, const char*, int, const
      char*, Args...>& format,\n    const Args&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:141,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:142,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:142,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - absl::FormatSpec<int, Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: tcmalloc_internal::LogImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - std::min<size_t>
    - absl::base_internal::GetTID
    - AllocationGuard::AllocationGuard
    - absl::SNPrintF
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE LogImpl(\n    const absl::FormatSpec<int,
      Args...>& format, const Args&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: TC_BUG
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_BUG(msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: TC_CHECK
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 138
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_CHECK(a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: TC_CHECK_EQ
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 102
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_CHECK_EQ(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: TC_CHECK_NE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 99
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_CHECK_NE(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: TC_CHECK_LT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_CHECK_LT(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: TC_CHECK_LE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_CHECK_LE(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: TC_CHECK_GT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_CHECK_GT(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: TC_CHECK_GE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_CHECK_GE(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: TC_ASSERT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 253
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_ASSERT(a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: TC_ASSERT_EQ
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 194
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_ASSERT_EQ(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: TC_ASSERT_NE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 125
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_ASSERT_NE(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: TC_ASSERT_LT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 164
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_ASSERT_LT(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: TC_ASSERT_LE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 98
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_ASSERT_LE(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: TC_ASSERT_GT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 113
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_ASSERT_GT(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: TC_ASSERT_GE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 143
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_ASSERT_GE(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - condition
    - ','
    - str
    - ','
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: TCMALLOC_CHECK_IMPL
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_CHECK_IMPL(condition, str, msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - c1
    - ','
    - op
    - ','
    - c2
    - ','
    - cs1
    - ','
    - cs2
    - ','
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: TCMALLOC_CHECK_OP
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_CHECK_OP(c1, op, c2, cs1, cs2, msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' p'
    argTypes:
    - Sink
    - PtrFormatter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const PtrFormatter& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: tcmalloc_internal::FormatConvert
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PtrFormatter
    signature: PtrFormatter FormatConvert(T* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::nullptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: tcmalloc_internal::FormatConvert
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PtrFormatter
    signature: PtrFormatter FormatConvert(std::nullptr_t v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:234,1
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' sink'
    - ' p'
    argTypes:
    - Sink
    - OptionalFormatter<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const OptionalFormatter<T>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: tcmalloc_internal::FormatConvert
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: OptionalFormatter<T>
    signature: OptionalFormatter<T> FormatConvert(const std::optional<T>& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: tcmalloc_internal::FormatConvert
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & FormatConvert(const T& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: tcmalloc_internal::Printer::Printer
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void Printer(char* buf, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: tcmalloc_internal::Printer::Printer
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Printer(const Printer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: tcmalloc_internal::Printer::Printer
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Printer(Printer&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:271,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:272,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - absl::FormatSpec<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 285
    functionName: tcmalloc_internal::Printer::printf
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - AllocationGuard::AllocationGuard
    - static_cast<size_t>
    - absl::SNPrintF
    linkageType: ''
    returnType: void
    signature: void printf(const absl::FormatSpec<Args...>& format, const Args&...
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:289,1
    - Dst: tcmalloc_internal::Printer::AppendPieces
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:290,1
    - Dst: static_cast<const absl::AlphaNum&>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: tcmalloc_internal::Printer::Append
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - static_cast<const absl::AlphaNum&>
    - tcmalloc_internal::Printer::AppendPieces
    - AllocationGuard::AllocationGuard
    linkageType: ''
    returnType: void
    signature: void Append(const Args&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: tcmalloc_internal::Printer::SpaceRequired
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceRequired() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:298,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:307,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:312,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pieces
    argTypes:
    - std::initializer_list<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 317
    functionName: tcmalloc_internal::Printer::AppendPieces
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 1
    functionsReached:
    - memcpy
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void AppendPieces(std::initializer_list<absl::string_view> pieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: tcmalloc_internal::PbtxtRegion::PbtxtRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion(const PbtxtRegion&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: tcmalloc_internal::PbtxtRegion::PbtxtRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion(PbtxtRegion&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: TC_LOG
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_LOG(msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:120,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:123,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:123,1
    - Dst: tcmalloc_internal::CheckFailed
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:126,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - func
    - file
    - line
    - ' format'
    argTypes:
    - char*
    - char*
    - int
    - absl::FormatSpec<int, const char*, int, const char*, Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::CheckFailed
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 2
    functionsReached:
    - absl::base_internal::GetTID
    - tcmalloc_internal::CheckFailed
    - std::min<size_t>
    - AllocationGuard::AllocationGuard
    - absl::SNPrintF
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NORETURN
    signature: "ABSL_ATTRIBUTE_NORETURN CheckFailed(\n    const char* func, const
      char* file, int line,\n    const absl::FormatSpec<int, const char*, int, const
      char*, Args...>& format,\n    const Args&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:141,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:142,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:142,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - absl::FormatSpec<int, Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: tcmalloc_internal::LogImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - std::min<size_t>
    - absl::base_internal::GetTID
    - AllocationGuard::AllocationGuard
    - absl::SNPrintF
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE LogImpl(\n    const absl::FormatSpec<int,
      Args...>& format, const Args&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: TC_BUG
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_BUG(msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: TC_CHECK
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 138
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_CHECK(a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: TC_CHECK_EQ
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 102
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_CHECK_EQ(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: TC_CHECK_NE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 99
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_CHECK_NE(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: TC_CHECK_LT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_CHECK_LT(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: TC_CHECK_LE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_CHECK_LE(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: TC_CHECK_GT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_CHECK_GT(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: TC_CHECK_GE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_CHECK_GE(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: TC_ASSERT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 253
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_ASSERT(a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: TC_ASSERT_EQ
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 194
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_ASSERT_EQ(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: TC_ASSERT_NE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 125
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_ASSERT_NE(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: TC_ASSERT_LT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 164
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_ASSERT_LT(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: TC_ASSERT_LE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 98
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_ASSERT_LE(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: TC_ASSERT_GT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 114
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_ASSERT_GT(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: TC_ASSERT_GE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 143
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_ASSERT_GE(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - condition
    - ','
    - str
    - ','
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: TCMALLOC_CHECK_IMPL
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_CHECK_IMPL(condition, str, msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - c1
    - ','
    - op
    - ','
    - c2
    - ','
    - cs1
    - ','
    - cs2
    - ','
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: TCMALLOC_CHECK_OP
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_CHECK_OP(c1, op, c2, cs1, cs2, msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' p'
    argTypes:
    - Sink
    - PtrFormatter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const PtrFormatter& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: tcmalloc_internal::FormatConvert
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PtrFormatter
    signature: PtrFormatter FormatConvert(T* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::nullptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: tcmalloc_internal::FormatConvert
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PtrFormatter
    signature: PtrFormatter FormatConvert(std::nullptr_t v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:234,1
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' sink'
    - ' p'
    argTypes:
    - Sink
    - OptionalFormatter<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const OptionalFormatter<T>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: tcmalloc_internal::FormatConvert
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: OptionalFormatter<T>
    signature: OptionalFormatter<T> FormatConvert(const std::optional<T>& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: tcmalloc_internal::FormatConvert
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & FormatConvert(const T& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: tcmalloc_internal::Printer::Printer
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void Printer(char* buf, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: tcmalloc_internal::Printer::Printer
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Printer(const Printer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: tcmalloc_internal::Printer::Printer
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Printer(Printer&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:271,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:272,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - absl::FormatSpec<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 285
    functionName: tcmalloc_internal::Printer::printf
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - AllocationGuard::AllocationGuard
    - static_cast<size_t>
    - absl::SNPrintF
    linkageType: ''
    returnType: void
    signature: void printf(const absl::FormatSpec<Args...>& format, const Args&...
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:289,1
    - Dst: tcmalloc_internal::Printer::AppendPieces
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:290,1
    - Dst: static_cast<const absl::AlphaNum&>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: tcmalloc_internal::Printer::Append
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - static_cast<const absl::AlphaNum&>
    - tcmalloc_internal::Printer::AppendPieces
    - AllocationGuard::AllocationGuard
    linkageType: ''
    returnType: void
    signature: void Append(const Args&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: tcmalloc_internal::Printer::SpaceRequired
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceRequired() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:298,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:307,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:312,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pieces
    argTypes:
    - std::initializer_list<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 317
    functionName: tcmalloc_internal::Printer::AppendPieces
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 2
    functionsReached:
    - memcpy
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void AppendPieces(std::initializer_list<absl::string_view> pieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: tcmalloc_internal::PbtxtRegion::PbtxtRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion(const PbtxtRegion&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: tcmalloc_internal::PbtxtRegion::PbtxtRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PbtxtRegion(PbtxtRegion&&)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:136,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:147,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:150,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:157,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:158,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:166,1
    - Dst: dispose
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:167,1
    - Dst: T*::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:190,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:190,1
    - Dst: PopDead
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:197,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:197,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:200,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:200,1
    - Dst: PushNew
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:201,1
    - Dst: PushDead
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:209,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:215,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:216,1
    - Dst: dispose
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:221,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:233,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:237,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 244
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - PushDead
    - load
    - New
    - compare_exchange_weak
    - dispose
    - exchange
    - std::forward<Targs>
    - Delete
    - f
    - PushNew
    - PopDead
    - T*::PrepareForSampling
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: tcmalloc_internal::SampleRecorder::SampleRecorder
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampleRecorder(const SampleRecorder&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '& operator=(const SampleRecorder&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SampleRecorder
    signature: SampleRecorder & operator=(const SampleRecorder&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: tcmalloc_internal::SampleRecorder::SampleRecorder
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampleRecorder(SampleRecorder&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& operator=(SampleRecorder&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SampleRecorder
    signature: SampleRecorder & operator=(SampleRecorder&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - DisposeCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::SetDisposeCallback
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - exchange
    linkageType: ''
    returnType: typename SampleRecorder<T, Allocator>::DisposeCallback
    signature: typename SampleRecorder<T, Allocator>::DisposeCallback SampleRecorder<T,
      Allocator>::SetDisposeCallback(DisposeCallback f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' allocator'
    argTypes:
    - Allocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::SampleRecorder
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampleRecorder<T, Allocator>::SampleRecorder(Allocator& allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:147,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: SampleRecorder<T, Allocator>::~SampleRecorder()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - load
    - Delete
    linkageType: ''
    returnType: void
    signature: void SampleRecorder<T, Allocator>::~SampleRecorder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:157,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sample
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::PushNew
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - compare_exchange_weak
    - load
    linkageType: ''
    returnType: void
    signature: void SampleRecorder<T, Allocator>::PushNew(T* sample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:166,1
    - Dst: dispose
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sample
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::PushDead
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - load
    - dispose
    linkageType: ''
    returnType: void
    signature: void SampleRecorder<T, Allocator>::PushDead(T* sample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T*::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:190,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::PopDead
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - T*::PrepareForSampling
    - std::forward<Targs>
    linkageType: ''
    returnType: T
    signature: T * SampleRecorder<T, Allocator>::PopDead(Targs&&... args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SampleRecorder<T, Allocator>::PopDead
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:197,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:197,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:200,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:200,1
    - Dst: tcmalloc_internal::SampleRecorder<T, Allocator>::PushNew
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::Register
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SampleRecorder<T, Allocator>::PopDead
    - New
    - tcmalloc_internal::SampleRecorder<T, Allocator>::PushNew
    - std::forward<Targs>
    linkageType: ''
    returnType: T
    signature: T * SampleRecorder<T, Allocator>::Register(Targs&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SampleRecorder<T, Allocator>::PushDead
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sample
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::Unregister
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SampleRecorder<T, Allocator>::PushDead
    linkageType: ''
    returnType: void
    signature: void SampleRecorder<T, Allocator>::Unregister(T* sample)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:215,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:216,1
    - Dst: dispose
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 228
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::UnregisterAll
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - load
    - dispose
    linkageType: ''
    returnType: void
    signature: void SampleRecorder<T, Allocator>::UnregisterAll()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:233,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - absl::FunctionRef<void(const T& sample)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 241
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::Iterate
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - load
    - f
    linkageType: ''
    returnType: void
    signature: "void SampleRecorder<T, Allocator>::Iterate(\n    const absl::FunctionRef<void(const
      T& sample)>& f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: tcmalloc_internal::SampleRecorder::SampleRecorder
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampleRecorder(const SampleRecorder&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '& operator=(const SampleRecorder&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SampleRecorder
    signature: SampleRecorder & operator=(const SampleRecorder&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: tcmalloc_internal::SampleRecorder::SampleRecorder
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampleRecorder(SampleRecorder&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& operator=(SampleRecorder&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SampleRecorder
    signature: SampleRecorder & operator=(SampleRecorder&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - DisposeCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::SetDisposeCallback
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - exchange
    linkageType: ''
    returnType: typename SampleRecorder<T, Allocator>::DisposeCallback
    signature: typename SampleRecorder<T, Allocator>::DisposeCallback SampleRecorder<T,
      Allocator>::SetDisposeCallback(DisposeCallback f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' allocator'
    argTypes:
    - Allocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::SampleRecorder
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampleRecorder<T, Allocator>::SampleRecorder(Allocator& allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:147,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: SampleRecorder<T, Allocator>::~SampleRecorder()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - load
    - Delete
    linkageType: ''
    returnType: void
    signature: void SampleRecorder<T, Allocator>::~SampleRecorder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:157,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sample
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::PushNew
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 1
    functionsReached:
    - compare_exchange_weak
    - load
    linkageType: ''
    returnType: void
    signature: void SampleRecorder<T, Allocator>::PushNew(T* sample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:166,1
    - Dst: dispose
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sample
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::PushDead
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 1
    functionsReached:
    - load
    - dispose
    linkageType: ''
    returnType: void
    signature: void SampleRecorder<T, Allocator>::PushDead(T* sample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T*::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:190,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::PopDead
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 1
    functionsReached:
    - T*::PrepareForSampling
    - std::forward<Targs>
    linkageType: ''
    returnType: T
    signature: T * SampleRecorder<T, Allocator>::PopDead(Targs&&... args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SampleRecorder<T, Allocator>::PopDead
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:197,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:197,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:200,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:200,1
    - Dst: tcmalloc_internal::SampleRecorder<T, Allocator>::PushNew
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::Register
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SampleRecorder<T, Allocator>::PopDead
    - New
    - tcmalloc_internal::SampleRecorder<T, Allocator>::PushNew
    - std::forward<Targs>
    linkageType: ''
    returnType: T
    signature: T * SampleRecorder<T, Allocator>::Register(Targs&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SampleRecorder<T, Allocator>::PushDead
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sample
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::Unregister
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SampleRecorder<T, Allocator>::PushDead
    linkageType: ''
    returnType: void
    signature: void SampleRecorder<T, Allocator>::Unregister(T* sample)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:215,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:216,1
    - Dst: dispose
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 228
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::UnregisterAll
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - load
    - dispose
    linkageType: ''
    returnType: void
    signature: void SampleRecorder<T, Allocator>::UnregisterAll()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:233,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - absl::FunctionRef<void(const T& sample)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 241
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::Iterate
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - load
    - f
    linkageType: ''
    returnType: void
    signature: "void SampleRecorder<T, Allocator>::Iterate(\n    const absl::FunctionRef<void(const
      T& sample)>& f)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:36,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:53,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:55,1
    - Dst: TCMALLOC_RETRY_ON_TEMP_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:60,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:60,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:71,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:85,1
    - Dst: memchr
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:85,1
    - Dst: memmove
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:91,1
    - Dst: TCMALLOC_RETRY_ON_TEMP_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:97,1
    - Dst: read
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:98,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:108,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:111,1
    - Dst: memchr
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:111,1
    - Dst: sscanf
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:123,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:139,1
    - Dst: makedev
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:146,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 157
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/proc_maps.cc
    functionUses: 0
    functionsReached:
    - makedev
    - memmove
    - strlen
    - TCMALLOC_RETRY_ON_TEMP_FAILURE
    - static_cast<char*>
    - TC_CHECK_LT
    - close
    - sscanf
    - getpid
    - open
    - memset
    - absl::SNPrintF
    - memchr
    - read
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:36,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:53,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:55,1
    - Dst: TCMALLOC_RETRY_ON_TEMP_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:60,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pid
    - buffer
    argTypes:
    - pid_t
    - Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 64
    functionName: tcmalloc_internal::ProcMapsIterator::ProcMapsIterator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/proc_maps.cc
    functionUses: 0
    functionsReached:
    - TCMALLOC_RETRY_ON_TEMP_FAILURE
    - TC_CHECK_LT
    - getpid
    - open
    - absl::SNPrintF
    linkageType: ''
    returnType: void
    signature: void ProcMapsIterator::ProcMapsIterator(pid_t pid, Buffer* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: ProcMapsIterator::~ProcMapsIterator()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/proc_maps.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ProcMapsIterator::~ProcMapsIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: tcmalloc_internal::ProcMapsIterator::Valid
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/proc_maps.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProcMapsIterator::Valid() const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:85,1
    - Dst: memchr
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:85,1
    - Dst: memmove
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:91,1
    - Dst: TCMALLOC_RETRY_ON_TEMP_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:97,1
    - Dst: read
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:98,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:108,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:111,1
    - Dst: memchr
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:111,1
    - Dst: sscanf
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:123,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:139,1
    - Dst: makedev
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:146,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 7
    argNames:
    - start
    - end
    - flags
    - offset
    - inode
    - filename
    - dev
    argTypes:
    - uint64_t*
    - uint64_t*
    - char**
    - uint64_t*
    - int64_t*
    - char**
    - dev_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 154
    functionName: tcmalloc_internal::ProcMapsIterator::NextExt
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/proc_maps.cc
    functionUses: 0
    functionsReached:
    - makedev
    - memmove
    - strlen
    - TCMALLOC_RETRY_ON_TEMP_FAILURE
    - static_cast<char*>
    - sscanf
    - memset
    - memchr
    - read
    linkageType: ''
    returnType: bool
    signature: "bool ProcMapsIterator::NextExt(uint64_t* start, uint64_t* end, char**
      flags,\n                               uint64_t* offset, int64_t* inode,\n                               char**
      filename, dev_t* dev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:36,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:53,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:55,1
    - Dst: TCMALLOC_RETRY_ON_TEMP_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:60,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pid
    - buffer
    argTypes:
    - pid_t
    - Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 64
    functionName: tcmalloc_internal::ProcMapsIterator::ProcMapsIterator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/proc_maps.cc
    functionUses: 0
    functionsReached:
    - TCMALLOC_RETRY_ON_TEMP_FAILURE
    - TC_CHECK_LT
    - getpid
    - open
    - absl::SNPrintF
    linkageType: ''
    returnType: void
    signature: void ProcMapsIterator::ProcMapsIterator(pid_t pid, Buffer* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: ProcMapsIterator::~ProcMapsIterator()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/proc_maps.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ProcMapsIterator::~ProcMapsIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: tcmalloc_internal::ProcMapsIterator::Valid
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/proc_maps.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProcMapsIterator::Valid() const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:85,1
    - Dst: memchr
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:85,1
    - Dst: memmove
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:91,1
    - Dst: TCMALLOC_RETRY_ON_TEMP_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:97,1
    - Dst: read
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:98,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:108,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:111,1
    - Dst: memchr
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:111,1
    - Dst: sscanf
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:123,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:139,1
    - Dst: makedev
      Src: /src/tcmalloc/tcmalloc/internal/proc_maps.cc:146,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 7
    argNames:
    - start
    - end
    - flags
    - offset
    - inode
    - filename
    - dev
    argTypes:
    - uint64_t*
    - uint64_t*
    - char**
    - uint64_t*
    - int64_t*
    - char**
    - dev_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 154
    functionName: tcmalloc_internal::ProcMapsIterator::NextExt
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/proc_maps.cc
    functionUses: 0
    functionsReached:
    - makedev
    - memmove
    - strlen
    - TCMALLOC_RETRY_ON_TEMP_FAILURE
    - static_cast<char*>
    - sscanf
    - memset
    - memchr
    - read
    linkageType: ''
    returnType: bool
    signature: "bool ProcMapsIterator::NextExt(uint64_t* start, uint64_t* end, char**
      flags,\n                               uint64_t* offset, int64_t* inode,\n                               char**
      filename, dev_t* dev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:40,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:41,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:42,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:43,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:44,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:44,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:45,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:46,1
    - Dst: initialize_unique_stack_trace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:52,1
    - Dst: initialize_unique_stack_trace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:53,1
    - Dst: initialize_unique_stack_trace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:54,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:58,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:58,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:59,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:60,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:61,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:61,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:62,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:63,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:63,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:64,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:64,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:65,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:66,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:66,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::StackTraceFilterTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    - initialize_unique_stack_trace
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::contains
    - reinterpret_cast<void*>
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:75,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:75,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:76,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:76,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:77,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:78,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:78,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:79,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:79,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:81,1
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:88,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:89,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:91,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:93,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:94,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:100,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:100,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:103,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:104,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:104,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:105,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:106,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:106,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:108,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:108,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:109,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:110,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:110,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 112
    functionName: tcmalloc::tcmalloc_internal::StackTraceFilterTest::InitializeColliderStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::contains
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    - reinterpret_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void InitializeColliderStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stack_trace
    argTypes:
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    linkageType: ''
    returnType: size_t
    signature: size_t GetFirstIndex(absl::Span<void* const> stack_trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, ConstexprConstructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::Wrapper::Wrapper
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:146,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - DefaultFilter::Contains
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, InitialState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:153,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:153,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:156,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:158,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, AddRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeColliderStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:162,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:165,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:166,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:166,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:167,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:167,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:170,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:171,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:171,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:174,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:175,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - InitializeColliderStackTrace
    - DefaultFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, CollisionFalsePositive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeColliderStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:179,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:183,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:184,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:184,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:185,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:185,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:187,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:188,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:188,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:189,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:189,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:191,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:192,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:192,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:193,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:193,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:195,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:196,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:196,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:197,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - StackTraceFilter::Contains
    - EXPECT_TRUE
    - InitializeColliderStackTrace
    - StackTraceFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, CollisionMultiHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:205,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:205,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:206,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:207,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, IntegerWrapAround)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:219,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:221,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:221,1
    - Dst: DefaultFilter::Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:222,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:226,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:226,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:229,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Decay
    - DefaultFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, AddAndDecay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:236,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:238,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:238,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:239,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:243,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:243,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:244,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:246,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:246,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:247,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, AddAndAdd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:253,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:254,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:255,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:255,1
    - Dst: DefaultFilter::DecayAll
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:256,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:257,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    - DefaultFilter::DecayAll
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, DecayAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, ConstexprConstructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::Wrapper::Wrapper
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:146,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - DefaultFilter::Contains
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, InitialState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:153,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:153,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:156,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:158,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, AddRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeColliderStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:162,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:165,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:166,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:166,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:167,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:167,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:170,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:171,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:171,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:174,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:175,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - InitializeColliderStackTrace
    - DefaultFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, CollisionFalsePositive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeColliderStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:179,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:183,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:184,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:184,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:185,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:185,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:187,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:188,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:188,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:189,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:189,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:191,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:192,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:192,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:193,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:193,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:195,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:196,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:196,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:197,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - StackTraceFilter::Contains
    - EXPECT_TRUE
    - InitializeColliderStackTrace
    - StackTraceFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, CollisionMultiHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:205,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:205,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:206,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:207,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, IntegerWrapAround)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:219,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:221,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:221,1
    - Dst: DefaultFilter::Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:222,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:226,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:226,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:229,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Decay
    - DefaultFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, AddAndDecay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:236,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:238,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:238,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:239,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:243,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:243,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:244,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:246,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:246,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:247,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, AddAndAdd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:253,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:254,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:255,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:255,1
    - Dst: DefaultFilter::DecayAll
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:256,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:257,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    - DefaultFilter::DecayAll
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, DecayAll)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:40,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:41,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:42,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:43,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:44,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:44,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:45,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:46,1
    - Dst: initialize_unique_stack_trace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:52,1
    - Dst: initialize_unique_stack_trace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:53,1
    - Dst: initialize_unique_stack_trace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:54,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:58,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:58,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:59,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:60,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:61,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:61,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:62,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:63,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:63,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:64,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:64,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:65,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:66,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:66,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::StackTraceFilterTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    - initialize_unique_stack_trace
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::contains
    - reinterpret_cast<void*>
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:75,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:75,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:76,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:76,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:77,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:78,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:78,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:79,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:79,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:81,1
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:88,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:89,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:91,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:93,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:94,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:100,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:100,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:103,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:104,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:104,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:105,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:106,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:106,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:108,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:108,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:109,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:110,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:110,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 112
    functionName: tcmalloc::tcmalloc_internal::StackTraceFilterTest::InitializeColliderStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::contains
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    - reinterpret_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void InitializeColliderStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stack_trace
    argTypes:
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    linkageType: ''
    returnType: size_t
    signature: size_t GetFirstIndex(absl::Span<void* const> stack_trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, ConstexprConstructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::Wrapper::Wrapper
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:146,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - DefaultFilter::Contains
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, InitialState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:153,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:153,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:156,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:158,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, AddRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeColliderStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:162,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:165,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:166,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:166,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:167,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:167,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:170,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:171,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:171,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:174,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:175,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - InitializeColliderStackTrace
    - DefaultFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, CollisionFalsePositive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeColliderStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:179,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:183,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:184,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:184,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:185,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:185,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:187,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:188,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:188,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:189,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:189,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:191,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:192,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:192,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:193,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:193,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:195,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:196,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:196,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:197,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - StackTraceFilter::Contains
    - EXPECT_TRUE
    - InitializeColliderStackTrace
    - StackTraceFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, CollisionMultiHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:205,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:205,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:206,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:207,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, IntegerWrapAround)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:219,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:221,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:221,1
    - Dst: DefaultFilter::Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:222,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:226,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:226,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:229,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Decay
    - DefaultFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, AddAndDecay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:236,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:238,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:238,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:239,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:243,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:243,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:244,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:246,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:246,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:247,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, AddAndAdd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:253,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:254,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:255,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:255,1
    - Dst: DefaultFilter::DecayAll
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:256,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:257,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    - DefaultFilter::DecayAll
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, DecayAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, ConstexprConstructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::Wrapper::Wrapper
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:146,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - DefaultFilter::Contains
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, InitialState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:153,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:153,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:156,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:158,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, AddRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeColliderStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:162,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:165,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:166,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:166,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:167,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:167,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:170,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:171,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:171,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:174,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:175,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - InitializeColliderStackTrace
    - DefaultFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, CollisionFalsePositive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeColliderStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:179,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:183,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:184,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:184,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:185,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:185,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:187,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:188,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:188,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:189,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:189,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:191,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:192,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:192,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:193,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:193,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:195,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:196,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:196,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:197,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - StackTraceFilter::Contains
    - EXPECT_TRUE
    - InitializeColliderStackTrace
    - StackTraceFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, CollisionMultiHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:205,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:205,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:206,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:207,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, IntegerWrapAround)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:219,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:221,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:221,1
    - Dst: DefaultFilter::Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:222,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:226,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:226,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:229,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Decay
    - DefaultFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, AddAndDecay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:236,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:238,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:238,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:239,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:243,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:243,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:244,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:246,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:246,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:247,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, AddAndAdd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:253,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:254,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:255,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:255,1
    - Dst: DefaultFilter::DecayAll
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:256,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:257,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    - DefaultFilter::DecayAll
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, DecayAll)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:40,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:41,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:42,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:43,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:44,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:44,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:45,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:46,1
    - Dst: initialize_unique_stack_trace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:52,1
    - Dst: initialize_unique_stack_trace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:53,1
    - Dst: initialize_unique_stack_trace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:54,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:58,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:58,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:59,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:60,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:61,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:61,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:62,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:63,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:63,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:64,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:64,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:65,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:66,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:66,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::StackTraceFilterTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    - initialize_unique_stack_trace
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::contains
    - reinterpret_cast<void*>
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:75,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:75,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:76,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:76,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:77,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:78,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:78,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:79,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:79,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:81,1
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:88,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:89,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:91,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:93,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:94,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:100,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:100,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:103,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:104,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:104,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:105,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:106,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:106,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:108,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:108,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:109,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:110,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:110,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 112
    functionName: tcmalloc::tcmalloc_internal::StackTraceFilterTest::InitializeColliderStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::contains
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    - reinterpret_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void InitializeColliderStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stack_trace
    argTypes:
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    linkageType: ''
    returnType: size_t
    signature: size_t GetFirstIndex(absl::Span<void* const> stack_trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, ConstexprConstructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::Wrapper::Wrapper
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:146,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - DefaultFilter::Contains
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, InitialState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:153,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:153,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:156,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:158,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, AddRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeColliderStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:162,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:165,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:166,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:166,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:167,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:167,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:170,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:171,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:171,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:174,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:175,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - InitializeColliderStackTrace
    - DefaultFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, CollisionFalsePositive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeColliderStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:179,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:183,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:184,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:184,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:185,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:185,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:187,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:188,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:188,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:189,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:189,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:191,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:192,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:192,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:193,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:193,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:195,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:196,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:196,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:197,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - StackTraceFilter::Contains
    - EXPECT_TRUE
    - InitializeColliderStackTrace
    - StackTraceFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, CollisionMultiHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:205,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:205,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:206,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:207,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, IntegerWrapAround)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:219,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:221,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:221,1
    - Dst: DefaultFilter::Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:222,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:226,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:226,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:229,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Decay
    - DefaultFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, AddAndDecay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:236,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:238,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:238,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:239,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:243,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:243,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:244,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:246,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:246,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:247,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, AddAndAdd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:253,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:254,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:255,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:255,1
    - Dst: DefaultFilter::DecayAll
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:256,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:257,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    - DefaultFilter::DecayAll
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, DecayAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, ConstexprConstructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::Wrapper::Wrapper
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:146,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - DefaultFilter::Contains
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, InitialState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:153,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:153,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:156,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:158,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, AddRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeColliderStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:162,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:165,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:166,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:166,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:167,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:167,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:170,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:171,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:171,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:174,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:175,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - InitializeColliderStackTrace
    - DefaultFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, CollisionFalsePositive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeColliderStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:179,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:183,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:184,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:184,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:185,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:185,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:187,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:188,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:188,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:189,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:189,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:191,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:192,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:192,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:193,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:193,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:195,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:196,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:196,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:197,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - StackTraceFilter::Contains
    - EXPECT_TRUE
    - InitializeColliderStackTrace
    - StackTraceFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, CollisionMultiHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:205,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:205,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:206,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:207,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, IntegerWrapAround)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:219,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:221,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:221,1
    - Dst: DefaultFilter::Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:222,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:226,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:226,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:229,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Decay
    - DefaultFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, AddAndDecay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:236,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:238,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:238,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:239,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:243,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:243,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:244,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:246,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:246,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:247,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, AddAndAdd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:253,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:254,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:255,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:255,1
    - Dst: DefaultFilter::DecayAll
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:256,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:257,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    - DefaultFilter::DecayAll
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, DecayAll)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:40,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:41,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:42,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:43,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:44,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:44,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:45,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:46,1
    - Dst: initialize_unique_stack_trace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:52,1
    - Dst: initialize_unique_stack_trace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:53,1
    - Dst: initialize_unique_stack_trace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:54,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:58,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:58,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:59,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:60,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:61,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:61,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:62,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:63,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:63,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:64,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:64,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:65,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:66,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:66,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::StackTraceFilterTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    - initialize_unique_stack_trace
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::contains
    - reinterpret_cast<void*>
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:75,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:75,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:76,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:76,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:77,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:77,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:78,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:78,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:79,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:79,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:81,1
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:88,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:89,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:91,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:93,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:94,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:100,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:100,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:103,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:104,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:104,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:105,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:106,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:106,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:108,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:108,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:109,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:110,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:110,1
    - Dst: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 112
    functionName: tcmalloc::tcmalloc_internal::StackTraceFilterTest::InitializeColliderStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::contains
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    - reinterpret_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void InitializeColliderStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stack_trace
    argTypes:
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    linkageType: ''
    returnType: size_t
    signature: size_t GetFirstIndex(absl::Span<void* const> stack_trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, ConstexprConstructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::Wrapper::Wrapper
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:146,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - DefaultFilter::Contains
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, InitialState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:153,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:153,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:156,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:158,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, AddRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeColliderStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:162,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:165,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:166,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:166,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:167,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:167,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:170,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:171,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:171,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:174,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:175,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - InitializeColliderStackTrace
    - DefaultFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, CollisionFalsePositive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeColliderStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:179,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:183,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:184,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:184,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:185,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:185,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:187,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:188,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:188,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:189,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:189,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:191,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:192,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:192,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:193,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:193,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:195,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:196,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:196,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:197,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - StackTraceFilter::Contains
    - EXPECT_TRUE
    - InitializeColliderStackTrace
    - StackTraceFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, CollisionMultiHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:205,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:205,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:206,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:207,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, IntegerWrapAround)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:219,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:221,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:221,1
    - Dst: DefaultFilter::Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:222,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:226,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:226,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:229,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Decay
    - DefaultFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, AddAndDecay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:236,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:238,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:238,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:239,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:243,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:243,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:244,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:246,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:246,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:247,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, AddAndAdd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:253,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:254,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:255,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:255,1
    - Dst: DefaultFilter::DecayAll
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:256,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:257,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    - DefaultFilter::DecayAll
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, DecayAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, ConstexprConstructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::Wrapper::Wrapper
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:146,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - DefaultFilter::Contains
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, InitialState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:153,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:153,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:156,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:158,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, AddRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeColliderStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:162,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:165,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:166,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:166,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:167,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:167,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:170,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:171,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:171,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:174,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:175,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - InitializeColliderStackTrace
    - DefaultFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, CollisionFalsePositive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeColliderStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:179,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:183,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:184,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:184,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:185,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:185,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:187,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:188,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:188,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:189,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:189,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:191,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:192,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:192,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:193,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:193,1
    - Dst: StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:195,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:196,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:196,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:197,1
    - Dst: StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - StackTraceFilter::Contains
    - EXPECT_TRUE
    - InitializeColliderStackTrace
    - StackTraceFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, CollisionMultiHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:205,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:205,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:206,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:207,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(StackTraceFilterTest, IntegerWrapAround)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:219,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:221,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:221,1
    - Dst: DefaultFilter::Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:222,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:226,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:226,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:229,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Decay
    - DefaultFilter::Add
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, AddAndDecay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:236,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:238,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:238,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:239,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:243,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:243,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:244,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:246,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:246,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:247,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, AddAndAdd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:253,1
    - Dst: DefaultFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:254,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:255,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:255,1
    - Dst: DefaultFilter::DecayAll
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:256,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:257,1
    - Dst: DefaultFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    - DefaultFilter::DecayAll
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, DecayAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/residency.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 139
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.h
    functionUses: 0
    functionsReached:
    - GetPageSize
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~Residency()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Residency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: tcmalloc_internal::ResidencyPageMap::GetNativePagesInHugePage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GetNativePagesInHugePage() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' stream'
    - ' rhs'
    argTypes:
    - std::ostream
    - Residency::Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: "& operator<<(std::ostream& stream,\n                                const
      Residency::Info& rhs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: "std::ostream & operator<<(std::ostream& stream,\n                                const
      Residency::Info& rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~Residency()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Residency()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: tcmalloc_internal::ResidencyPageMap::GetNativePagesInHugePage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GetNativePagesInHugePage() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' stream'
    - ' rhs'
    argTypes:
    - std::ostream
    - Residency::Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: "& operator<<(std::ostream& stream,\n                                const
      Residency::Info& rhs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: "std::ostream & operator<<(std::ostream& stream,\n                                const
      Residency::Info& rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_HAVE_BUILTIN
      Src: /src/tcmalloc/tcmalloc/internal/overflow.h:28,1
    - Dst: __builtin_mul_overflow
      Src: /src/tcmalloc/tcmalloc/internal/overflow.h:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/overflow.h
    functionUses: 0
    functionsReached:
    - __builtin_mul_overflow
    - ABSL_HAVE_BUILTIN
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_HAVE_BUILTIN
      Src: /src/tcmalloc/tcmalloc/internal/overflow.h:28,1
    - Dst: __builtin_mul_overflow
      Src: /src/tcmalloc/tcmalloc/internal/overflow.h:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - out
    argTypes:
    - size_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: tcmalloc_internal::MultiplyOverflow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/overflow.h
    functionUses: 0
    functionsReached:
    - __builtin_mul_overflow
    - ABSL_HAVE_BUILTIN
    linkageType: ''
    returnType: bool
    signature: bool MultiplyOverflow(size_t a, size_t b, size_t* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_HAVE_BUILTIN
      Src: /src/tcmalloc/tcmalloc/internal/overflow.h:28,1
    - Dst: __builtin_mul_overflow
      Src: /src/tcmalloc/tcmalloc/internal/overflow.h:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - out
    argTypes:
    - size_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: tcmalloc_internal::MultiplyOverflow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/overflow.h
    functionUses: 0
    functionsReached:
    - __builtin_mul_overflow
    - ABSL_HAVE_BUILTIN
    linkageType: ''
    returnType: bool
    signature: bool MultiplyOverflow(size_t a, size_t b, size_t* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:50,1
    - Dst: value_::load
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:54,1
    - Dst: value_::store
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:64,1
    - Dst: value_::load
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:64,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:78,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 92
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached:
    - value_::fetch_add
    - value_::store
    - TC_ASSERT
    - value_::load
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: tcmalloc_internal::StatsCounter::StatsCounter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatsCounter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tcmalloc_internal::StatsCounter::StatsCounter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatsCounter(const StatsCounter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const StatsCounter&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StatsCounter
    signature: StatsCounter & operator=(const StatsCounter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~StatsCounter()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StatsCounter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StatsCounter::value_::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - increment
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::StatsCounter::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StatsCounter::value_::fetch_add
    linkageType: ''
    returnType: void
    signature: void Add(Value increment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StatsCounter::value_::load
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: tcmalloc_internal::StatsCounter::value
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StatsCounter::value_::load
    linkageType: ''
    returnType: Value
    signature: Value value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StatsCounter::value_::store
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:64,1
    - Dst: tcmalloc_internal::StatsCounter::value_::load
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - increment
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: tcmalloc_internal::StatsCounter::LossyAdd
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StatsCounter::value_::load
    - tcmalloc_internal::StatsCounter::value_::store
    linkageType: ''
    returnType: void
    signature: void LossyAdd(Value increment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tcmalloc_internal::StatsCounters::StatsCounters
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatsCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '& operator[](int i) ABSL_ATTRIBUTE_LIFETIME_BOUND'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    linkageType: ''
    returnType: StatsCounter
    signature: StatsCounter & operator[](int i) ABSL_ATTRIBUTE_LIFETIME_BOUND
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '& operator[](int i) const ABSL_ATTRIBUTE_LIFETIME_BOUND'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    linkageType: ''
    returnType: StatsCounter
    signature: StatsCounter & operator[](int i) const ABSL_ATTRIBUTE_LIFETIME_BOUND
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: tcmalloc_internal::StatsCounter::StatsCounter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatsCounter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tcmalloc_internal::StatsCounter::StatsCounter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatsCounter(const StatsCounter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const StatsCounter&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StatsCounter
    signature: StatsCounter & operator=(const StatsCounter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~StatsCounter()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StatsCounter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StatsCounter::value_::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - increment
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::StatsCounter::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StatsCounter::value_::fetch_add
    linkageType: ''
    returnType: void
    signature: void Add(Value increment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StatsCounter::value_::load
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: tcmalloc_internal::StatsCounter::value
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StatsCounter::value_::load
    linkageType: ''
    returnType: Value
    signature: Value value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StatsCounter::value_::store
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:64,1
    - Dst: tcmalloc_internal::StatsCounter::value_::load
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - increment
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: tcmalloc_internal::StatsCounter::LossyAdd
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StatsCounter::value_::load
    - tcmalloc_internal::StatsCounter::value_::store
    linkageType: ''
    returnType: void
    signature: void LossyAdd(Value increment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tcmalloc_internal::StatsCounters::StatsCounters
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatsCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '& operator[](int i) ABSL_ATTRIBUTE_LIFETIME_BOUND'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    linkageType: ''
    returnType: StatsCounter
    signature: StatsCounter & operator[](int i) ABSL_ATTRIBUTE_LIFETIME_BOUND
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '& operator[](int i) const ABSL_ATTRIBUTE_LIFETIME_BOUND'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    linkageType: ''
    returnType: StatsCounter
    signature: StatsCounter & operator[](int i) const ABSL_ATTRIBUTE_LIFETIME_BOUND
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPU_ALLOC_SIZE
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:32,1
    - Dst: CPU_ZERO_S
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:36,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:36,1
    - Dst: CPU_SET_S
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:37,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:37,1
    - Dst: CPU_ISSET_S
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:39,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:39,1
    - Dst: CPU_CLR_S
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:41,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:41,1
    - Dst: CPU_COUNT_S
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:42,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:42,1
    - Dst: Count
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:46,1
    - Dst: IsSet
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:50,1
    - Dst: sched_setaffinity
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:60,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:60,1
    - Dst: sched_getaffinity
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:67,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:67,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 81
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 0
    functionsReached:
    - Count
    - sched_getaffinity
    - CPU_ALLOC_SIZE
    - data
    - CPU_SET_S
    - CPU_ISSET_S
    - CPU_CLR_S
    - sched_setaffinity
    - CPU_COUNT_S
    - CPU_ZERO_S
    - IsSet
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPU_ZERO_S
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:36,1
    - Dst: tcmalloc_internal::CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: tcmalloc_internal::CpuSet::Zero
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 0
    functionsReached:
    - CPU_ZERO_S
    - tcmalloc_internal::CpuSet::data
    linkageType: ''
    returnType: void
    signature: void Zero()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPU_SET_S
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:37,1
    - Dst: tcmalloc_internal::CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: tcmalloc_internal::CpuSet::Set
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::CpuSet::data
    - CPU_SET_S
    linkageType: ''
    returnType: void
    signature: void Set(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPU_ISSET_S
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:39,1
    - Dst: tcmalloc_internal::CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::CpuSet::IsSet
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::CpuSet::data
    - CPU_ISSET_S
    linkageType: ''
    returnType: bool
    signature: bool IsSet(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPU_CLR_S
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:41,1
    - Dst: tcmalloc_internal::CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::CpuSet::CLR
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 0
    functionsReached:
    - CPU_CLR_S
    - tcmalloc_internal::CpuSet::data
    linkageType: ''
    returnType: void
    signature: void CLR(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPU_COUNT_S
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:42,1
    - Dst: tcmalloc_internal::CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc_internal::CpuSet::Count
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 0
    functionsReached:
    - CPU_COUNT_S
    - tcmalloc_internal::CpuSet::data
    linkageType: ''
    returnType: int
    signature: int Count() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:46,1
    - Dst: tcmalloc_internal::CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: tcmalloc_internal::CpuSet::FindFirstSet
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::CpuSet::IsSet
    - tcmalloc_internal::CpuSet::Count
    linkageType: ''
    returnType: int
    signature: int FindFirstSet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sched_setaffinity
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:60,1
    - Dst: tcmalloc_internal::CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: tcmalloc_internal::CpuSet::SetAffinity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 0
    functionsReached:
    - sched_setaffinity
    - tcmalloc_internal::CpuSet::data
    linkageType: ''
    returnType: bool
    signature: bool SetAffinity(pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sched_getaffinity
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:67,1
    - Dst: tcmalloc_internal::CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: tcmalloc_internal::CpuSet::GetAffinity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 0
    functionsReached:
    - sched_getaffinity
    - tcmalloc_internal::CpuSet::data
    linkageType: ''
    returnType: bool
    signature: bool GetAffinity(pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::CpuSet::data
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::CpuSet::data
    linkageType: ''
    returnType: cpu_set_t
    signature: cpu_set_t * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPU_ZERO_S
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:36,1
    - Dst: tcmalloc_internal::CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: tcmalloc_internal::CpuSet::Zero
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 0
    functionsReached:
    - CPU_ZERO_S
    - tcmalloc_internal::CpuSet::data
    linkageType: ''
    returnType: void
    signature: void Zero()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPU_SET_S
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:37,1
    - Dst: tcmalloc_internal::CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: tcmalloc_internal::CpuSet::Set
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::CpuSet::data
    - CPU_SET_S
    linkageType: ''
    returnType: void
    signature: void Set(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPU_ISSET_S
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:39,1
    - Dst: tcmalloc_internal::CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::CpuSet::IsSet
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::CpuSet::data
    - CPU_ISSET_S
    linkageType: ''
    returnType: bool
    signature: bool IsSet(int cpu) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPU_CLR_S
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:41,1
    - Dst: tcmalloc_internal::CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::CpuSet::CLR
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 0
    functionsReached:
    - CPU_CLR_S
    - tcmalloc_internal::CpuSet::data
    linkageType: ''
    returnType: void
    signature: void CLR(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPU_COUNT_S
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:42,1
    - Dst: tcmalloc_internal::CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc_internal::CpuSet::Count
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 1
    functionsReached:
    - CPU_COUNT_S
    - tcmalloc_internal::CpuSet::data
    linkageType: ''
    returnType: int
    signature: int Count() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:46,1
    - Dst: tcmalloc_internal::CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: tcmalloc_internal::CpuSet::FindFirstSet
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::CpuSet::IsSet
    - tcmalloc_internal::CpuSet::Count
    linkageType: ''
    returnType: int
    signature: int FindFirstSet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sched_setaffinity
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:60,1
    - Dst: tcmalloc_internal::CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: tcmalloc_internal::CpuSet::SetAffinity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 0
    functionsReached:
    - sched_setaffinity
    - tcmalloc_internal::CpuSet::data
    linkageType: ''
    returnType: bool
    signature: bool SetAffinity(pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sched_getaffinity
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:67,1
    - Dst: tcmalloc_internal::CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: tcmalloc_internal::CpuSet::GetAffinity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 0
    functionsReached:
    - sched_getaffinity
    - tcmalloc_internal::CpuSet::data
    linkageType: ''
    returnType: bool
    signature: bool GetAffinity(pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::CpuSet::data
      Src: /src/tcmalloc/tcmalloc/internal/cpu_utils.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::CpuSet::data
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
    functionUses: 16
    functionsReached:
    - tcmalloc_internal::CpuSet::data
    linkageType: ''
    returnType: cpu_set_t
    signature: cpu_set_t * data() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:49,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:49,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:50,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:51,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:53,1
    - Dst: static_cast<absl::uint128>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:54,1
    - Dst: UpdateClock
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:78,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:96,1
    - Dst: static_cast<absl::uint128>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:96,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:97,1
    - Dst: GetCurrentEpoch
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:119,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:123,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:135,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:147,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:148,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:161,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:163,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:172,1
    - Dst: UpdateClock
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:178,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 184
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - empty
    - freq
    - GetCurrentEpoch
    - static_cast<uint64_t>
    - absl::ToDoubleSeconds
    - static_cast<absl::uint128>
    - static_cast<int64_t>
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    - f
    - TC_ASSERT_LE
    - UpdateClock
    - std::min
    - Report
    - now
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:49,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:49,1
    - Dst: Clock::freq
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:50,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:51,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:53,1
    - Dst: static_cast<absl::uint128>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - clock
    - w
    argTypes:
    - Clock
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::TimeSeriesTracker::TimeSeriesTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - static_cast<uint64_t>
    - absl::ToDoubleSeconds
    - static_cast<absl::uint128>
    - Clock::freq
    linkageType: ''
    returnType: void
    signature: void TimeSeriesTracker(Clock clock, absl::Duration w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UpdateClock
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::TimeSeriesTracker::UpdateTimeBase
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - UpdateClock
    linkageType: ''
    returnType: void
    signature: void UpdateTimeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:96,1
    - Dst: static_cast<absl::uint128>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:96,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: tcmalloc_internal::TimeSeriesTracker::GetCurrentEpoch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - static_cast<absl::uint128>
    - static_cast<int64_t>
    - now
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetCurrentEpoch()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentEpoch
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:119,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:123,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 138
    functionName: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::UpdateClock
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - GetCurrentEpoch
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool TimeSeriesTracker<T, S, kEpochs>::UpdateClock()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:147,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - f
    - skip_entries
    argTypes:
    - absl::FunctionRef<void(size_t, const T&)>
    - SkipEntriesSetting
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Iter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - f
    - empty
    linkageType: ''
    returnType: void
    signature: "void TimeSeriesTracker<T, S, kEpochs>::Iter(\n    absl::FunctionRef<void(size_t,
      const T&)> f,\n    SkipEntriesSetting skip_entries) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:161,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - f
    - num_epochs
    argTypes:
    - absl::FunctionRef<void(size_t, const T&)>
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::IterBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - f
    - TC_ASSERT_LE
    linkageType: ''
    returnType: void
    signature: "void TimeSeriesTracker<T, S, kEpochs>::IterBackwards(\n    absl::FunctionRef<void(size_t,
      const T&)> f, int64_t num_epochs) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::GetEpochAtOffset
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    linkageType: ''
    returnType: T
    signature: T TimeSeriesTracker<T, S, kEpochs>::GetEpochAtOffset(size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::UpdateClock
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:178,1
    - Dst: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Report
    - tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::UpdateClock
    linkageType: ''
    returnType: bool
    signature: bool TimeSeriesTracker<T, S, kEpochs>::Report(const S& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:49,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:49,1
    - Dst: Clock::freq
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:50,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:51,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:53,1
    - Dst: static_cast<absl::uint128>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - clock
    - w
    argTypes:
    - Clock
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::TimeSeriesTracker::TimeSeriesTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - static_cast<uint64_t>
    - absl::ToDoubleSeconds
    - static_cast<absl::uint128>
    - Clock::freq
    linkageType: ''
    returnType: void
    signature: void TimeSeriesTracker(Clock clock, absl::Duration w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UpdateClock
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::TimeSeriesTracker::UpdateTimeBase
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - UpdateClock
    linkageType: ''
    returnType: void
    signature: void UpdateTimeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:96,1
    - Dst: static_cast<absl::uint128>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:96,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: tcmalloc_internal::TimeSeriesTracker::GetCurrentEpoch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - static_cast<absl::uint128>
    - static_cast<int64_t>
    - now
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetCurrentEpoch()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentEpoch
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:119,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:123,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 138
    functionName: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::UpdateClock
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 1
    functionsReached:
    - GetCurrentEpoch
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool TimeSeriesTracker<T, S, kEpochs>::UpdateClock()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:147,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - f
    - skip_entries
    argTypes:
    - absl::FunctionRef<void(size_t, const T&)>
    - SkipEntriesSetting
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Iter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - f
    - empty
    linkageType: ''
    returnType: void
    signature: "void TimeSeriesTracker<T, S, kEpochs>::Iter(\n    absl::FunctionRef<void(size_t,
      const T&)> f,\n    SkipEntriesSetting skip_entries) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:161,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - f
    - num_epochs
    argTypes:
    - absl::FunctionRef<void(size_t, const T&)>
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::IterBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - f
    - TC_ASSERT_LE
    linkageType: ''
    returnType: void
    signature: "void TimeSeriesTracker<T, S, kEpochs>::IterBackwards(\n    absl::FunctionRef<void(size_t,
      const T&)> f, int64_t num_epochs) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::GetEpochAtOffset
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    linkageType: ''
    returnType: T
    signature: T TimeSeriesTracker<T, S, kEpochs>::GetEpochAtOffset(size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::UpdateClock
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:178,1
    - Dst: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Report
    - tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::UpdateClock
    linkageType: ''
    returnType: bool
    signature: bool TimeSeriesTracker<T, S, kEpochs>::Report(const S& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/fake_profile.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - samples
    argTypes:
    - std::vector<Profile::Sample>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::SetSamples
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SetSamples(std::vector<Profile::Sample> samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/fake_profile.h:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - absl::FunctionRef<void(const Profile::Sample&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::Iterate
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: void
    signature: "void Iterate(\n      absl::FunctionRef<void(const Profile::Sample&)>
      f) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::Type
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProfileType
    signature: ProfileType Type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::SetType
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetType(ProfileType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::Duration
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Duration() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::SetDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDuration(absl::Duration duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::StartTime
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<absl::Time>
    signature: std::optional<absl::Time> StartTime() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::optional<absl::Time>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::SetStartTime
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStartTime(std::optional<absl::Time> t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/fake_profile.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - samples
    argTypes:
    - std::vector<Profile::Sample>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::SetSamples
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SetSamples(std::vector<Profile::Sample> samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/fake_profile.h:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - absl::FunctionRef<void(const Profile::Sample&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::Iterate
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: void
    signature: "void Iterate(\n      absl::FunctionRef<void(const Profile::Sample&)>
      f) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::Type
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProfileType
    signature: ProfileType Type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::SetType
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetType(ProfileType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::Duration
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Duration() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::SetDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDuration(absl::Duration duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::StartTime
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<absl::Time>
    signature: std::optional<absl::Time> StartTime() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::optional<absl::Time>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::SetStartTime
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStartTime(std::optional<absl::Time> t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/fake_profile.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - samples
    argTypes:
    - std::vector<Profile::Sample>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::SetSamples
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SetSamples(std::vector<Profile::Sample> samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/fake_profile.h:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - absl::FunctionRef<void(const Profile::Sample&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::Iterate
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: void
    signature: "void Iterate(\n      absl::FunctionRef<void(const Profile::Sample&)>
      f) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::Type
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProfileType
    signature: ProfileType Type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::SetType
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetType(ProfileType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::Duration
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Duration() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::SetDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDuration(absl::Duration duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::StartTime
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<absl::Time>
    signature: std::optional<absl::Time> StartTime() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::optional<absl::Time>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::SetStartTime
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStartTime(std::optional<absl::Time> t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/fake_profile.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - samples
    argTypes:
    - std::vector<Profile::Sample>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::SetSamples
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SetSamples(std::vector<Profile::Sample> samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/fake_profile.h:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - absl::FunctionRef<void(const Profile::Sample&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::Iterate
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: void
    signature: "void Iterate(\n      absl::FunctionRef<void(const Profile::Sample&)>
      f) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::Type
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProfileType
    signature: ProfileType Type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::SetType
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetType(ProfileType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::Duration
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Duration() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::SetDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDuration(absl::Duration duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::StartTime
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<absl::Time>
    signature: std::optional<absl::Time> StartTime() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::optional<absl::Time>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: tcmalloc::tcmalloc_internal::FakeProfile::SetStartTime
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/fake_profile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStartTime(std::optional<absl::Time> t)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:46,1
    - Dst: read
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:53,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:53,1
    - Dst: std::array::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:53,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:54,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:58,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:62,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:70,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:71,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:73,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:73,1
    - Dst: IsInBounds
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:74,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:80,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:80,1
    - Dst: IsInBounds
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:81,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:85,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:91,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:95,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:101,1
    - Dst: memmove
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:102,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:102,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:102,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:111,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:117,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:118,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:121,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:123,1
    - Dst: std::optional::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:129,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:130,1
    - Dst: std::optional::value_or
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:130,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:134,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 146
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - signal_safe_close
    - ABSL_PREDICT_FALSE
    - CpuSet::Zero
    - absl::SimpleAtoi
    - absl::string_view::size
    - std::optional::value_or
    - std::optional::IsSet
    - absl::string_view::empty
    - std::max
    - read
    - std::array::size
    - absl::string_view::substr
    - std::array::data
    - signal_safe_open
    - memmove
    - std::optional::has_value
    - signal_safe_read
    - IsInBounds
    - absl::string_view::find
    - ParseCpulist
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::IsInBounds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInBounds(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::IsInBounds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInBounds(int cpu)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:46,1
    - Dst: read
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:53,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:53,1
    - Dst: std::array::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:53,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:54,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:58,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:62,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:70,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:71,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:73,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:73,1
    - Dst: tcmalloc_internal::IsInBounds
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:74,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:80,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:80,1
    - Dst: tcmalloc_internal::IsInBounds
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:81,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:85,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:91,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:95,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:101,1
    - Dst: memmove
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:102,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:102,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:102,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 1
    argNames:
    - read
    argTypes:
    - absl::FunctionRef<ssize_t(char*, size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 106
    functionName: tcmalloc_internal::ParseCpulist
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::substr
    - CpuSet::Set
    - memmove
    - ABSL_PREDICT_FALSE
    - absl::string_view::size
    - tcmalloc_internal::IsInBounds
    - absl::string_view::empty
    - absl::string_view::find
    - CpuSet::Zero
    - absl::SimpleAtoi
    - read
    - std::array::size
    - std::array::data
    linkageType: ''
    returnType: std::optional<CpuSet>
    signature: "std::optional<CpuSet> ParseCpulist(\n    absl::FunctionRef<ssize_t(char*,
      size_t)> read)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:111,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:117,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:118,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:121,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:123,1
    - Dst: std::optional::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:129,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:130,1
    - Dst: std::optional::value_or
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:130,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 139
    functionName: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.cc
    functionUses: 8
    functionsReached:
    - signal_safe_open
    - std::optional::value_or
    - signal_safe_close
    - std::optional::has_value
    - signal_safe_read
    - std::optional::IsSet
    - ParseCpulist
    - std::max
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> NumPossibleCPUsNoCache()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:111,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:117,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:118,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:121,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:123,1
    - Dst: std::optional::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:129,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:130,1
    - Dst: std::optional::value_or
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:130,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 139
    functionName: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.cc
    functionUses: 8
    functionsReached:
    - signal_safe_open
    - std::optional::value_or
    - signal_safe_close
    - std::optional::has_value
    - signal_safe_read
    - std::optional::IsSet
    - ParseCpulist
    - std::max
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> NumPossibleCPUsNoCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::IsInBounds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInBounds(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::IsInBounds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInBounds(int cpu)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:46,1
    - Dst: read
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:53,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:53,1
    - Dst: std::array::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:53,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:54,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:58,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:62,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:70,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:71,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:73,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:73,1
    - Dst: tcmalloc_internal::IsInBounds
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:74,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:80,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:80,1
    - Dst: tcmalloc_internal::IsInBounds
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:81,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:85,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:91,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:95,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:101,1
    - Dst: memmove
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:102,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:102,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:102,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 1
    argNames:
    - read
    argTypes:
    - absl::FunctionRef<ssize_t(char*, size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 106
    functionName: tcmalloc_internal::ParseCpulist
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::substr
    - CpuSet::Set
    - memmove
    - ABSL_PREDICT_FALSE
    - absl::string_view::size
    - tcmalloc_internal::IsInBounds
    - absl::string_view::empty
    - absl::string_view::find
    - CpuSet::Zero
    - absl::SimpleAtoi
    - read
    - std::array::size
    - std::array::data
    linkageType: ''
    returnType: std::optional<CpuSet>
    signature: "std::optional<CpuSet> ParseCpulist(\n    absl::FunctionRef<ssize_t(char*,
      size_t)> read)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:111,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:117,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:118,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:121,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:123,1
    - Dst: std::optional::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:129,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:130,1
    - Dst: std::optional::value_or
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:130,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 139
    functionName: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.cc
    functionUses: 8
    functionsReached:
    - signal_safe_open
    - std::optional::value_or
    - signal_safe_close
    - std::optional::has_value
    - signal_safe_read
    - std::optional::IsSet
    - ParseCpulist
    - std::max
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> NumPossibleCPUsNoCache()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:111,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:117,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:118,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:121,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:123,1
    - Dst: std::optional::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:129,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:130,1
    - Dst: std::optional::value_or
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:130,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.cc:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 139
    functionName: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.cc
    functionUses: 8
    functionsReached:
    - signal_safe_open
    - std::optional::value_or
    - signal_safe_close
    - std::optional::has_value
    - signal_safe_read
    - std::optional::IsSet
    - ParseCpulist
    - std::max
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> NumPossibleCPUsNoCache()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:74,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:78,1
    - Dst: T
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:91,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:98,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:104,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:105,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:107,1
    - Dst: T
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:114,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:118,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:121,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:127,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:132,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:135,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:142,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:145,1
    - Dst: T
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 155
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/hook_list.h
    functionUses: 0
    functionsReached:
    - T
    - load
    - store
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: HookListBase::HookListBase
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/hook_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HookListBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: HookList::HookList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/hook_list.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HookList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - initial_hook
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: HookList::HookList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/hook_list.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HookList(T initial_hook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: HookList::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/hook_list.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: HookList::size
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/hook_list.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int size() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:91,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:98,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:104,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:105,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - value_as_t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 110
    functionName: HookList<T>::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/hook_list.h
    functionUses: 0
    functionsReached:
    - T
    - load
    - store
    linkageType: ''
    returnType: bool
    signature: bool HookList<T>::Add(T value_as_t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:114,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:118,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:121,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:127,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:132,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - value_as_t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 138
    functionName: HookList<T>::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/hook_list.h
    functionUses: 0
    functionsReached:
    - T
    - load
    - store
    linkageType: ''
    returnType: bool
    signature: bool HookList<T>::Remove(T value_as_t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:142,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:145,1
    - Dst: T
      Src: /src/tcmalloc/tcmalloc/internal/hook_list.h:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - output_array
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: HookList<T>::Traverse
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/hook_list.h
    functionUses: 0
    functionsReached:
    - T
    - load
    linkageType: ''
    returnType: int
    signature: int HookList<T>::Traverse(T* output_array, int n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::Info
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    linkageType: ''
    returnType: void
    signature: void Info()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:55,1
    - Dst: Info::Info
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    - Info::Info
    linkageType: ''
    returnType: Info
    signature: Info * New()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - Info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - fetch_sub
    linkageType: ''
    returnType: void
    signature: void Delete(Info* info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::alloc_count
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t alloc_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::SampleRecorderTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampleRecorderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:75,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:76,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:77,1
    - Dst: size::load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::GetSizes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - Iterate
    - size::load
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> GetSizes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:83,1
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:84,1
    - Dst: auto*::size::store
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts:
    - condition: (info != nullptr)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    - assert
    - auto*::size::store
    linkageType: ''
    returnType: Info
    signature: Info * Register(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:97,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:99,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Unregister
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, PrepareForSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: auto*::size::store
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:115,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - Register
    - GetSizes
    - EXPECT_THAT
    - UnorderedElementsAre
    - auto*::size::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Registration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:122,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:129,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:129,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:130,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:135,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:136,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:141,1
    - Dst: UnregisterAll
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: alloc_count
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:149,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:151,1
    - Dst: alloc_count
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - std::vector::push_back
    - EXPECT_EQ
    - Register
    - GetSizes
    - EXPECT_THAT
    - IsEmpty
    - UnorderedElementsAre
    - UnregisterAll
    - alloc_count
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Unregistration)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:161,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:166,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:167,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:168,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:168,1
    - Dst: std::uniform_int_distribution<>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:170,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:172,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:172,1
    - Dst: std::uniform_int_distribution<>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:176,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:176,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:178,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:179,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:180,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:184,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:185,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:186,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:187,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:189,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:189,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:201,1
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:201,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:202,1
    - Dst: SampleRecorder::UnregisterAll
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:202,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:203,1
    - Dst: SampleRecorder::Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:204,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:205,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:210,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:211,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ThreadManager::Start
    - std::vector::back
    - absl::Notification::Notify
    - Register
    - absl::Now
    - absl::Notification::HasBeenNotified
    - SampleRecorder::Iterate
    - std::uniform_int_distribution<>
    - Unregister
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::max
    - std::vector::pop_back
    - SampleRecorder::UnregisterAll
    - ASSERT_TRUE
    - Iterate
    - std::vector::empty
    - std::vector::push_back
    - absl::SleepFor
    - std::vector::size
    - ASSERT_GE
    - SampleRecorder::Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, MultiThreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:216,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:228,1
    - Dst: SetDisposeCallback
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:228,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:233,1
    - Dst: SetDisposeCallback
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:233,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 236
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - EXPECT_EQ
    - SetDisposeCallback
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::InfoWithParam
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InfoWithParam()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::InfoWithParam
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    linkageType: ''
    returnType: void
    signature: void InfoWithParam(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InfoWithParam::InfoWithParam
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::InfoAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - InfoWithParam::InfoWithParam
    linkageType: ''
    returnType: InfoWithParam
    signature: InfoWithParam * New(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - infoWithParam
    argTypes:
    - InfoWithParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::InfoAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(InfoWithParam* infoWithParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:263,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:264,1
    - Dst: SampleRecorder::Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:268,1
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:272,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - SampleRecorder::Unregister
    - EXPECT_TRUE
    - SampleRecorder::Register
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(SampleRecorderWithParamTest, RegisterWithParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::Info
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    linkageType: ''
    returnType: void
    signature: void Info()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:55,1
    - Dst: Info::Info
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    - Info::Info
    linkageType: ''
    returnType: Info
    signature: Info * New()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - Info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - fetch_sub
    linkageType: ''
    returnType: void
    signature: void Delete(Info* info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::alloc_count
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t alloc_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::SampleRecorderTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampleRecorderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:75,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:76,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:77,1
    - Dst: size::load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::GetSizes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - Iterate
    - size::load
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> GetSizes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:83,1
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:84,1
    - Dst: auto*::size::store
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts:
    - condition: (info != nullptr)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    - assert
    - auto*::size::store
    linkageType: ''
    returnType: Info
    signature: Info * Register(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:97,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:99,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Unregister
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, PrepareForSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: auto*::size::store
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:115,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - Register
    - GetSizes
    - EXPECT_THAT
    - UnorderedElementsAre
    - auto*::size::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Registration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:122,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:129,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:129,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:130,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:135,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:136,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:141,1
    - Dst: UnregisterAll
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: alloc_count
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:149,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:151,1
    - Dst: alloc_count
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - std::vector::push_back
    - EXPECT_EQ
    - Register
    - GetSizes
    - EXPECT_THAT
    - IsEmpty
    - UnorderedElementsAre
    - UnregisterAll
    - alloc_count
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Unregistration)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:161,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:166,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:167,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:168,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:168,1
    - Dst: std::uniform_int_distribution<>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:170,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:172,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:172,1
    - Dst: std::uniform_int_distribution<>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:176,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:176,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:178,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:179,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:180,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:184,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:185,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:186,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:187,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:189,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:189,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:201,1
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:201,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:202,1
    - Dst: SampleRecorder::UnregisterAll
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:202,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:203,1
    - Dst: SampleRecorder::Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:204,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:205,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:210,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:211,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ThreadManager::Start
    - std::vector::back
    - absl::Notification::Notify
    - Register
    - absl::Now
    - absl::Notification::HasBeenNotified
    - SampleRecorder::Iterate
    - std::uniform_int_distribution<>
    - Unregister
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::max
    - std::vector::pop_back
    - SampleRecorder::UnregisterAll
    - ASSERT_TRUE
    - Iterate
    - std::vector::empty
    - std::vector::push_back
    - absl::SleepFor
    - std::vector::size
    - ASSERT_GE
    - SampleRecorder::Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, MultiThreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:216,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:228,1
    - Dst: SetDisposeCallback
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:228,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:233,1
    - Dst: SetDisposeCallback
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:233,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 236
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - EXPECT_EQ
    - SetDisposeCallback
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::InfoWithParam
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InfoWithParam()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::InfoWithParam
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    linkageType: ''
    returnType: void
    signature: void InfoWithParam(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InfoWithParam::InfoWithParam
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::InfoAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - InfoWithParam::InfoWithParam
    linkageType: ''
    returnType: InfoWithParam
    signature: InfoWithParam * New(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - infoWithParam
    argTypes:
    - InfoWithParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::InfoAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(InfoWithParam* infoWithParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:263,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:264,1
    - Dst: SampleRecorder::Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:268,1
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:272,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - SampleRecorder::Unregister
    - EXPECT_TRUE
    - SampleRecorder::Register
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(SampleRecorderWithParamTest, RegisterWithParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::Info
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    linkageType: ''
    returnType: void
    signature: void Info()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:55,1
    - Dst: Info::Info
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    - Info::Info
    linkageType: ''
    returnType: Info
    signature: Info * New()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - Info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - fetch_sub
    linkageType: ''
    returnType: void
    signature: void Delete(Info* info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::alloc_count
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t alloc_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::SampleRecorderTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampleRecorderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:75,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:76,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:77,1
    - Dst: size::load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::GetSizes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - Iterate
    - size::load
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> GetSizes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:83,1
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:84,1
    - Dst: auto*::size::store
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts:
    - condition: (info != nullptr)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    - assert
    - auto*::size::store
    linkageType: ''
    returnType: Info
    signature: Info * Register(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:97,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:99,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Unregister
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, PrepareForSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: auto*::size::store
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:115,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - Register
    - GetSizes
    - EXPECT_THAT
    - UnorderedElementsAre
    - auto*::size::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Registration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:122,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:129,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:129,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:130,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:135,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:136,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:141,1
    - Dst: UnregisterAll
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: alloc_count
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:149,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:151,1
    - Dst: alloc_count
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - std::vector::push_back
    - EXPECT_EQ
    - Register
    - GetSizes
    - EXPECT_THAT
    - IsEmpty
    - UnorderedElementsAre
    - UnregisterAll
    - alloc_count
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Unregistration)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:161,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:166,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:167,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:168,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:168,1
    - Dst: std::uniform_int_distribution<>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:170,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:172,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:172,1
    - Dst: std::uniform_int_distribution<>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:176,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:176,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:178,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:179,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:180,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:184,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:185,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:186,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:187,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:189,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:189,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:201,1
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:201,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:202,1
    - Dst: SampleRecorder::UnregisterAll
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:202,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:203,1
    - Dst: SampleRecorder::Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:204,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:205,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:210,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:211,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ThreadManager::Start
    - std::vector::back
    - absl::Notification::Notify
    - Register
    - absl::Now
    - absl::Notification::HasBeenNotified
    - SampleRecorder::Iterate
    - std::uniform_int_distribution<>
    - Unregister
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::max
    - std::vector::pop_back
    - SampleRecorder::UnregisterAll
    - ASSERT_TRUE
    - Iterate
    - std::vector::empty
    - std::vector::push_back
    - absl::SleepFor
    - std::vector::size
    - ASSERT_GE
    - SampleRecorder::Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, MultiThreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:216,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:228,1
    - Dst: SetDisposeCallback
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:228,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:233,1
    - Dst: SetDisposeCallback
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:233,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 236
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - EXPECT_EQ
    - SetDisposeCallback
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::InfoWithParam
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InfoWithParam()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::InfoWithParam
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    linkageType: ''
    returnType: void
    signature: void InfoWithParam(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InfoWithParam::InfoWithParam
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::InfoAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - InfoWithParam::InfoWithParam
    linkageType: ''
    returnType: InfoWithParam
    signature: InfoWithParam * New(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - infoWithParam
    argTypes:
    - InfoWithParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::InfoAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(InfoWithParam* infoWithParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:263,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:264,1
    - Dst: SampleRecorder::Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:268,1
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:272,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - SampleRecorder::Unregister
    - EXPECT_TRUE
    - SampleRecorder::Register
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(SampleRecorderWithParamTest, RegisterWithParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::Info
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    linkageType: ''
    returnType: void
    signature: void Info()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:55,1
    - Dst: Info::Info
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    - Info::Info
    linkageType: ''
    returnType: Info
    signature: Info * New()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - Info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - fetch_sub
    linkageType: ''
    returnType: void
    signature: void Delete(Info* info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::alloc_count
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t alloc_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::SampleRecorderTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampleRecorderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:75,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:76,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:77,1
    - Dst: size::load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::GetSizes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - Iterate
    - size::load
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> GetSizes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:83,1
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:84,1
    - Dst: auto*::size::store
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts:
    - condition: (info != nullptr)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    - assert
    - auto*::size::store
    linkageType: ''
    returnType: Info
    signature: Info * Register(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:97,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:99,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Unregister
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, PrepareForSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: auto*::size::store
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:115,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - Register
    - GetSizes
    - EXPECT_THAT
    - UnorderedElementsAre
    - auto*::size::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Registration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:122,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:129,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:129,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:130,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:135,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:136,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:141,1
    - Dst: UnregisterAll
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: alloc_count
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:149,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:151,1
    - Dst: alloc_count
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - std::vector::push_back
    - EXPECT_EQ
    - Register
    - GetSizes
    - EXPECT_THAT
    - IsEmpty
    - UnorderedElementsAre
    - UnregisterAll
    - alloc_count
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Unregistration)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:161,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:166,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:167,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:168,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:168,1
    - Dst: std::uniform_int_distribution<>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:170,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:172,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:172,1
    - Dst: std::uniform_int_distribution<>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:176,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:176,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:178,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:179,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:180,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:184,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:185,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:186,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:187,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:189,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:189,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:201,1
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:201,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:202,1
    - Dst: SampleRecorder::UnregisterAll
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:202,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:203,1
    - Dst: SampleRecorder::Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:204,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:205,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:210,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:211,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ThreadManager::Start
    - std::vector::back
    - absl::Notification::Notify
    - Register
    - absl::Now
    - absl::Notification::HasBeenNotified
    - SampleRecorder::Iterate
    - std::uniform_int_distribution<>
    - Unregister
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::max
    - std::vector::pop_back
    - SampleRecorder::UnregisterAll
    - ASSERT_TRUE
    - Iterate
    - std::vector::empty
    - std::vector::push_back
    - absl::SleepFor
    - std::vector::size
    - ASSERT_GE
    - SampleRecorder::Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, MultiThreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:216,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:228,1
    - Dst: SetDisposeCallback
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:228,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:233,1
    - Dst: SetDisposeCallback
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:233,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 236
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - EXPECT_EQ
    - SetDisposeCallback
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::InfoWithParam
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InfoWithParam()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::InfoWithParam
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    linkageType: ''
    returnType: void
    signature: void InfoWithParam(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InfoWithParam::InfoWithParam
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::InfoAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - InfoWithParam::InfoWithParam
    linkageType: ''
    returnType: InfoWithParam
    signature: InfoWithParam * New(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - infoWithParam
    argTypes:
    - InfoWithParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::InfoAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(InfoWithParam* infoWithParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:263,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:264,1
    - Dst: SampleRecorder::Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:268,1
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:272,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - SampleRecorder::Unregister
    - EXPECT_TRUE
    - SampleRecorder::Register
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(SampleRecorderWithParamTest, RegisterWithParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::Info
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    linkageType: ''
    returnType: void
    signature: void Info()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:55,1
    - Dst: Info::Info
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    - Info::Info
    linkageType: ''
    returnType: Info
    signature: Info * New()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - Info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - fetch_sub
    linkageType: ''
    returnType: void
    signature: void Delete(Info* info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::alloc_count
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t alloc_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::SampleRecorderTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampleRecorderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:75,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:76,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:77,1
    - Dst: size::load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::GetSizes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - Iterate
    - size::load
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> GetSizes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:83,1
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:84,1
    - Dst: auto*::size::store
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts:
    - condition: (info != nullptr)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    - assert
    - auto*::size::store
    linkageType: ''
    returnType: Info
    signature: Info * Register(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:97,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:99,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Unregister
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, PrepareForSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: auto*::size::store
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:115,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - Register
    - GetSizes
    - EXPECT_THAT
    - UnorderedElementsAre
    - auto*::size::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Registration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:122,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:129,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:129,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:130,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:135,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:136,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:141,1
    - Dst: UnregisterAll
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: alloc_count
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:149,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:151,1
    - Dst: alloc_count
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - std::vector::push_back
    - EXPECT_EQ
    - Register
    - GetSizes
    - EXPECT_THAT
    - IsEmpty
    - UnorderedElementsAre
    - UnregisterAll
    - alloc_count
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Unregistration)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:161,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:166,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:167,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:168,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:168,1
    - Dst: std::uniform_int_distribution<>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:170,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:172,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:172,1
    - Dst: std::uniform_int_distribution<>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:176,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:176,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:178,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:179,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:180,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:184,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:185,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:186,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:187,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:189,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:189,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:201,1
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:201,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:202,1
    - Dst: SampleRecorder::UnregisterAll
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:202,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:203,1
    - Dst: SampleRecorder::Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:204,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:205,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:210,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:211,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ThreadManager::Start
    - std::vector::back
    - absl::Notification::Notify
    - Register
    - absl::Now
    - absl::Notification::HasBeenNotified
    - SampleRecorder::Iterate
    - std::uniform_int_distribution<>
    - Unregister
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::max
    - std::vector::pop_back
    - SampleRecorder::UnregisterAll
    - ASSERT_TRUE
    - Iterate
    - std::vector::empty
    - std::vector::push_back
    - absl::SleepFor
    - std::vector::size
    - ASSERT_GE
    - SampleRecorder::Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, MultiThreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:216,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:228,1
    - Dst: SetDisposeCallback
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:228,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:233,1
    - Dst: SetDisposeCallback
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:233,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 236
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - EXPECT_EQ
    - SetDisposeCallback
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::InfoWithParam
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InfoWithParam()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::InfoWithParam
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    linkageType: ''
    returnType: void
    signature: void InfoWithParam(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InfoWithParam::InfoWithParam
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::InfoAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - InfoWithParam::InfoWithParam
    linkageType: ''
    returnType: InfoWithParam
    signature: InfoWithParam * New(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - infoWithParam
    argTypes:
    - InfoWithParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::InfoAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(InfoWithParam* infoWithParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:263,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:264,1
    - Dst: SampleRecorder::Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:268,1
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:272,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - SampleRecorder::Unregister
    - EXPECT_TRUE
    - SampleRecorder::Register
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(SampleRecorderWithParamTest, RegisterWithParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::Info
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    linkageType: ''
    returnType: void
    signature: void Info()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:55,1
    - Dst: Info::Info
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    - Info::Info
    linkageType: ''
    returnType: Info
    signature: Info * New()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - Info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - fetch_sub
    linkageType: ''
    returnType: void
    signature: void Delete(Info* info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::alloc_count
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t alloc_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::SampleRecorderTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampleRecorderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:75,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:76,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:77,1
    - Dst: size::load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::GetSizes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - Iterate
    - size::load
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> GetSizes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:83,1
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:84,1
    - Dst: auto*::size::store
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts:
    - condition: (info != nullptr)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    - assert
    - auto*::size::store
    linkageType: ''
    returnType: Info
    signature: Info * Register(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:97,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:99,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Unregister
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, PrepareForSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: auto*::size::store
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:115,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - Register
    - GetSizes
    - EXPECT_THAT
    - UnorderedElementsAre
    - auto*::size::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Registration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:122,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:129,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:129,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:130,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:135,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:136,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:141,1
    - Dst: UnregisterAll
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: alloc_count
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:149,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:151,1
    - Dst: alloc_count
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - std::vector::push_back
    - EXPECT_EQ
    - Register
    - GetSizes
    - EXPECT_THAT
    - IsEmpty
    - UnorderedElementsAre
    - UnregisterAll
    - alloc_count
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Unregistration)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:161,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:166,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:167,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:168,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:168,1
    - Dst: std::uniform_int_distribution<>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:170,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:172,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:172,1
    - Dst: std::uniform_int_distribution<>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:176,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:176,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:178,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:179,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:180,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:184,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:185,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:186,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:187,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:189,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:189,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:201,1
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:201,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:202,1
    - Dst: SampleRecorder::UnregisterAll
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:202,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:203,1
    - Dst: SampleRecorder::Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:204,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:205,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:210,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:211,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ThreadManager::Start
    - std::vector::back
    - absl::Notification::Notify
    - Register
    - absl::Now
    - absl::Notification::HasBeenNotified
    - SampleRecorder::Iterate
    - std::uniform_int_distribution<>
    - Unregister
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::max
    - std::vector::pop_back
    - SampleRecorder::UnregisterAll
    - ASSERT_TRUE
    - Iterate
    - std::vector::empty
    - std::vector::push_back
    - absl::SleepFor
    - std::vector::size
    - ASSERT_GE
    - SampleRecorder::Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, MultiThreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:216,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:228,1
    - Dst: SetDisposeCallback
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:228,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:233,1
    - Dst: SetDisposeCallback
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:233,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 236
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - EXPECT_EQ
    - SetDisposeCallback
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::InfoWithParam
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InfoWithParam()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::InfoWithParam
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    linkageType: ''
    returnType: void
    signature: void InfoWithParam(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InfoWithParam::InfoWithParam
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::InfoAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - InfoWithParam::InfoWithParam
    linkageType: ''
    returnType: InfoWithParam
    signature: InfoWithParam * New(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - infoWithParam
    argTypes:
    - InfoWithParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::InfoAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(InfoWithParam* infoWithParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:263,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:264,1
    - Dst: SampleRecorder::Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:268,1
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:272,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - SampleRecorder::Unregister
    - EXPECT_TRUE
    - SampleRecorder::Register
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(SampleRecorderWithParamTest, RegisterWithParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::Info
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    linkageType: ''
    returnType: void
    signature: void Info()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:55,1
    - Dst: Info::Info
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    - Info::Info
    linkageType: ''
    returnType: Info
    signature: Info * New()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - Info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - fetch_sub
    linkageType: ''
    returnType: void
    signature: void Delete(Info* info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::alloc_count
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t alloc_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::SampleRecorderTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampleRecorderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:75,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:76,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:77,1
    - Dst: size::load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::GetSizes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - Iterate
    - size::load
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> GetSizes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:83,1
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:84,1
    - Dst: auto*::size::store
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts:
    - condition: (info != nullptr)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    - assert
    - auto*::size::store
    linkageType: ''
    returnType: Info
    signature: Info * Register(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:97,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:99,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Unregister
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, PrepareForSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: auto*::size::store
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:115,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - Register
    - GetSizes
    - EXPECT_THAT
    - UnorderedElementsAre
    - auto*::size::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Registration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:122,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:129,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:129,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:130,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:135,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:136,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:141,1
    - Dst: UnregisterAll
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: alloc_count
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:149,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:151,1
    - Dst: alloc_count
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - std::vector::push_back
    - EXPECT_EQ
    - Register
    - GetSizes
    - EXPECT_THAT
    - IsEmpty
    - UnorderedElementsAre
    - UnregisterAll
    - alloc_count
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Unregistration)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:161,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:166,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:167,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:168,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:168,1
    - Dst: std::uniform_int_distribution<>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:170,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:172,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:172,1
    - Dst: std::uniform_int_distribution<>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:176,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:176,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:178,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:179,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:180,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:184,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:185,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:186,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:187,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:189,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:189,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:201,1
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:201,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:202,1
    - Dst: SampleRecorder::UnregisterAll
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:202,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:203,1
    - Dst: SampleRecorder::Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:204,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:205,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:210,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:211,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ThreadManager::Start
    - std::vector::back
    - absl::Notification::Notify
    - Register
    - absl::Now
    - absl::Notification::HasBeenNotified
    - SampleRecorder::Iterate
    - std::uniform_int_distribution<>
    - Unregister
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::max
    - std::vector::pop_back
    - SampleRecorder::UnregisterAll
    - ASSERT_TRUE
    - Iterate
    - std::vector::empty
    - std::vector::push_back
    - absl::SleepFor
    - std::vector::size
    - ASSERT_GE
    - SampleRecorder::Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, MultiThreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:216,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:228,1
    - Dst: SetDisposeCallback
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:228,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:233,1
    - Dst: SetDisposeCallback
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:233,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 236
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - EXPECT_EQ
    - SetDisposeCallback
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::InfoWithParam
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InfoWithParam()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::InfoWithParam
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    linkageType: ''
    returnType: void
    signature: void InfoWithParam(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InfoWithParam::InfoWithParam
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::InfoAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - InfoWithParam::InfoWithParam
    linkageType: ''
    returnType: InfoWithParam
    signature: InfoWithParam * New(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - infoWithParam
    argTypes:
    - InfoWithParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::InfoAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(InfoWithParam* infoWithParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:263,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:264,1
    - Dst: SampleRecorder::Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:268,1
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:272,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - SampleRecorder::Unregister
    - EXPECT_TRUE
    - SampleRecorder::Register
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(SampleRecorderWithParamTest, RegisterWithParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::Info
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    linkageType: ''
    returnType: void
    signature: void Info()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:55,1
    - Dst: Info::Info
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    - Info::Info
    linkageType: ''
    returnType: Info
    signature: Info * New()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - Info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - fetch_sub
    linkageType: ''
    returnType: void
    signature: void Delete(Info* info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TestAllocator::alloc_count
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t alloc_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::SampleRecorderTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampleRecorderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:75,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:76,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:77,1
    - Dst: size::load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::GetSizes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - Iterate
    - size::load
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> GetSizes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:83,1
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:84,1
    - Dst: auto*::size::store
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts:
    - condition: (info != nullptr)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    - assert
    - auto*::size::store
    linkageType: ''
    returnType: Info
    signature: Info * Register(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:97,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:99,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:101,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Unregister
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, PrepareForSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:108,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:111,1
    - Dst: auto*::size::store
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:113,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:115,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - Register
    - GetSizes
    - EXPECT_THAT
    - UnorderedElementsAre
    - auto*::size::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Registration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:122,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:124,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:127,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:129,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:129,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:130,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:131,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:133,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:135,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:136,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:138,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:141,1
    - Dst: UnregisterAll
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: GetSizes
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:145,1
    - Dst: alloc_count
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:149,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:151,1
    - Dst: alloc_count
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - std::vector::push_back
    - EXPECT_EQ
    - Register
    - GetSizes
    - EXPECT_THAT
    - IsEmpty
    - UnorderedElementsAre
    - UnregisterAll
    - alloc_count
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Unregistration)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:161,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:166,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:167,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:168,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:168,1
    - Dst: std::uniform_int_distribution<>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:170,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:172,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:172,1
    - Dst: std::uniform_int_distribution<>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:176,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:176,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:178,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:179,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:180,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:184,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:185,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:186,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:187,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:189,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:189,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:201,1
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:201,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:202,1
    - Dst: SampleRecorder::UnregisterAll
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:202,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:203,1
    - Dst: SampleRecorder::Iterate
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:204,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:205,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:210,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:211,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - ThreadManager::Start
    - std::vector::back
    - absl::Notification::Notify
    - Register
    - absl::Now
    - absl::Notification::HasBeenNotified
    - SampleRecorder::Iterate
    - std::uniform_int_distribution<>
    - Unregister
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::max
    - std::vector::pop_back
    - SampleRecorder::UnregisterAll
    - ASSERT_TRUE
    - Iterate
    - std::vector::empty
    - std::vector::push_back
    - absl::SleepFor
    - std::vector::size
    - ASSERT_GE
    - SampleRecorder::Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, MultiThreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:216,1
    - Dst: Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:228,1
    - Dst: SetDisposeCallback
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:228,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:233,1
    - Dst: SetDisposeCallback
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:233,1
    - Dst: Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 236
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - Unregister
    - EXPECT_EQ
    - SetDisposeCallback
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampleRecorderTest, Callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::InfoWithParam
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InfoWithParam()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::InfoWithParam
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    linkageType: ''
    returnType: void
    signature: void InfoWithParam(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InfoWithParam::InfoWithParam
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::InfoAllocator::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - InfoWithParam::InfoWithParam
    linkageType: ''
    returnType: InfoWithParam
    signature: InfoWithParam * New(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - infoWithParam
    argTypes:
    - InfoWithParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::InfoAllocator::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(InfoWithParam* infoWithParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:263,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:264,1
    - Dst: SampleRecorder::Unregister
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:268,1
    - Dst: SampleRecorder::Register
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:272,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    functionUses: 0
    functionsReached:
    - SampleRecorder::Unregister
    - EXPECT_TRUE
    - SampleRecorder::Register
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(SampleRecorderWithParamTest, RegisterWithParam)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:69,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:78,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:83,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:94,1
    - Dst: TestSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:102,1
    - Dst: UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:109,1
    - Dst: UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:110,1
    - Dst: UserVirtualCpuId
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:115,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:128,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:129,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:142,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:145,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:148,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:155,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:157,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:159,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:164,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:187,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:190,1
    - Dst: InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:191,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:197,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    - Dst: InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:225,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:226,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:230,1
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:247,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:259,1
    - Dst: NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:260,1
    - Dst: SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:266,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:271,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:308,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:309,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:316,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:317,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:323,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:342,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:362,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:370,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:375,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:383,1
    - Dst: FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:388,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:393,1
    - Dst: UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:394,1
    - Dst: FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 126
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 404
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - CompilerBarrier
    - TestSynchronize
    - CpuSet::Set
    - std::atomic_thread_fence
    - signal_safe_close
    - UserVirtualCpuId
    - CpuSet::GetAffinity
    - CpuSet::Zero
    - TC_CHECK_GE
    - NumCPUs
    - store
    - SetAffinityOneCpu
    - TC_CHECK_LE
    - SlowFence
    - absl::base_internal::LowLevelCallOnce
    - FenceInterruptCPU
    - InitThreadPerCpu
    - IsFast
    - ASSUME
    - UsingVirtualCpus
    - UsingRseqVirtualCpus
    - reinterpret_cast<uintptr_t>
    - NumCPUsMaybe
    - ABSL_PREDICT_TRUE
    - sched_getcpu
    - UpstreamRseqFenceCpu
    - load
    - CpuSet::SetAffinity
    - syscall
    - auto::has_value
    - tcmalloc_internal::max
    - TC_CHECK_EQ
    - FenceAllCpus
    - IsFastNoInit
    - GetRealCpuUnsafe
    - InitPerCpu
    - signal_safe_open
    - signal_safe_read
    - TC_BUG
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - TC_CHECK
    - TC_ASSERT_LT
    - NeedCpu
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:69,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:78,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - syscall
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    linkageType: ''
    returnType: bool
    signature: bool InitThreadPerCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UsingRseqVirtualCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::subtle::percpu::UserVirtualCpuId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: int
    signature: int UserVirtualCpuId()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TestSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:102,1
    - Dst: UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:109,1
    - Dst: UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:110,1
    - Dst: UserVirtualCpuId
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:115,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 9
    functionsReached:
    - TestSynchronize
    - TC_BUG
    - UsingVirtualCpus
    - UserVirtualCpuId
    - TC_CHECK_GE
    - UsingRseqVirtualCpus
    - NumCPUs
    - TC_ASSERT_LT
    - GetRealCpuUnsafe
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::Synchronize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:128,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:129,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:142,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:145,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:148,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:155,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:157,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:159,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::subtle::percpu::InitPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    - syscall
    - auto::has_value
    - tcmalloc_internal::max
    - TC_CHECK_EQ
    - NumCPUsMaybe
    - reinterpret_cast<uintptr_t>
    - store
    - TC_CHECK_LE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void InitPerCpu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:187,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:190,1
    - Dst: tcmalloc_internal::subtle::percpu::InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:191,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:197,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::subtle::percpu::InitFastPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    - load
    - tcmalloc_internal::subtle::percpu::InitPerCpu
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: bool
    signature: bool InitFastPerCpu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:225,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:226,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - CpuSet::Set
    - CpuSet::Zero
    - CpuSet::SetAffinity
    linkageType: ''
    returnType: bool
    signature: bool SetAffinityOneCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - target
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::subtle::percpu::NeedCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NeedCpu(const int cpu, const int target)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:247,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:259,1
    - Dst: tcmalloc_internal::subtle::percpu::NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:260,1
    - Dst: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:266,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:271,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:308,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:309,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:316,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:317,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:323,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 329
    functionName: tcmalloc_internal::subtle::percpu::SlowFence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - CpuSet::Set
    - tcmalloc_internal::subtle::percpu::NeedCpu
    - std::atomic_thread_fence
    - signal_safe_close
    - CpuSet::SetAffinity
    - signal_safe_read
    - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    - CpuSet::GetAffinity
    - TC_CHECK_EQ
    - CpuSet::Zero
    - NumCPUs
    - TC_CHECK_GE
    - TC_CHECK
    - sched_getcpu
    linkageType: ''
    returnType: void
    signature: void SlowFence(int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - syscall
    - load
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void UpstreamRseqFenceCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: tcmalloc_internal::subtle::percpu::SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::SlowFence
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void FenceInterruptCPU(int cpu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:362,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:370,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:375,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:383,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vcpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 358
    functionDepth: 4
    functionLinenumber: 358
    functionLinenumberEnd: 389
    functionName: tcmalloc_internal::subtle::percpu::FenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    - tcmalloc_internal::subtle::percpu::CompilerBarrier
    - load
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceAllCpus
    - ASSUME
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: void FenceCpu(int vcpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:393,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:394,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: tcmalloc_internal::subtle::percpu::FenceAllCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - load
    linkageType: ''
    returnType: void
    signature: void FenceAllCpus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:69,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:78,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 2
    functionsReached:
    - syscall
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    linkageType: ''
    returnType: bool
    signature: bool InitThreadPerCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UsingRseqVirtualCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::subtle::percpu::UserVirtualCpuId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: int
    signature: int UserVirtualCpuId()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TestSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:102,1
    - Dst: UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:109,1
    - Dst: UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:110,1
    - Dst: UserVirtualCpuId
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:115,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 10
    functionsReached:
    - TestSynchronize
    - TC_BUG
    - UsingVirtualCpus
    - UserVirtualCpuId
    - TC_CHECK_GE
    - UsingRseqVirtualCpus
    - NumCPUs
    - TC_ASSERT_LT
    - GetRealCpuUnsafe
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::Synchronize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:128,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:129,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:142,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:145,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:148,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:155,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:157,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:159,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::subtle::percpu::InitPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    - syscall
    - auto::has_value
    - tcmalloc_internal::max
    - TC_CHECK_EQ
    - NumCPUsMaybe
    - reinterpret_cast<uintptr_t>
    - store
    - TC_CHECK_LE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void InitPerCpu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:187,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:190,1
    - Dst: tcmalloc_internal::subtle::percpu::InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:191,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:197,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::subtle::percpu::InitFastPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    - load
    - tcmalloc_internal::subtle::percpu::InitPerCpu
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: bool
    signature: bool InitFastPerCpu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:225,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:226,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 1
    functionsReached:
    - TC_CHECK_EQ
    - CpuSet::Set
    - CpuSet::Zero
    - CpuSet::SetAffinity
    linkageType: ''
    returnType: bool
    signature: bool SetAffinityOneCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - target
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::subtle::percpu::NeedCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NeedCpu(const int cpu, const int target)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:247,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:259,1
    - Dst: tcmalloc_internal::subtle::percpu::NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:260,1
    - Dst: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:266,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:271,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:308,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:309,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:316,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:317,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:323,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 329
    functionName: tcmalloc_internal::subtle::percpu::SlowFence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 1
    functionsReached:
    - signal_safe_open
    - CpuSet::Set
    - tcmalloc_internal::subtle::percpu::NeedCpu
    - std::atomic_thread_fence
    - signal_safe_close
    - CpuSet::SetAffinity
    - signal_safe_read
    - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    - CpuSet::GetAffinity
    - TC_CHECK_EQ
    - CpuSet::Zero
    - NumCPUs
    - TC_CHECK_GE
    - TC_CHECK
    - sched_getcpu
    linkageType: ''
    returnType: void
    signature: void SlowFence(int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 2
    functionsReached:
    - syscall
    - load
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void UpstreamRseqFenceCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: tcmalloc_internal::subtle::percpu::SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 2
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::SlowFence
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void FenceInterruptCPU(int cpu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:362,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:370,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:375,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:383,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vcpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 389
    functionName: tcmalloc_internal::subtle::percpu::FenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    - tcmalloc_internal::subtle::percpu::CompilerBarrier
    - load
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceAllCpus
    - ASSUME
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: void FenceCpu(int vcpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:393,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:394,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: tcmalloc_internal::subtle::percpu::FenceAllCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - load
    linkageType: ''
    returnType: void
    signature: void FenceAllCpus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:69,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:78,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 4
    functionsReached:
    - syscall
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    linkageType: ''
    returnType: bool
    signature: bool InitThreadPerCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UsingRseqVirtualCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::subtle::percpu::UserVirtualCpuId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: int
    signature: int UserVirtualCpuId()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TestSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:102,1
    - Dst: UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:109,1
    - Dst: UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:110,1
    - Dst: UserVirtualCpuId
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:115,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 11
    functionsReached:
    - TestSynchronize
    - TC_BUG
    - UsingVirtualCpus
    - UserVirtualCpuId
    - TC_CHECK_GE
    - UsingRseqVirtualCpus
    - NumCPUs
    - TC_ASSERT_LT
    - GetRealCpuUnsafe
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::Synchronize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:128,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:129,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:142,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:145,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:148,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:155,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:157,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:159,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::subtle::percpu::InitPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    - syscall
    - auto::has_value
    - tcmalloc_internal::max
    - TC_CHECK_EQ
    - NumCPUsMaybe
    - reinterpret_cast<uintptr_t>
    - store
    - TC_CHECK_LE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void InitPerCpu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:187,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:190,1
    - Dst: tcmalloc_internal::subtle::percpu::InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:191,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:197,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::subtle::percpu::InitFastPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    - load
    - tcmalloc_internal::subtle::percpu::InitPerCpu
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: bool
    signature: bool InitFastPerCpu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:225,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:226,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 2
    functionsReached:
    - TC_CHECK_EQ
    - CpuSet::Set
    - CpuSet::Zero
    - CpuSet::SetAffinity
    linkageType: ''
    returnType: bool
    signature: bool SetAffinityOneCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - target
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::subtle::percpu::NeedCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NeedCpu(const int cpu, const int target)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:247,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:259,1
    - Dst: tcmalloc_internal::subtle::percpu::NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:260,1
    - Dst: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:266,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:271,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:308,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:309,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:316,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:317,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:323,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 329
    functionName: tcmalloc_internal::subtle::percpu::SlowFence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 2
    functionsReached:
    - signal_safe_open
    - CpuSet::Set
    - tcmalloc_internal::subtle::percpu::NeedCpu
    - std::atomic_thread_fence
    - signal_safe_close
    - CpuSet::SetAffinity
    - signal_safe_read
    - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    - CpuSet::GetAffinity
    - TC_CHECK_EQ
    - CpuSet::Zero
    - NumCPUs
    - TC_CHECK_GE
    - TC_CHECK
    - sched_getcpu
    linkageType: ''
    returnType: void
    signature: void SlowFence(int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 4
    functionsReached:
    - syscall
    - load
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void UpstreamRseqFenceCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: tcmalloc_internal::subtle::percpu::SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 4
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::SlowFence
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void FenceInterruptCPU(int cpu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:362,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:370,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:375,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:383,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vcpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 389
    functionName: tcmalloc_internal::subtle::percpu::FenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    - tcmalloc_internal::subtle::percpu::CompilerBarrier
    - load
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceAllCpus
    - ASSUME
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: void FenceCpu(int vcpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:393,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:394,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: tcmalloc_internal::subtle::percpu::FenceAllCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - load
    linkageType: ''
    returnType: void
    signature: void FenceAllCpus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:69,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:78,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 6
    functionsReached:
    - syscall
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    linkageType: ''
    returnType: bool
    signature: bool InitThreadPerCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UsingRseqVirtualCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::subtle::percpu::UserVirtualCpuId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: int
    signature: int UserVirtualCpuId()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TestSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:102,1
    - Dst: UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:109,1
    - Dst: UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:110,1
    - Dst: UserVirtualCpuId
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:115,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 12
    functionsReached:
    - TestSynchronize
    - TC_BUG
    - UsingVirtualCpus
    - UserVirtualCpuId
    - TC_CHECK_GE
    - UsingRseqVirtualCpus
    - NumCPUs
    - TC_ASSERT_LT
    - GetRealCpuUnsafe
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::Synchronize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:128,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:129,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:142,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:145,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:148,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:155,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:157,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:159,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::subtle::percpu::InitPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    - syscall
    - auto::has_value
    - tcmalloc_internal::max
    - TC_CHECK_EQ
    - NumCPUsMaybe
    - reinterpret_cast<uintptr_t>
    - store
    - TC_CHECK_LE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void InitPerCpu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:187,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:190,1
    - Dst: tcmalloc_internal::subtle::percpu::InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:191,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:197,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::subtle::percpu::InitFastPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    - load
    - tcmalloc_internal::subtle::percpu::InitPerCpu
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: bool
    signature: bool InitFastPerCpu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:225,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:226,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 3
    functionsReached:
    - TC_CHECK_EQ
    - CpuSet::Set
    - CpuSet::Zero
    - CpuSet::SetAffinity
    linkageType: ''
    returnType: bool
    signature: bool SetAffinityOneCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - target
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::subtle::percpu::NeedCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NeedCpu(const int cpu, const int target)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:247,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:259,1
    - Dst: tcmalloc_internal::subtle::percpu::NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:260,1
    - Dst: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:266,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:271,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:308,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:309,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:316,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:317,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:323,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 329
    functionName: tcmalloc_internal::subtle::percpu::SlowFence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 3
    functionsReached:
    - signal_safe_open
    - CpuSet::Set
    - tcmalloc_internal::subtle::percpu::NeedCpu
    - std::atomic_thread_fence
    - signal_safe_close
    - CpuSet::SetAffinity
    - signal_safe_read
    - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    - CpuSet::GetAffinity
    - TC_CHECK_EQ
    - CpuSet::Zero
    - NumCPUs
    - TC_CHECK_GE
    - TC_CHECK
    - sched_getcpu
    linkageType: ''
    returnType: void
    signature: void SlowFence(int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 6
    functionsReached:
    - syscall
    - load
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void UpstreamRseqFenceCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: tcmalloc_internal::subtle::percpu::SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 6
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::SlowFence
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void FenceInterruptCPU(int cpu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:362,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:370,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:375,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:383,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vcpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 389
    functionName: tcmalloc_internal::subtle::percpu::FenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    - tcmalloc_internal::subtle::percpu::CompilerBarrier
    - load
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceAllCpus
    - ASSUME
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: void FenceCpu(int vcpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:393,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:394,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: tcmalloc_internal::subtle::percpu::FenceAllCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - load
    linkageType: ''
    returnType: void
    signature: void FenceAllCpus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:69,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:78,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - syscall
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    linkageType: ''
    returnType: bool
    signature: bool InitThreadPerCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UsingRseqVirtualCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::subtle::percpu::UserVirtualCpuId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: int
    signature: int UserVirtualCpuId()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TestSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:102,1
    - Dst: UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:109,1
    - Dst: UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:110,1
    - Dst: UserVirtualCpuId
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:115,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 13
    functionsReached:
    - TestSynchronize
    - TC_BUG
    - UsingVirtualCpus
    - UserVirtualCpuId
    - TC_CHECK_GE
    - UsingRseqVirtualCpus
    - NumCPUs
    - TC_ASSERT_LT
    - GetRealCpuUnsafe
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::Synchronize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:128,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:129,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:142,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:145,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:148,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:155,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:157,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:159,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::subtle::percpu::InitPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    - syscall
    - auto::has_value
    - tcmalloc_internal::max
    - TC_CHECK_EQ
    - NumCPUsMaybe
    - reinterpret_cast<uintptr_t>
    - store
    - TC_CHECK_LE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void InitPerCpu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:187,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:190,1
    - Dst: tcmalloc_internal::subtle::percpu::InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:191,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:197,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::subtle::percpu::InitFastPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    - load
    - tcmalloc_internal::subtle::percpu::InitPerCpu
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: bool
    signature: bool InitFastPerCpu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:225,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:226,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 4
    functionsReached:
    - TC_CHECK_EQ
    - CpuSet::Set
    - CpuSet::Zero
    - CpuSet::SetAffinity
    linkageType: ''
    returnType: bool
    signature: bool SetAffinityOneCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - target
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::subtle::percpu::NeedCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NeedCpu(const int cpu, const int target)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:247,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:259,1
    - Dst: tcmalloc_internal::subtle::percpu::NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:260,1
    - Dst: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:266,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:271,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:308,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:309,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:316,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:317,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:323,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 329
    functionName: tcmalloc_internal::subtle::percpu::SlowFence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 4
    functionsReached:
    - signal_safe_open
    - CpuSet::Set
    - tcmalloc_internal::subtle::percpu::NeedCpu
    - std::atomic_thread_fence
    - signal_safe_close
    - CpuSet::SetAffinity
    - signal_safe_read
    - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    - CpuSet::GetAffinity
    - TC_CHECK_EQ
    - CpuSet::Zero
    - NumCPUs
    - TC_CHECK_GE
    - TC_CHECK
    - sched_getcpu
    linkageType: ''
    returnType: void
    signature: void SlowFence(int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - syscall
    - load
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void UpstreamRseqFenceCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: tcmalloc_internal::subtle::percpu::SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::SlowFence
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void FenceInterruptCPU(int cpu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:362,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:370,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:375,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:383,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vcpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 389
    functionName: tcmalloc_internal::subtle::percpu::FenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    - tcmalloc_internal::subtle::percpu::CompilerBarrier
    - load
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceAllCpus
    - ASSUME
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: void FenceCpu(int vcpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:393,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:394,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: tcmalloc_internal::subtle::percpu::FenceAllCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - load
    linkageType: ''
    returnType: void
    signature: void FenceAllCpus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:69,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:78,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 10
    functionsReached:
    - syscall
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    linkageType: ''
    returnType: bool
    signature: bool InitThreadPerCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UsingRseqVirtualCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::subtle::percpu::UserVirtualCpuId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: int
    signature: int UserVirtualCpuId()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TestSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:102,1
    - Dst: UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:109,1
    - Dst: UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:110,1
    - Dst: UserVirtualCpuId
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:115,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 14
    functionsReached:
    - TestSynchronize
    - TC_BUG
    - UsingVirtualCpus
    - UserVirtualCpuId
    - TC_CHECK_GE
    - UsingRseqVirtualCpus
    - NumCPUs
    - TC_ASSERT_LT
    - GetRealCpuUnsafe
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::Synchronize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:128,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:129,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:142,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:145,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:148,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:155,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:157,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:159,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::subtle::percpu::InitPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    - syscall
    - auto::has_value
    - tcmalloc_internal::max
    - TC_CHECK_EQ
    - NumCPUsMaybe
    - reinterpret_cast<uintptr_t>
    - store
    - TC_CHECK_LE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void InitPerCpu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:187,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:190,1
    - Dst: tcmalloc_internal::subtle::percpu::InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:191,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:197,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::subtle::percpu::InitFastPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    - load
    - tcmalloc_internal::subtle::percpu::InitPerCpu
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: bool
    signature: bool InitFastPerCpu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:225,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:226,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 5
    functionsReached:
    - TC_CHECK_EQ
    - CpuSet::Set
    - CpuSet::Zero
    - CpuSet::SetAffinity
    linkageType: ''
    returnType: bool
    signature: bool SetAffinityOneCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - target
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::subtle::percpu::NeedCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NeedCpu(const int cpu, const int target)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:247,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:259,1
    - Dst: tcmalloc_internal::subtle::percpu::NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:260,1
    - Dst: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:266,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:271,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:308,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:309,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:316,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:317,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:323,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 329
    functionName: tcmalloc_internal::subtle::percpu::SlowFence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 5
    functionsReached:
    - signal_safe_open
    - CpuSet::Set
    - tcmalloc_internal::subtle::percpu::NeedCpu
    - std::atomic_thread_fence
    - signal_safe_close
    - CpuSet::SetAffinity
    - signal_safe_read
    - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    - CpuSet::GetAffinity
    - TC_CHECK_EQ
    - CpuSet::Zero
    - NumCPUs
    - TC_CHECK_GE
    - TC_CHECK
    - sched_getcpu
    linkageType: ''
    returnType: void
    signature: void SlowFence(int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 10
    functionsReached:
    - syscall
    - load
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void UpstreamRseqFenceCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: tcmalloc_internal::subtle::percpu::SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 10
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::SlowFence
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void FenceInterruptCPU(int cpu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:362,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:370,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:375,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:383,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vcpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 389
    functionName: tcmalloc_internal::subtle::percpu::FenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    - tcmalloc_internal::subtle::percpu::CompilerBarrier
    - load
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceAllCpus
    - ASSUME
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: void FenceCpu(int vcpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:393,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:394,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: tcmalloc_internal::subtle::percpu::FenceAllCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - load
    linkageType: ''
    returnType: void
    signature: void FenceAllCpus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:69,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:78,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 12
    functionsReached:
    - syscall
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    linkageType: ''
    returnType: bool
    signature: bool InitThreadPerCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UsingRseqVirtualCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::subtle::percpu::UserVirtualCpuId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: int
    signature: int UserVirtualCpuId()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TestSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:102,1
    - Dst: UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:109,1
    - Dst: UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:110,1
    - Dst: UserVirtualCpuId
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:115,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 15
    functionsReached:
    - TestSynchronize
    - TC_BUG
    - UsingVirtualCpus
    - UserVirtualCpuId
    - TC_CHECK_GE
    - UsingRseqVirtualCpus
    - NumCPUs
    - TC_ASSERT_LT
    - GetRealCpuUnsafe
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::Synchronize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:128,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:129,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:142,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:145,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:148,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:155,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:157,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:159,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::subtle::percpu::InitPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    - syscall
    - auto::has_value
    - tcmalloc_internal::max
    - TC_CHECK_EQ
    - NumCPUsMaybe
    - reinterpret_cast<uintptr_t>
    - store
    - TC_CHECK_LE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void InitPerCpu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:187,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:190,1
    - Dst: tcmalloc_internal::subtle::percpu::InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:191,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:197,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::subtle::percpu::InitFastPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    - load
    - tcmalloc_internal::subtle::percpu::InitPerCpu
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: bool
    signature: bool InitFastPerCpu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:225,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:226,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 6
    functionsReached:
    - TC_CHECK_EQ
    - CpuSet::Set
    - CpuSet::Zero
    - CpuSet::SetAffinity
    linkageType: ''
    returnType: bool
    signature: bool SetAffinityOneCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - target
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::subtle::percpu::NeedCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NeedCpu(const int cpu, const int target)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:247,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:259,1
    - Dst: tcmalloc_internal::subtle::percpu::NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:260,1
    - Dst: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:266,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:271,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:308,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:309,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:316,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:317,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:323,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 329
    functionName: tcmalloc_internal::subtle::percpu::SlowFence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 6
    functionsReached:
    - signal_safe_open
    - CpuSet::Set
    - tcmalloc_internal::subtle::percpu::NeedCpu
    - std::atomic_thread_fence
    - signal_safe_close
    - CpuSet::SetAffinity
    - signal_safe_read
    - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    - CpuSet::GetAffinity
    - TC_CHECK_EQ
    - CpuSet::Zero
    - NumCPUs
    - TC_CHECK_GE
    - TC_CHECK
    - sched_getcpu
    linkageType: ''
    returnType: void
    signature: void SlowFence(int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 12
    functionsReached:
    - syscall
    - load
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void UpstreamRseqFenceCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: tcmalloc_internal::subtle::percpu::SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 12
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::SlowFence
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void FenceInterruptCPU(int cpu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:362,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:370,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:375,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:383,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vcpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 389
    functionName: tcmalloc_internal::subtle::percpu::FenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    - tcmalloc_internal::subtle::percpu::CompilerBarrier
    - load
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceAllCpus
    - ASSUME
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: void FenceCpu(int vcpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:393,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:394,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: tcmalloc_internal::subtle::percpu::FenceAllCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 7
    functionsReached:
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - load
    linkageType: ''
    returnType: void
    signature: void FenceAllCpus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:69,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:78,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 14
    functionsReached:
    - syscall
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    linkageType: ''
    returnType: bool
    signature: bool InitThreadPerCpu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UsingRseqVirtualCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::subtle::percpu::UserVirtualCpuId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: int
    signature: int UserVirtualCpuId()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TestSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:102,1
    - Dst: UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:109,1
    - Dst: UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:110,1
    - Dst: UserVirtualCpuId
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:115,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:119,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 16
    functionsReached:
    - TestSynchronize
    - TC_BUG
    - UsingVirtualCpus
    - UserVirtualCpuId
    - TC_CHECK_GE
    - UsingRseqVirtualCpus
    - NumCPUs
    - TC_ASSERT_LT
    - GetRealCpuUnsafe
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::Synchronize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:128,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:129,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:142,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:145,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:148,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:151,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:155,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:157,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:159,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::subtle::percpu::InitPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 7
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    - syscall
    - auto::has_value
    - tcmalloc_internal::max
    - TC_CHECK_EQ
    - NumCPUsMaybe
    - reinterpret_cast<uintptr_t>
    - store
    - TC_CHECK_LE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void InitPerCpu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:187,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:190,1
    - Dst: tcmalloc_internal::subtle::percpu::InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:191,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:197,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 217
    functionName: tcmalloc_internal::subtle::percpu::InitFastPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    - load
    - tcmalloc_internal::subtle::percpu::InitPerCpu
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: bool
    signature: bool InitFastPerCpu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:225,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:226,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 7
    functionsReached:
    - TC_CHECK_EQ
    - CpuSet::Set
    - CpuSet::Zero
    - CpuSet::SetAffinity
    linkageType: ''
    returnType: bool
    signature: bool SetAffinityOneCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - target
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::subtle::percpu::NeedCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NeedCpu(const int cpu, const int target)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:247,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:259,1
    - Dst: tcmalloc_internal::subtle::percpu::NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:260,1
    - Dst: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:266,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:271,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:308,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:309,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:312,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:313,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:316,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:317,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:323,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 329
    functionName: tcmalloc_internal::subtle::percpu::SlowFence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 7
    functionsReached:
    - signal_safe_open
    - CpuSet::Set
    - tcmalloc_internal::subtle::percpu::NeedCpu
    - std::atomic_thread_fence
    - signal_safe_close
    - CpuSet::SetAffinity
    - signal_safe_read
    - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    - CpuSet::GetAffinity
    - TC_CHECK_EQ
    - CpuSet::Zero
    - NumCPUs
    - TC_CHECK_GE
    - TC_CHECK
    - sched_getcpu
    linkageType: ''
    returnType: void
    signature: void SlowFence(int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 14
    functionsReached:
    - syscall
    - load
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void UpstreamRseqFenceCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:351,1
    - Dst: tcmalloc_internal::subtle::percpu::SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 14
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::SlowFence
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void FenceInterruptCPU(int cpu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:362,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:366,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:370,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:375,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:383,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vcpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 389
    functionName: tcmalloc_internal::subtle::percpu::FenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    - tcmalloc_internal::subtle::percpu::CompilerBarrier
    - load
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceAllCpus
    - ASSUME
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: void
    signature: void FenceCpu(int vcpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:393,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:394,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: tcmalloc_internal::subtle::percpu::FenceAllCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - load
    linkageType: ''
    returnType: void
    signature: void FenceAllCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:56,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:57,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:58,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:59,1
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:67,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:69,1
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:74,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:76,1
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:81,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:83,1
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:88,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:90,1
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:95,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 112
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    - static_cast<const char*>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::PrefetchT0
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    linkageType: ''
    returnType: void
    signature: void PrefetchT0(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: tcmalloc_internal::PrefetchT1
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    linkageType: ''
    returnType: void
    signature: void PrefetchT1(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::PrefetchT2
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    linkageType: ''
    returnType: void
    signature: void PrefetchT2(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: tcmalloc_internal::PrefetchNta
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    linkageType: ''
    returnType: void
    signature: void PrefetchNta(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:67,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: tcmalloc_internal::PrefetchW
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    - static_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void PrefetchW(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:74,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::PrefetchWT0
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    - static_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void PrefetchWT0(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:81,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::PrefetchWT1
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    - static_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void PrefetchWT1(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:88,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: tcmalloc_internal::PrefetchWT2
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    - static_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void PrefetchWT2(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:95,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: tcmalloc_internal::PrefetchWNta
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    - static_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void PrefetchWNta(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::PrefetchT0
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchT0(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::PrefetchT1
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchT1(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: tcmalloc_internal::PrefetchT2
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchT2(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: tcmalloc_internal::PrefetchNta
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchNta(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: tcmalloc_internal::PrefetchWT0
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchWT0(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: tcmalloc_internal::PrefetchWT1
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchWT1(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: tcmalloc_internal::PrefetchWT2
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchWT2(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::PrefetchWT3
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchWT3(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::PrefetchT0
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    linkageType: ''
    returnType: void
    signature: void PrefetchT0(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: tcmalloc_internal::PrefetchT1
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    linkageType: ''
    returnType: void
    signature: void PrefetchT1(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::PrefetchT2
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    linkageType: ''
    returnType: void
    signature: void PrefetchT2(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: tcmalloc_internal::PrefetchNta
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    linkageType: ''
    returnType: void
    signature: void PrefetchNta(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:67,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: tcmalloc_internal::PrefetchW
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    - static_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void PrefetchW(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:74,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::PrefetchWT0
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    - static_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void PrefetchWT0(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:81,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::PrefetchWT1
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    - static_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void PrefetchWT1(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:88,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: tcmalloc_internal::PrefetchWT2
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    - static_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void PrefetchWT2(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:95,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/prefetch.h:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: tcmalloc_internal::PrefetchWNta
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    - static_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void PrefetchWNta(const void* addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::PrefetchT0
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchT0(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::PrefetchT1
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchT1(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: tcmalloc_internal::PrefetchT2
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchT2(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: tcmalloc_internal::PrefetchNta
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchNta(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: tcmalloc_internal::PrefetchWT0
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchWT0(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: tcmalloc_internal::PrefetchWT1
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchWT1(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: tcmalloc_internal::PrefetchWT2
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchWT2(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::PrefetchWT3
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchWT3(const void*)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:80,1
    - Dst: numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:110,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:202,1
    - Dst: InitNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:205,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:206,1
    - Dst: InitNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:218,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:219,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:232,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:240,1
    - Dst: GetCpuScaledPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 263
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached:
    - data
    - numa_aware
    - InitNumaTopology
    - GetCpuScaledPartition
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - std::max<size_t>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: tcmalloc_internal::NumaTopology::NumaTopology
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumaTopology()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: tcmalloc_internal::NumaTopology::numa_aware
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool numa_aware() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::NumaTopology::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: tcmalloc_internal::NumaTopology::active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NumaTopology::numa_aware
    linkageType: ''
    returnType: size_t
    signature: size_t active_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::NumaTopology::bind_mode
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumaBindMode
    signature: NumaBindMode bind_mode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - num_partitions
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: tcmalloc_internal::NodeToPartition
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t NodeToPartition(const size_t node, const size_t num_partitions)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:202,1
    - Dst: InitNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:205,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached:
    - InitNumaTopology
    - data
    linkageType: ''
    returnType: void
    signature: void NumaTopology<NumPartitions, ScaleBy>::Init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:218,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - open_node_cpulist
    argTypes:
    - absl::FunctionRef<int(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::InitForTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached:
    - InitNumaTopology
    - data
    linkageType: ''
    returnType: void
    signature: "void NumaTopology<NumPartitions, ScaleBy>::InitForTest(\n    absl::FunctionRef<int(size_t)>
      open_node_cpulist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCurrentPartition
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    linkageType: ''
    returnType: size_t
    signature: "size_t NumaTopology<NumPartitions, ScaleBy>::GetCurrentPartition()\n
      \   const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCurrentScaledPartition
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    linkageType: ''
    returnType: size_t
    signature: "size_t NumaTopology<NumPartitions, ScaleBy>::GetCurrentScaledPartition()\n
      \   const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCpuScaledPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCpuPartition
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCpuScaledPartition
    linkageType: ''
    returnType: size_t
    signature: "size_t NumaTopology<NumPartitions, ScaleBy>::GetCpuPartition(\n    const
      int cpu) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCpuScaledPartition
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t NumaTopology<NumPartitions, ScaleBy>::GetCpuScaledPartition(\n
      \   const int cpu) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - partition
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetPartitionNodes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t NumaTopology<NumPartitions, ScaleBy>::GetPartitionNodes(\n
      \   const int partition) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: tcmalloc_internal::NumaTopology::NumaTopology
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumaTopology()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: tcmalloc_internal::NumaTopology::numa_aware
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool numa_aware() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::NumaTopology::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: tcmalloc_internal::NumaTopology::active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NumaTopology::numa_aware
    linkageType: ''
    returnType: size_t
    signature: size_t active_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::NumaTopology::bind_mode
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumaBindMode
    signature: NumaBindMode bind_mode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - num_partitions
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: tcmalloc_internal::NodeToPartition
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t NodeToPartition(const size_t node, const size_t num_partitions)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:202,1
    - Dst: InitNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:205,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached:
    - InitNumaTopology
    - data
    linkageType: ''
    returnType: void
    signature: void NumaTopology<NumPartitions, ScaleBy>::Init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:218,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - open_node_cpulist
    argTypes:
    - absl::FunctionRef<int(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::InitForTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached:
    - InitNumaTopology
    - data
    linkageType: ''
    returnType: void
    signature: "void NumaTopology<NumPartitions, ScaleBy>::InitForTest(\n    absl::FunctionRef<int(size_t)>
      open_node_cpulist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCurrentPartition
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    linkageType: ''
    returnType: size_t
    signature: "size_t NumaTopology<NumPartitions, ScaleBy>::GetCurrentPartition()\n
      \   const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCurrentScaledPartition
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    linkageType: ''
    returnType: size_t
    signature: "size_t NumaTopology<NumPartitions, ScaleBy>::GetCurrentScaledPartition()\n
      \   const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCpuScaledPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCpuPartition
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCpuScaledPartition
    linkageType: ''
    returnType: size_t
    signature: "size_t NumaTopology<NumPartitions, ScaleBy>::GetCpuPartition(\n    const
      int cpu) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCpuScaledPartition
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t NumaTopology<NumPartitions, ScaleBy>::GetCpuScaledPartition(\n
      \   const int cpu) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - partition
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetPartitionNodes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t NumaTopology<NumPartitions, ScaleBy>::GetPartitionNodes(\n
      \   const int partition) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/hook_list.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 1
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 5
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 3
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 1
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 1
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 10
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 6
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 3
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 15
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 9
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 4
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 3
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 3
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 20
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 12
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 5
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 4
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 4
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 25
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 15
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 6
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 5
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 5
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 30
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 18
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 7
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 6
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 6
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 35
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 21
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 8
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 7
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 7
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 40
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 24
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 9
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 8
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 8
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 45
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 27
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 10
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 9
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 9
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 50
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 30
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 11
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 10
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 10
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 55
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 33
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 12
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 11
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 11
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 60
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 36
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 13
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 12
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 12
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 65
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 39
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 14
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 13
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 13
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 70
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 42
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 15
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 14
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 14
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 75
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 45
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 16
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 15
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 15
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 80
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 48
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 17
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 16
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 16
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 85
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 51
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 18
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 68
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 17
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 17
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 90
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 54
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 19
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 18
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 18
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 95
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 57
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 20
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 19
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 19
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 100
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 60
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 21
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 80
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 20
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 20
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 105
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 63
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 22
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 21
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 21
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 110
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 66
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 23
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 22
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 22
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 115
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 69
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 24
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 92
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 23
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 23
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 120
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 72
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 25
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 24
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 24
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 125
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 75
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 26
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 100
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 25
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 25
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 130
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 78
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 27
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 104
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 26
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 26
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 135
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 81
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 28
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 108
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 27
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 27
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 140
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 84
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 29
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 112
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 28
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 28
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 145
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 87
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 30
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 116
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 29
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 29
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 150
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 90
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 31
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 120
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 30
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 30
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:90,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:91,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - raw_shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 155
    functionsReached:
    - ToShiftType
    - GetSlabsAllocSize
    - NumCPUs
    - alloc
    linkageType: ''
    returnType: void
    signature: "void * AllocSlabs(absl::FunctionRef<void*(size_t, std::align_val_t)>
      alloc,\n                 size_t raw_shift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slab'
    - alloc
    - capacity
    - raw_shift
    argTypes:
    - TcmallocSlab
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - absl::FunctionRef<size_t(size_t)>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 93
    functionsReached:
    - ToShiftType
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    linkageType: ''
    returnType: void
    signature: "void InitSlab(TcmallocSlab& slab,\n              absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc,\n              absl::FunctionRef<size_t(size_t)> capacity,
      size_t raw_shift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(size_t size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    - InitSlab
    linkageType: ''
    returnType: void
    signature: void TcmallocSlabTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~TcmallocSlabTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Destroy
    linkageType: ''
    returnType: void
    signature: void ~TcmallocSlabTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:128,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:130,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:131,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 32
    functionsReached:
    - GetPageSize
    - static_cast<size_t>
    - memset
    - madvise
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * ByteCountingMalloc(size_t size, std::align_val_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:144,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:148,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:150,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:151,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:157,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:159,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:162,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:170,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:177,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:181,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:182,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - IsFast
    - Length
    - Capacity
    - GTEST_SKIP
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_GE
    - EXPECT_LE
    - NumCPUs
    - InitCpu
    - MetadataMemoryUsage
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:187,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:189,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:192,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:193,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:207,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:208,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:214,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:221,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:232,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:236,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:239,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:240,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:282,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:283,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:300,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:310,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:312,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:317,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:321,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:322,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:331,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:336,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:338,1
    - Dst: std::vector<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:339,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:341,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:355,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:357,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:365,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:375,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:378,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:380,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:381,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:395,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:397,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:416,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 420
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - Length
    - Capacity
    - Push
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::min
    - std::vector<void*>
    - IsFast
    - UnorderedElementsAreArray
    - CacheCpuSlab
    - AllowedCpus
    - std::max<size_t>
    - EXPECT_FALSE
    - ASSERT_EQ
    - Drain
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_TRUE
    - InitCpu
    - Pop
    - UncacheCpuSlab
    - Each
    - PushBatch
    - GTEST_SKIP
    - SCOPED_TRACE
    - Grow
    - ASSERT_GE
    - PopBatch
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, Unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:423,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void * allocator(size_t bytes, std::align_val_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:429,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:431,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:434,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:435,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:441,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:442,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:445,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:447,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:460,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:461,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:473,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:479,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:483,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:484,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:494,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:498,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 506
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - UpdateMaxCapacities
    - IsFast
    - Capacity
    - GTEST_SKIP
    - ASSERT_LT
    - CacheCpuSlab
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - Grow
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ASSERT_EQ
    - sized_aligned_delete
    - ASSERT_NE
    - mprotect
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ResizeMaxCapacities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:511,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:515,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:520,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:522,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:523,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:525,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:526,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:527,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:529,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - ShrinkOtherCache
    - EXPECT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - StartCpu
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, ShrinkEmptyCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:537,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:538,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:543,1
    - Dst: ByteCountingMalloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:551,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:552,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:557,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:562,1
    - Dst: trigger_resize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ResizeSlabs
    - trigger_resize
    - IsFast
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - InitCpu
    - ByteCountingMalloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcmallocSlabTest, SimulatedMadviseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 124
    functionsReached: []
    linkageType: ''
    returnType: GetMaxCapacity
    signature: GetMaxCapacity GetMaxCapacityFunctor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:581,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:586,1
    - Dst: slab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:588,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ctx'
    - cpu
    argTypes:
    - Context
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 31
    functionsReached:
    - slab::InitCpu
    - slab::CacheCpuSlab
    - store
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: void
    signature: void InitCpuOnce(Context& ctx, int cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:597,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:598,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:600,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:606,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' ctx'
    - new_max_capacity
    argTypes:
    - Context
    - PerSizeClassMaxCapacity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 31
    functionsReached:
    - load
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: int
    signature: "int GetResizedMaxCapacities(Context& ctx,\n                            PerSizeClassMaxCapacity*
      new_max_capacity)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:618,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:622,1
    - Dst: absl::SeedSeq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:623,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:625,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:626,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:628,1
    - Dst: slab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:629,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:630,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:632,1
    - Dst: slab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:636,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:639,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:640,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:642,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:645,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:647,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:648,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:651,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:652,1
    - Dst: slab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:654,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:655,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:657,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:662,1
    - Dst: slab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:663,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:664,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:666,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:669,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:671,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:672,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:676,1
    - Dst: slab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:682,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:686,1
    - Dst: slab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:688,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:689,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:691,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:693,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:696,1
    - Dst: slab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:698,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:699,1
    - Dst: slab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:700,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:701,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:702,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:704,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:708,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:711,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:712,1
    - Dst: slab::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:713,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:716,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:717,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:718,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:720,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:721,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:724,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:725,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:726,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:727,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:729,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:731,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:732,1
    - Dst: capacity::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:736,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:741,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:745,1
    - Dst: slab::StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:748,1
    - Dst: slab::GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:749,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:751,1
    - Dst: slab::StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:752,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:753,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:754,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:755,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:758,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:760,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:764,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:770,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:771,1
    - Dst: slab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:777,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:778,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:779,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:780,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:782,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:783,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:785,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:790,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 2
    argNames:
    - thread_id
    - ' ctx'
    argTypes:
    - size_t
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 793
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - slab::PushBatch
    - empty
    - slab::CacheCpuSlab
    - NumCPUs
    - slab::Drain
    - std::min
    - slab::Capacity
    - pop_back
    - slab::PopBatch
    - absl::Uniform<int32_t>
    - IsFast
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - capacity::compare_exchange_weak
    - slab::GrowOtherCache
    - back
    - size
    - push_back
    - slab::ShrinkOtherCache
    - slab::StartCpu
    - slab::Push
    - TC_ASSERT
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - EXPECT_LE
    - slab::Length
    - capacity::load
    - capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - IsFastNoInit
    - slab::Pop
    - std::optional::emplace
    - absl::Bernoulli
    - absl::SeedSeq
    - slab::StopCpu
    - EXPECT_GE
    - slab::Grow
    linkageType: ''
    returnType: void
    signature: "void StressThread(size_t thread_id,\n                  Context& ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:800,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:803,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:805,1
    - Dst: slab::GetShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:808,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:809,1
    - Dst: slab::UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:810,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:811,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:813,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:816,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:819,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:820,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:823,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:826,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:831,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:832,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:835,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:845,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:861,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:864,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:871,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:872,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - store
    - mprotect
    - madvise
    - ASSERT_NE
    - slab::GetShift
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - slab::UpdateMaxCapacities
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeMaxCapacitiesThread(\n    Context& ctx, TcmallocSlab::DrainHandler
      drain_handler,\n    absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:887,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:896,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:903,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:904,1
    - Dst: slab::ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:905,1
    - Dst: ToShiftType
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:906,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:908,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:912,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:915,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:918,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:923,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:924,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:927,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:933,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:937,1
    - Dst: pread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:950,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:953,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:956,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:963,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:964,1
    - Dst: absl::Span<std::pair<void*, size_t>>::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' ctx'
    - drain_handler
    - old_slabs_span
    argTypes:
    - Context
    - TcmallocSlab::DrainHandler
    - absl::Span<std::pair<void*, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 970
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - absl::Span<std::pair<void*, size_t>>::size
    - Lock
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - NumCPUs
    - ToShiftType
    - mprotect
    - madvise
    - ASSERT_NE
    - Unlock
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - load
    - slab::ResizeSlabs
    - pread
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - signal_safe_open
    - absl::Bernoulli
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: "void ResizeSlabsThread(Context& ctx, TcmallocSlab::DrainHandler drain_handler,\n
      \                      absl::Span<std::pair<void*, size_t>> old_slabs_span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:981,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:982,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:986,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:987,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:998,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1010,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1012,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1018,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1022,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1025,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1026,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: Context::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1028,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1031,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1033,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1041,1
    - Dst: Context::capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1047,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1048,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1056,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1057,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1058,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1062,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1064,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1065,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1066,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1067,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1069,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1073,1
    - Dst: TcmallocSlab::Drain
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1076,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: TcmallocSlab::Length
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: TcmallocSlab::Capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1079,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1088,1
    - Dst: TcmallocSlab::Destroy
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1089,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1094,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1095,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1102,1
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1106
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - absl::flat_hash_set::size
    - std::get<0>
    - CpuSet::Zero
    - NumCPUs
    - GetParam
    - store
    - reinterpret_cast<void*>
    - TcmallocSlab::Destroy
    - mprotect
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - IsFast
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Context::capacity::fetch_add
    - std::get<1>
    - push_back
    - TcmallocSlab::Capacity
    - CpuSet::SetAffinity
    - std::thread
    - absl::MakeSpan
    - EXPECT_EQ
    - TcmallocSlab::Length
    - join
    - std::vector::reserve
    - TcmallocSlab::Drain
    - std::atomic::load
    - std::vector::push_back
    - absl::SleepFor
    - GTEST_SKIP
    - std::vector::size
    - std::ref
    - absl::flat_hash_set::insert
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(StressThreadTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, SMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1122,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int FilterElfHeader(struct dl_phdr_info* info, size_t size, void* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1132,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1136,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1145,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1148,1
    - Dst: absl::debugging_internal::ForEachSection
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1158,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1165,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1166,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1168,1
    - Dst: reinterpret_cast<const kernel_rseq_cs*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1173,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1174,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1176,1
    - Dst: reinterpret_cast<const kernel_rseq_cs**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1177,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1187,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1190,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    - Dst: ::testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1205
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_open
    - ASSERT_NE
    - GTEST_SKIP
    - EXPECT_EQ
    - reinterpret_cast<const kernel_rseq_cs*>
    - absl::flat_hash_set::insert
    - EXPECT_TRUE
    - EXPECT_LT
    - close
    - EXPECT_THAT
    - ::testing::ContainerEq
    - absl::debugging_internal::ForEachSection
    - reinterpret_cast<const kernel_rseq_cs**>
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocSlab, CriticalSectionMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1208,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1223,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1224,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1225,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1228,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1230,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TcmallocSlab::Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1239,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    - Dst: TcmallocSlab::Pop
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::Pop
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - TcmallocSlab::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1249,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1262,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1263,1
    - Dst: TcmallocSlab::InitCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1264,1
    - Dst: TcmallocSlab::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1266,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TcmallocSlab::Grow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1268,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TcmallocSlab::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1276,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    - Dst: TcmallocSlab::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TcmallocSlab::PushBatch
    - IsFast
    - TcmallocSlab::Grow
    - TcmallocSlab::InitCpu
    - TcmallocSlab::CacheCpuSlab
    - TC_CHECK
    - TC_CHECK_EQ
    - NumCPUs
    - TcmallocSlab::PopBatch
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expression
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: TCMALLOC_RETRY_ON_TEMP_FAILURE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RETRY_ON_TEMP_FAILURE(expression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigfillset
      Src: /src/tcmalloc/tcmalloc/internal/util.h:115,1
    - Dst: Setmask
      Src: /src/tcmalloc/tcmalloc/internal/util.h:116,1
    - Dst: Setmask
      Src: /src/tcmalloc/tcmalloc/internal/util.h:120,1
    - Dst: pthread_sigmask
      Src: /src/tcmalloc/tcmalloc/internal/util.h:124,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/util.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 142
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - Setmask
    - sigfillset
    - pthread_sigmask
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::ScopedSigmask::ScopedSigmask
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedSigmask(const ScopedSigmask&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: '& operator=(const ScopedSigmask&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedSigmask
    signature: ScopedSigmask & operator=(const ScopedSigmask&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigfillset
      Src: /src/tcmalloc/tcmalloc/internal/util.h:115,1
    - Dst: tcmalloc_internal::ScopedSigmask::Setmask
      Src: /src/tcmalloc/tcmalloc/internal/util.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::ScopedSigmask::ScopedSigmask
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedSigmask::Setmask
    - sigfillset
    linkageType: ''
    returnType: void
    signature: void ScopedSigmask::ScopedSigmask() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Setmask
      Src: /src/tcmalloc/tcmalloc/internal/util.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: ScopedSigmask::~ScopedSigmask() noexcept
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached:
    - Setmask
    linkageType: ''
    returnType: void
    signature: void ScopedSigmask::~ScopedSigmask() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_sigmask
      Src: /src/tcmalloc/tcmalloc/internal/util.h:124,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/util.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - how
    - set
    - old
    argTypes:
    - int
    - sigset_t*
    - sigset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::ScopedSigmask::Setmask
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 1
    functionsReached:
    - TC_CHECK_EQ
    - pthread_sigmask
    linkageType: ''
    returnType: void
    signature: void ScopedSigmask::Setmask(int how, sigset_t* set, sigset_t* old)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: tcmalloc_internal::ErrnoRestorer::ErrnoRestorer
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ErrnoRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: ~ErrnoRestorer()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ErrnoRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: tcmalloc_internal::ErrnoRestorer::ErrnoRestorer
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ErrnoRestorer(const ErrnoRestorer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: '& operator=(const ErrnoRestorer&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ErrnoRestorer
    signature: ErrnoRestorer & operator=(const ErrnoRestorer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::ScopedSigmask::ScopedSigmask
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedSigmask(const ScopedSigmask&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: '& operator=(const ScopedSigmask&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedSigmask
    signature: ScopedSigmask & operator=(const ScopedSigmask&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigfillset
      Src: /src/tcmalloc/tcmalloc/internal/util.h:115,1
    - Dst: tcmalloc_internal::ScopedSigmask::Setmask
      Src: /src/tcmalloc/tcmalloc/internal/util.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::ScopedSigmask::ScopedSigmask
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ScopedSigmask::Setmask
    - sigfillset
    linkageType: ''
    returnType: void
    signature: void ScopedSigmask::ScopedSigmask() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Setmask
      Src: /src/tcmalloc/tcmalloc/internal/util.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: ScopedSigmask::~ScopedSigmask() noexcept
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached:
    - Setmask
    linkageType: ''
    returnType: void
    signature: void ScopedSigmask::~ScopedSigmask() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_sigmask
      Src: /src/tcmalloc/tcmalloc/internal/util.h:124,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/util.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - how
    - set
    - old
    argTypes:
    - int
    - sigset_t*
    - sigset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::ScopedSigmask::Setmask
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 2
    functionsReached:
    - TC_CHECK_EQ
    - pthread_sigmask
    linkageType: ''
    returnType: void
    signature: void ScopedSigmask::Setmask(int how, sigset_t* set, sigset_t* old)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: tcmalloc_internal::ErrnoRestorer::ErrnoRestorer
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ErrnoRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: ~ErrnoRestorer()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ErrnoRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: tcmalloc_internal::ErrnoRestorer::ErrnoRestorer
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ErrnoRestorer(const ErrnoRestorer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: '& operator=(const ErrnoRestorer&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ErrnoRestorer
    signature: ErrnoRestorer & operator=(const ErrnoRestorer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:47,1
    - Dst: static_cast<MemoryTag>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:52,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:52,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:58,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:59,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:60,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:61,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:61,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:62,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:63,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:63,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:64,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:66,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:66,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:78,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:78,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:79,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:80,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 86
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_tag.h
    functionUses: 0
    functionsReached:
    - std::min
    - static_cast<uintptr_t>
    - GetMemoryTag
    - static_cast<MemoryTag>
    - static_cast<uint8_t>
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    - TC_ASSERT_EQ
    - static_cast<int>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MemoryTag>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:52,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: GetMemoryTag
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_tag.h
    functionUses: 61
    functionsReached:
    - static_cast<MemoryTag>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: MemoryTag
    signature: MemoryTag GetMemoryTag(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:58,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:59,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:60,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:61,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:61,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:62,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:63,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:63,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:64,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:66,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: IsNormalMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_tag.h
    functionUses: 69
    functionsReached:
    - static_cast<uintptr_t>
    - GetMemoryTag
    - static_cast<uint8_t>
    - TC_ASSERT
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: bool IsNormalMemory(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:78,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:78,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:79,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:80,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: IsSelSanMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_tag.h
    functionUses: 16
    functionsReached:
    - static_cast<uintptr_t>
    - TC_ASSERT_EQ
    - GetMemoryTag
    linkageType: ''
    returnType: bool
    signature: bool IsSelSanMemory(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::PageFlagsFriend
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageFlagsFriend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::PageFlagsFriend
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    linkageType: ''
    returnType: void
    signature: void PageFlagsFriend(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:69,1
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 1
    functionsReached:
    - std::forward<Args>
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) Get(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:73,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 347
    functionsReached:
    - absl::string_view::data
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) MaybeReadStaleScanSeconds(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::CachedScanSeconds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) CachedScanSeconds()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::IsHugepageBacked
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) IsHugepageBacked(const void* const addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scan_seconds
    argTypes:
    - decltype(PageFlags::cached_scan_seconds_)
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::SetCachedScanSeconds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetCachedScanSeconds(\n      decltype(PageFlags::cached_scan_seconds_)
      scan_seconds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' s'
    argTypes:
    - std::ostream
    - PageStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '& operator<<(std::ostream& os, const PageStats& s)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const PageStats& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:114,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:114,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:115,1
    - Dst: signal_safe_write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: absl::string_view::length
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:118,1
    - Dst: absl::string_view::length
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:118,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:119,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - content
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: tcmalloc::tcmalloc_internal::SetContents
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - signal_safe_write
    - signal_safe_close
    - absl::string_view::length
    - CHECK_EQ
    - CHECK_NE
    linkageType: ''
    returnType: void
    signature: void SetContents(absl::string_view filename, absl::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:123,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:125,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - Get
    - Optional
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Smoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:129,1
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: std::begin
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: std::end
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlags::Get
    - GTEST_SKIP
    - std::end
    - EXPECT_THAT
    - Optional
    - ::benchmark::DoNotOptimize
    - std::fill
    - reinterpret_cast<void*>
    - std::begin
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:141,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:143,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:146,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:147,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:148,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:152,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:153,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlags::Get
    - getpagesize
    - GTEST_SKIP
    - madvise
    - EXPECT_THAT
    - Optional
    - mmap
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:170,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:175,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:176,1
    - Dst: strerror
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:177,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:179,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:179,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:180,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:182,1
    - Dst: ::lseek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:182,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:195,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:195,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:196,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:196,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - filename
    - obj
    - size
    argTypes:
    - absl::string_view
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - getpagesize
    - reinterpret_cast<uintptr_t>
    - signal_safe_read
    - write
    - reinterpret_cast<char*>
    - close
    - CHECK_EQ
    - CHECK_NE
    - strerror
    - ::lseek
    - reinterpret_cast<void*>
    - std::array::data
    linkageType: ''
    returnType: void
    signature: void * GenerateAllStaleTest(absl::string_view filename, void* obj,
      size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:206,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:206,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:207,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:208,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:210,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:213,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:219,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:219,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:220,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:222,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:224,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:231,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:232,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:235,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:236,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:236,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:238,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:238,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:243,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:244,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:244,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:245,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:246,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:249,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:251,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:254,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:254,1
    - Dst: PageFlagsFriend::SetCachedScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:258,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:270,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:270,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:271,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:275,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:276,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:277,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:281,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:281,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:282,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:286,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:287,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:288,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:294,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:295,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:296,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:296,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:304,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:307,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:307,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 308
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - getpagesize
    - reinterpret_cast<char*>
    - absl::Now
    - reinterpret_cast<void*>
    - PageFlagsFriend::Get
    - madvise
    - ASSERT_NE
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Optional
    - reinterpret_cast<uintptr_t>
    - FieldsAre
    - ASSERT_EQ
    - PageFlags::Get
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - absl::GetFlag
    - absl::Uniform
    - EXPECT_TRUE
    - ASSERT_THAT
    - auto::has_value
    - PageFlagsFriend::SetCachedScanSeconds
    - ASSERT_TRUE
    - munmap
    - absl::SleepFor
    - GTEST_SKIP
    - EXPECT_THAT
    - mmap
    - LOG
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Stale)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:311,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:321,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:321,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:322,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:323,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:323,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:325,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:328,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:334,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:334,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:335,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:335,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:337,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:339,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:344,1
    - Dst: mlock
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:344,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:347,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:349,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:350,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:350,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:352,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:359,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:360,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:360,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:361,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:361,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:364,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:364,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:365,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:367,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 368
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - getpagesize
    - reinterpret_cast<char*>
    - absl::Now
    - reinterpret_cast<void*>
    - madvise
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Optional
    - mlock
    - ASSERT_EQ
    - PageFlags::Get
    - absl::Uniform
    - ASSERT_THAT
    - auto::has_value
    - ASSERT_TRUE
    - munmap
    - absl::SleepFor
    - GTEST_SKIP
    - mmap
    - LOG
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:371,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:377,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:377,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:379,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:379,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:380,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:382,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:385,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:385,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 390
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, OnlyTails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:397,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:405,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:405,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:407,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:407,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:408,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:413,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:413,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: PageFlagsFriend::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:419,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:419,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:422,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:423,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:424,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - PageFlagsFriend::IsHugepageBacked
    - getpagesize
    - signal_safe_close
    - std::vector::size
    - write
    - test_hugepage_status
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - CHECK_EQ
    - ASSERT_EQ
    - std::vector::data
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, IsHugepageBacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:429,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:440,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:440,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:442,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:442,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:443,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:448,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:448,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:452,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:454,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:457,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:458,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:459,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:459,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:461,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:462,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 464
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - EXPECT_THAT
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - Optional
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, TooManyTails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:467,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:473,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:473,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:475,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:475,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:476,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:481,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:481,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:484,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - EXPECT_THAT
    - std::string::c_str
    - close
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, NotThp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:489,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotOpen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:494,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:499,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotSeek)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:505,1
    - Dst: std::make_unique<std::array<char, (1 << 22)>>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:507,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:511,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:515,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:515,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:516,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:518,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:518,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:519,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:522,1
    - Dst: PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:524,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:525,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:526,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 530
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - testing::TempDir
    - std::make_unique<std::array<char, (1 << 22)>>
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - tcmalloc::tcmalloc_internal::SetContents
    - std::optional::emplace
    - GTEST_SKIP
    - EXPECT_THAT
    - Optional
    - std::optional::reset
    - PageFlagsFriend::Get
    - FieldsAre
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, Read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:534,1
    - Dst: PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:536,1
    - Dst: PageFlagsFriend::CachedScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:537,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 542
    functionName: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - PageFlagsFriend::CachedScanSeconds
    - std::optional::emplace
    - EXPECT_EQ
    - std::optional::reset
    linkageType: ''
    returnType: void
    signature: void ExpectStaleSecondsFailedReadFrom(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:545,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:545,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - absl::StrCat
    - testing::TempDir
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, NotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:552,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:556,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:556,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:557,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 560
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, Bad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:565,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:569,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:569,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:570,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, IntOutOfBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:578,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:582,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:582,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 587
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, TextOverflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:114,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:114,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:115,1
    - Dst: signal_safe_write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: absl::string_view::length
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:118,1
    - Dst: absl::string_view::length
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:118,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:119,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - content
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: tcmalloc::tcmalloc_internal::SetContents
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 4
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - signal_safe_write
    - signal_safe_close
    - absl::string_view::length
    - CHECK_EQ
    - CHECK_NE
    linkageType: ''
    returnType: void
    signature: void SetContents(absl::string_view filename, absl::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:123,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:125,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - Get
    - Optional
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Smoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:129,1
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: std::begin
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: std::end
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlags::Get
    - GTEST_SKIP
    - std::end
    - EXPECT_THAT
    - Optional
    - ::benchmark::DoNotOptimize
    - std::fill
    - reinterpret_cast<void*>
    - std::begin
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:141,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:143,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:146,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:147,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:148,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:152,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:153,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlags::Get
    - getpagesize
    - GTEST_SKIP
    - madvise
    - EXPECT_THAT
    - Optional
    - mmap
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:170,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:175,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:176,1
    - Dst: strerror
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:177,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:179,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:179,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:180,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:182,1
    - Dst: ::lseek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:182,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:195,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:195,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:196,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:196,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - filename
    - obj
    - size
    argTypes:
    - absl::string_view
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 2
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - getpagesize
    - reinterpret_cast<uintptr_t>
    - signal_safe_read
    - write
    - reinterpret_cast<char*>
    - close
    - CHECK_EQ
    - CHECK_NE
    - strerror
    - ::lseek
    - reinterpret_cast<void*>
    - std::array::data
    linkageType: ''
    returnType: void
    signature: void * GenerateAllStaleTest(absl::string_view filename, void* obj,
      size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:206,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:206,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:207,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:208,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:210,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:213,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:219,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:219,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:220,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:222,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:224,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:231,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:232,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:235,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:236,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:236,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:238,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:238,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:243,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:244,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:244,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:245,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:246,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:249,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:251,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:254,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:254,1
    - Dst: PageFlagsFriend::SetCachedScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:258,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:270,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:270,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:271,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:275,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:276,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:277,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:281,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:281,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:282,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:286,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:287,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:288,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:294,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:295,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:296,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:296,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:304,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:307,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:307,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 308
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - getpagesize
    - reinterpret_cast<char*>
    - absl::Now
    - reinterpret_cast<void*>
    - PageFlagsFriend::Get
    - madvise
    - ASSERT_NE
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Optional
    - reinterpret_cast<uintptr_t>
    - FieldsAre
    - ASSERT_EQ
    - PageFlags::Get
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - absl::GetFlag
    - absl::Uniform
    - EXPECT_TRUE
    - ASSERT_THAT
    - auto::has_value
    - PageFlagsFriend::SetCachedScanSeconds
    - ASSERT_TRUE
    - munmap
    - absl::SleepFor
    - GTEST_SKIP
    - EXPECT_THAT
    - mmap
    - LOG
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Stale)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:311,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:321,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:321,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:322,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:323,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:323,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:325,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:328,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:334,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:334,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:335,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:335,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:337,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:339,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:344,1
    - Dst: mlock
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:344,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:347,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:349,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:350,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:350,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:352,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:359,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:360,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:360,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:361,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:361,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:364,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:364,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:365,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:367,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 368
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - getpagesize
    - reinterpret_cast<char*>
    - absl::Now
    - reinterpret_cast<void*>
    - madvise
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Optional
    - mlock
    - ASSERT_EQ
    - PageFlags::Get
    - absl::Uniform
    - ASSERT_THAT
    - auto::has_value
    - ASSERT_TRUE
    - munmap
    - absl::SleepFor
    - GTEST_SKIP
    - mmap
    - LOG
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:371,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:377,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:377,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:379,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:379,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:380,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:382,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:385,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:385,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 390
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, OnlyTails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:397,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:405,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:405,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:407,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:407,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:408,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:413,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:413,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: PageFlagsFriend::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:419,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:419,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:422,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:423,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:424,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - PageFlagsFriend::IsHugepageBacked
    - getpagesize
    - signal_safe_close
    - std::vector::size
    - write
    - test_hugepage_status
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - CHECK_EQ
    - ASSERT_EQ
    - std::vector::data
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, IsHugepageBacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:429,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:440,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:440,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:442,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:442,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:443,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:448,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:448,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:452,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:454,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:457,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:458,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:459,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:459,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:461,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:462,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 464
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - EXPECT_THAT
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - Optional
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, TooManyTails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:467,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:473,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:473,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:475,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:475,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:476,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:481,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:481,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:484,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - EXPECT_THAT
    - std::string::c_str
    - close
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, NotThp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:489,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotOpen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:494,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:499,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotSeek)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:505,1
    - Dst: std::make_unique<std::array<char, (1 << 22)>>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:507,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:511,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:515,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:515,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:516,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:518,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:518,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:519,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:522,1
    - Dst: PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:524,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:525,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:526,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 530
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - testing::TempDir
    - std::make_unique<std::array<char, (1 << 22)>>
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - tcmalloc::tcmalloc_internal::SetContents
    - std::optional::emplace
    - GTEST_SKIP
    - EXPECT_THAT
    - Optional
    - std::optional::reset
    - PageFlagsFriend::Get
    - FieldsAre
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, Read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:534,1
    - Dst: PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:536,1
    - Dst: PageFlagsFriend::CachedScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:537,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 542
    functionName: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 4
    functionsReached:
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - PageFlagsFriend::CachedScanSeconds
    - std::optional::emplace
    - EXPECT_EQ
    - std::optional::reset
    linkageType: ''
    returnType: void
    signature: void ExpectStaleSecondsFailedReadFrom(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:545,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:545,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - absl::StrCat
    - testing::TempDir
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, NotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:552,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:556,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:556,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:557,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 560
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, Bad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:565,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:569,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:569,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:570,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, IntOutOfBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:578,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:582,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:582,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 587
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, TextOverflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::PageFlagsFriend
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageFlagsFriend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::PageFlagsFriend
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    linkageType: ''
    returnType: void
    signature: void PageFlagsFriend(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:69,1
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 2
    functionsReached:
    - std::forward<Args>
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) Get(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:73,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 352
    functionsReached:
    - absl::string_view::data
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) MaybeReadStaleScanSeconds(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::CachedScanSeconds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) CachedScanSeconds()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::IsHugepageBacked
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) IsHugepageBacked(const void* const addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scan_seconds
    argTypes:
    - decltype(PageFlags::cached_scan_seconds_)
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::SetCachedScanSeconds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetCachedScanSeconds(\n      decltype(PageFlags::cached_scan_seconds_)
      scan_seconds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' s'
    argTypes:
    - std::ostream
    - PageStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '& operator<<(std::ostream& os, const PageStats& s)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const PageStats& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:114,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:114,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:115,1
    - Dst: signal_safe_write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: absl::string_view::length
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:118,1
    - Dst: absl::string_view::length
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:118,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:119,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - content
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: tcmalloc::tcmalloc_internal::SetContents
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 8
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - signal_safe_write
    - signal_safe_close
    - absl::string_view::length
    - CHECK_EQ
    - CHECK_NE
    linkageType: ''
    returnType: void
    signature: void SetContents(absl::string_view filename, absl::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:123,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:125,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - Get
    - Optional
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Smoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:129,1
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: std::begin
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: std::end
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlags::Get
    - GTEST_SKIP
    - std::end
    - EXPECT_THAT
    - Optional
    - ::benchmark::DoNotOptimize
    - std::fill
    - reinterpret_cast<void*>
    - std::begin
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:141,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:143,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:146,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:147,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:148,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:152,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:153,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlags::Get
    - getpagesize
    - GTEST_SKIP
    - madvise
    - EXPECT_THAT
    - Optional
    - mmap
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:170,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:175,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:176,1
    - Dst: strerror
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:177,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:179,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:179,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:180,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:182,1
    - Dst: ::lseek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:182,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:195,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:195,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:196,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:196,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - filename
    - obj
    - size
    argTypes:
    - absl::string_view
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 4
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - getpagesize
    - reinterpret_cast<uintptr_t>
    - signal_safe_read
    - write
    - reinterpret_cast<char*>
    - close
    - CHECK_EQ
    - CHECK_NE
    - strerror
    - ::lseek
    - reinterpret_cast<void*>
    - std::array::data
    linkageType: ''
    returnType: void
    signature: void * GenerateAllStaleTest(absl::string_view filename, void* obj,
      size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:206,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:206,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:207,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:208,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:210,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:213,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:219,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:219,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:220,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:222,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:224,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:231,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:232,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:235,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:236,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:236,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:238,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:238,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:243,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:244,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:244,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:245,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:246,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:249,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:251,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:254,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:254,1
    - Dst: PageFlagsFriend::SetCachedScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:258,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:270,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:270,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:271,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:275,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:276,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:277,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:281,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:281,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:282,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:286,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:287,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:288,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:294,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:295,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:296,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:296,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:304,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:307,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:307,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 308
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - getpagesize
    - reinterpret_cast<char*>
    - absl::Now
    - reinterpret_cast<void*>
    - PageFlagsFriend::Get
    - madvise
    - ASSERT_NE
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Optional
    - reinterpret_cast<uintptr_t>
    - FieldsAre
    - ASSERT_EQ
    - PageFlags::Get
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - absl::GetFlag
    - absl::Uniform
    - EXPECT_TRUE
    - ASSERT_THAT
    - auto::has_value
    - PageFlagsFriend::SetCachedScanSeconds
    - ASSERT_TRUE
    - munmap
    - absl::SleepFor
    - GTEST_SKIP
    - EXPECT_THAT
    - mmap
    - LOG
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Stale)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:311,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:321,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:321,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:322,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:323,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:323,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:325,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:328,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:334,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:334,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:335,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:335,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:337,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:339,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:344,1
    - Dst: mlock
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:344,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:347,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:349,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:350,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:350,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:352,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:359,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:360,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:360,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:361,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:361,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:364,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:364,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:365,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:367,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 368
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - getpagesize
    - reinterpret_cast<char*>
    - absl::Now
    - reinterpret_cast<void*>
    - madvise
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Optional
    - mlock
    - ASSERT_EQ
    - PageFlags::Get
    - absl::Uniform
    - ASSERT_THAT
    - auto::has_value
    - ASSERT_TRUE
    - munmap
    - absl::SleepFor
    - GTEST_SKIP
    - mmap
    - LOG
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:371,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:377,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:377,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:379,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:379,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:380,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:382,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:385,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:385,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 390
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, OnlyTails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:397,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:405,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:405,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:407,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:407,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:408,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:413,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:413,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: PageFlagsFriend::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:419,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:419,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:422,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:423,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:424,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - PageFlagsFriend::IsHugepageBacked
    - getpagesize
    - signal_safe_close
    - std::vector::size
    - write
    - test_hugepage_status
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - CHECK_EQ
    - ASSERT_EQ
    - std::vector::data
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, IsHugepageBacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:429,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:440,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:440,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:442,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:442,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:443,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:448,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:448,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:452,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:454,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:457,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:458,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:459,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:459,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:461,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:462,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 464
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - EXPECT_THAT
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - Optional
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, TooManyTails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:467,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:473,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:473,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:475,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:475,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:476,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:481,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:481,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:484,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - EXPECT_THAT
    - std::string::c_str
    - close
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, NotThp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:489,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotOpen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:494,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:499,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotSeek)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:505,1
    - Dst: std::make_unique<std::array<char, (1 << 22)>>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:507,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:511,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:515,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:515,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:516,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:518,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:518,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:519,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:522,1
    - Dst: PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:524,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:525,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:526,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 530
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - testing::TempDir
    - std::make_unique<std::array<char, (1 << 22)>>
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - tcmalloc::tcmalloc_internal::SetContents
    - std::optional::emplace
    - GTEST_SKIP
    - EXPECT_THAT
    - Optional
    - std::optional::reset
    - PageFlagsFriend::Get
    - FieldsAre
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, Read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:534,1
    - Dst: PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:536,1
    - Dst: PageFlagsFriend::CachedScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:537,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 542
    functionName: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 8
    functionsReached:
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - PageFlagsFriend::CachedScanSeconds
    - std::optional::emplace
    - EXPECT_EQ
    - std::optional::reset
    linkageType: ''
    returnType: void
    signature: void ExpectStaleSecondsFailedReadFrom(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:545,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:545,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - absl::StrCat
    - testing::TempDir
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, NotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:552,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:556,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:556,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:557,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 560
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, Bad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:565,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:569,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:569,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:570,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, IntOutOfBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:578,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:582,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:582,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 587
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, TextOverflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:114,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:114,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:115,1
    - Dst: signal_safe_write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: absl::string_view::length
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:118,1
    - Dst: absl::string_view::length
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:118,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:119,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - content
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: tcmalloc::tcmalloc_internal::SetContents
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 12
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - signal_safe_write
    - signal_safe_close
    - absl::string_view::length
    - CHECK_EQ
    - CHECK_NE
    linkageType: ''
    returnType: void
    signature: void SetContents(absl::string_view filename, absl::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:123,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:125,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - Get
    - Optional
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Smoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:129,1
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: std::begin
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: std::end
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlags::Get
    - GTEST_SKIP
    - std::end
    - EXPECT_THAT
    - Optional
    - ::benchmark::DoNotOptimize
    - std::fill
    - reinterpret_cast<void*>
    - std::begin
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:141,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:143,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:146,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:147,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:148,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:152,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:153,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlags::Get
    - getpagesize
    - GTEST_SKIP
    - madvise
    - EXPECT_THAT
    - Optional
    - mmap
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:170,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:175,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:176,1
    - Dst: strerror
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:177,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:179,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:179,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:180,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:182,1
    - Dst: ::lseek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:182,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:195,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:195,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:196,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:196,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - filename
    - obj
    - size
    argTypes:
    - absl::string_view
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 6
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - getpagesize
    - reinterpret_cast<uintptr_t>
    - signal_safe_read
    - write
    - reinterpret_cast<char*>
    - close
    - CHECK_EQ
    - CHECK_NE
    - strerror
    - ::lseek
    - reinterpret_cast<void*>
    - std::array::data
    linkageType: ''
    returnType: void
    signature: void * GenerateAllStaleTest(absl::string_view filename, void* obj,
      size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:206,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:206,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:207,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:208,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:210,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:213,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:219,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:219,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:220,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:222,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:224,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:231,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:232,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:235,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:236,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:236,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:238,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:238,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:243,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:244,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:244,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:245,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:246,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:249,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:251,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:254,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:254,1
    - Dst: PageFlagsFriend::SetCachedScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:258,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:270,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:270,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:271,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:275,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:276,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:277,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:281,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:281,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:282,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:286,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:287,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:288,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:294,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:295,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:296,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:296,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:304,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:307,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:307,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 308
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - getpagesize
    - reinterpret_cast<char*>
    - absl::Now
    - reinterpret_cast<void*>
    - PageFlagsFriend::Get
    - madvise
    - ASSERT_NE
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Optional
    - reinterpret_cast<uintptr_t>
    - FieldsAre
    - ASSERT_EQ
    - PageFlags::Get
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - absl::GetFlag
    - absl::Uniform
    - EXPECT_TRUE
    - ASSERT_THAT
    - auto::has_value
    - PageFlagsFriend::SetCachedScanSeconds
    - ASSERT_TRUE
    - munmap
    - absl::SleepFor
    - GTEST_SKIP
    - EXPECT_THAT
    - mmap
    - LOG
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Stale)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:311,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:321,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:321,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:322,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:323,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:323,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:325,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:328,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:334,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:334,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:335,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:335,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:337,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:339,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:344,1
    - Dst: mlock
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:344,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:347,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:349,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:350,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:350,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:352,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:359,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:360,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:360,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:361,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:361,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:364,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:364,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:365,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:367,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 368
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - getpagesize
    - reinterpret_cast<char*>
    - absl::Now
    - reinterpret_cast<void*>
    - madvise
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Optional
    - mlock
    - ASSERT_EQ
    - PageFlags::Get
    - absl::Uniform
    - ASSERT_THAT
    - auto::has_value
    - ASSERT_TRUE
    - munmap
    - absl::SleepFor
    - GTEST_SKIP
    - mmap
    - LOG
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:371,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:377,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:377,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:379,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:379,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:380,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:382,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:385,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:385,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 390
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, OnlyTails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:397,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:405,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:405,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:407,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:407,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:408,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:413,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:413,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: PageFlagsFriend::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:419,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:419,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:422,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:423,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:424,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - PageFlagsFriend::IsHugepageBacked
    - getpagesize
    - signal_safe_close
    - std::vector::size
    - write
    - test_hugepage_status
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - CHECK_EQ
    - ASSERT_EQ
    - std::vector::data
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, IsHugepageBacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:429,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:440,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:440,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:442,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:442,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:443,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:448,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:448,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:452,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:454,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:457,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:458,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:459,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:459,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:461,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:462,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 464
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - EXPECT_THAT
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - Optional
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, TooManyTails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:467,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:473,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:473,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:475,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:475,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:476,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:481,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:481,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:484,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - EXPECT_THAT
    - std::string::c_str
    - close
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, NotThp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:489,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotOpen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:494,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:499,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotSeek)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:505,1
    - Dst: std::make_unique<std::array<char, (1 << 22)>>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:507,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:511,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:515,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:515,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:516,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:518,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:518,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:519,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:522,1
    - Dst: PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:524,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:525,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:526,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 530
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - testing::TempDir
    - std::make_unique<std::array<char, (1 << 22)>>
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - tcmalloc::tcmalloc_internal::SetContents
    - std::optional::emplace
    - GTEST_SKIP
    - EXPECT_THAT
    - Optional
    - std::optional::reset
    - PageFlagsFriend::Get
    - FieldsAre
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, Read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:534,1
    - Dst: PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:536,1
    - Dst: PageFlagsFriend::CachedScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:537,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 542
    functionName: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 12
    functionsReached:
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - PageFlagsFriend::CachedScanSeconds
    - std::optional::emplace
    - EXPECT_EQ
    - std::optional::reset
    linkageType: ''
    returnType: void
    signature: void ExpectStaleSecondsFailedReadFrom(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:545,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:545,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - absl::StrCat
    - testing::TempDir
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, NotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:552,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:556,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:556,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:557,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 560
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, Bad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:565,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:569,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:569,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:570,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, IntOutOfBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:578,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:582,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:582,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 587
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, TextOverflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::PageFlagsFriend
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageFlagsFriend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::PageFlagsFriend
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    linkageType: ''
    returnType: void
    signature: void PageFlagsFriend(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:69,1
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 3
    functionsReached:
    - std::forward<Args>
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) Get(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:73,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 357
    functionsReached:
    - absl::string_view::data
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) MaybeReadStaleScanSeconds(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::CachedScanSeconds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) CachedScanSeconds()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::IsHugepageBacked
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) IsHugepageBacked(const void* const addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scan_seconds
    argTypes:
    - decltype(PageFlags::cached_scan_seconds_)
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::SetCachedScanSeconds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetCachedScanSeconds(\n      decltype(PageFlags::cached_scan_seconds_)
      scan_seconds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' s'
    argTypes:
    - std::ostream
    - PageStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '& operator<<(std::ostream& os, const PageStats& s)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const PageStats& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:114,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:114,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:115,1
    - Dst: signal_safe_write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: absl::string_view::length
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:118,1
    - Dst: absl::string_view::length
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:118,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:119,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - content
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: tcmalloc::tcmalloc_internal::SetContents
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 16
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - signal_safe_write
    - signal_safe_close
    - absl::string_view::length
    - CHECK_EQ
    - CHECK_NE
    linkageType: ''
    returnType: void
    signature: void SetContents(absl::string_view filename, absl::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:123,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:125,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - Get
    - Optional
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Smoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:129,1
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: std::begin
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: std::end
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlags::Get
    - GTEST_SKIP
    - std::end
    - EXPECT_THAT
    - Optional
    - ::benchmark::DoNotOptimize
    - std::fill
    - reinterpret_cast<void*>
    - std::begin
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:141,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:143,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:146,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:147,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:148,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:152,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:153,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlags::Get
    - getpagesize
    - GTEST_SKIP
    - madvise
    - EXPECT_THAT
    - Optional
    - mmap
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:170,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:175,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:176,1
    - Dst: strerror
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:177,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:179,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:179,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:180,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:182,1
    - Dst: ::lseek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:182,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:195,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:195,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:196,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:196,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - filename
    - obj
    - size
    argTypes:
    - absl::string_view
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 8
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - getpagesize
    - reinterpret_cast<uintptr_t>
    - signal_safe_read
    - write
    - reinterpret_cast<char*>
    - close
    - CHECK_EQ
    - CHECK_NE
    - strerror
    - ::lseek
    - reinterpret_cast<void*>
    - std::array::data
    linkageType: ''
    returnType: void
    signature: void * GenerateAllStaleTest(absl::string_view filename, void* obj,
      size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:206,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:206,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:207,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:208,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:210,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:213,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:219,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:219,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:220,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:222,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:224,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:231,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:232,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:235,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:236,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:236,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:238,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:238,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:243,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:244,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:244,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:245,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:246,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:249,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:251,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:254,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:254,1
    - Dst: PageFlagsFriend::SetCachedScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:258,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:270,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:270,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:271,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:275,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:276,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:277,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:281,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:281,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:282,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:286,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:287,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:288,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:294,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:295,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:296,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:296,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:304,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:307,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:307,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 308
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - getpagesize
    - reinterpret_cast<char*>
    - absl::Now
    - reinterpret_cast<void*>
    - PageFlagsFriend::Get
    - madvise
    - ASSERT_NE
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Optional
    - reinterpret_cast<uintptr_t>
    - FieldsAre
    - ASSERT_EQ
    - PageFlags::Get
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - absl::GetFlag
    - absl::Uniform
    - EXPECT_TRUE
    - ASSERT_THAT
    - auto::has_value
    - PageFlagsFriend::SetCachedScanSeconds
    - ASSERT_TRUE
    - munmap
    - absl::SleepFor
    - GTEST_SKIP
    - EXPECT_THAT
    - mmap
    - LOG
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Stale)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:311,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:321,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:321,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:322,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:323,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:323,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:325,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:328,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:334,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:334,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:335,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:335,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:337,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:339,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:344,1
    - Dst: mlock
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:344,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:347,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:349,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:350,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:350,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:352,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:359,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:360,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:360,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:361,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:361,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:364,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:364,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:365,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:367,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 368
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - getpagesize
    - reinterpret_cast<char*>
    - absl::Now
    - reinterpret_cast<void*>
    - madvise
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Optional
    - mlock
    - ASSERT_EQ
    - PageFlags::Get
    - absl::Uniform
    - ASSERT_THAT
    - auto::has_value
    - ASSERT_TRUE
    - munmap
    - absl::SleepFor
    - GTEST_SKIP
    - mmap
    - LOG
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:371,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:377,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:377,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:379,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:379,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:380,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:382,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:385,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:385,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 390
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, OnlyTails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:397,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:405,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:405,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:407,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:407,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:408,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:413,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:413,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: PageFlagsFriend::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:419,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:419,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:422,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:423,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:424,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - PageFlagsFriend::IsHugepageBacked
    - getpagesize
    - signal_safe_close
    - std::vector::size
    - write
    - test_hugepage_status
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - CHECK_EQ
    - ASSERT_EQ
    - std::vector::data
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, IsHugepageBacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:429,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:440,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:440,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:442,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:442,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:443,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:448,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:448,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:452,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:454,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:457,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:458,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:459,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:459,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:461,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:462,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 464
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - EXPECT_THAT
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - Optional
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, TooManyTails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:467,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:473,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:473,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:475,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:475,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:476,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:481,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:481,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:484,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - EXPECT_THAT
    - std::string::c_str
    - close
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, NotThp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:489,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotOpen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:494,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:499,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotSeek)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:505,1
    - Dst: std::make_unique<std::array<char, (1 << 22)>>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:507,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:511,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:515,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:515,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:516,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:518,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:518,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:519,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:522,1
    - Dst: PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:524,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:525,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:526,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 530
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - testing::TempDir
    - std::make_unique<std::array<char, (1 << 22)>>
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - tcmalloc::tcmalloc_internal::SetContents
    - std::optional::emplace
    - GTEST_SKIP
    - EXPECT_THAT
    - Optional
    - std::optional::reset
    - PageFlagsFriend::Get
    - FieldsAre
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, Read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:534,1
    - Dst: PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:536,1
    - Dst: PageFlagsFriend::CachedScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:537,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 542
    functionName: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 16
    functionsReached:
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - PageFlagsFriend::CachedScanSeconds
    - std::optional::emplace
    - EXPECT_EQ
    - std::optional::reset
    linkageType: ''
    returnType: void
    signature: void ExpectStaleSecondsFailedReadFrom(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:545,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:545,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - absl::StrCat
    - testing::TempDir
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, NotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:552,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:556,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:556,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:557,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 560
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, Bad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:565,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:569,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:569,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:570,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, IntOutOfBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:578,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:582,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:582,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 587
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, TextOverflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:114,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:114,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:115,1
    - Dst: signal_safe_write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: absl::string_view::length
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:118,1
    - Dst: absl::string_view::length
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:118,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:119,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - content
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: tcmalloc::tcmalloc_internal::SetContents
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 20
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - signal_safe_write
    - signal_safe_close
    - absl::string_view::length
    - CHECK_EQ
    - CHECK_NE
    linkageType: ''
    returnType: void
    signature: void SetContents(absl::string_view filename, absl::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:123,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:125,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - Get
    - Optional
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Smoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:129,1
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: std::begin
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: std::end
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlags::Get
    - GTEST_SKIP
    - std::end
    - EXPECT_THAT
    - Optional
    - ::benchmark::DoNotOptimize
    - std::fill
    - reinterpret_cast<void*>
    - std::begin
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:141,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:143,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:146,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:147,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:148,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:152,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:153,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlags::Get
    - getpagesize
    - GTEST_SKIP
    - madvise
    - EXPECT_THAT
    - Optional
    - mmap
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:170,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:175,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:176,1
    - Dst: strerror
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:177,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:179,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:179,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:180,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:182,1
    - Dst: ::lseek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:182,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:195,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:195,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:196,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:196,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - filename
    - obj
    - size
    argTypes:
    - absl::string_view
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 10
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - getpagesize
    - reinterpret_cast<uintptr_t>
    - signal_safe_read
    - write
    - reinterpret_cast<char*>
    - close
    - CHECK_EQ
    - CHECK_NE
    - strerror
    - ::lseek
    - reinterpret_cast<void*>
    - std::array::data
    linkageType: ''
    returnType: void
    signature: void * GenerateAllStaleTest(absl::string_view filename, void* obj,
      size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:206,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:206,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:207,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:208,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:210,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:213,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:219,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:219,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:220,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:222,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:224,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:231,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:232,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:235,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:236,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:236,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:238,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:238,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:243,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:244,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:244,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:245,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:246,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:249,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:251,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:254,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:254,1
    - Dst: PageFlagsFriend::SetCachedScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:258,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:270,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:270,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:271,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:275,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:276,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:277,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:281,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:281,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:282,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:286,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:287,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:288,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:294,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:295,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:296,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:296,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:304,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:307,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:307,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 308
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - getpagesize
    - reinterpret_cast<char*>
    - absl::Now
    - reinterpret_cast<void*>
    - PageFlagsFriend::Get
    - madvise
    - ASSERT_NE
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Optional
    - reinterpret_cast<uintptr_t>
    - FieldsAre
    - ASSERT_EQ
    - PageFlags::Get
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - absl::GetFlag
    - absl::Uniform
    - EXPECT_TRUE
    - ASSERT_THAT
    - auto::has_value
    - PageFlagsFriend::SetCachedScanSeconds
    - ASSERT_TRUE
    - munmap
    - absl::SleepFor
    - GTEST_SKIP
    - EXPECT_THAT
    - mmap
    - LOG
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Stale)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:311,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:321,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:321,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:322,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:323,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:323,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:325,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:328,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:334,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:334,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:335,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:335,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:337,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:339,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:344,1
    - Dst: mlock
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:344,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:347,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:349,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:350,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:350,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:352,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:359,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:360,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:360,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:361,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:361,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:364,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:364,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:365,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:367,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 368
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - getpagesize
    - reinterpret_cast<char*>
    - absl::Now
    - reinterpret_cast<void*>
    - madvise
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Optional
    - mlock
    - ASSERT_EQ
    - PageFlags::Get
    - absl::Uniform
    - ASSERT_THAT
    - auto::has_value
    - ASSERT_TRUE
    - munmap
    - absl::SleepFor
    - GTEST_SKIP
    - mmap
    - LOG
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:371,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:377,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:377,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:379,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:379,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:380,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:382,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:385,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:385,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 390
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, OnlyTails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:397,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:405,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:405,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:407,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:407,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:408,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:413,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:413,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: PageFlagsFriend::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:419,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:419,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:422,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:423,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:424,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - PageFlagsFriend::IsHugepageBacked
    - getpagesize
    - signal_safe_close
    - std::vector::size
    - write
    - test_hugepage_status
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - CHECK_EQ
    - ASSERT_EQ
    - std::vector::data
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, IsHugepageBacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:429,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:440,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:440,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:442,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:442,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:443,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:448,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:448,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:452,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:454,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:457,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:458,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:459,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:459,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:461,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:462,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 464
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - EXPECT_THAT
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - Optional
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, TooManyTails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:467,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:473,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:473,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:475,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:475,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:476,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:481,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:481,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:484,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - EXPECT_THAT
    - std::string::c_str
    - close
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, NotThp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:489,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotOpen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:494,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:499,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotSeek)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:505,1
    - Dst: std::make_unique<std::array<char, (1 << 22)>>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:507,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:511,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:515,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:515,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:516,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:518,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:518,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:519,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:522,1
    - Dst: PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:524,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:525,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:526,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 530
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - testing::TempDir
    - std::make_unique<std::array<char, (1 << 22)>>
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - tcmalloc::tcmalloc_internal::SetContents
    - std::optional::emplace
    - GTEST_SKIP
    - EXPECT_THAT
    - Optional
    - std::optional::reset
    - PageFlagsFriend::Get
    - FieldsAre
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, Read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:534,1
    - Dst: PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:536,1
    - Dst: PageFlagsFriend::CachedScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:537,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 542
    functionName: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 20
    functionsReached:
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - PageFlagsFriend::CachedScanSeconds
    - std::optional::emplace
    - EXPECT_EQ
    - std::optional::reset
    linkageType: ''
    returnType: void
    signature: void ExpectStaleSecondsFailedReadFrom(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:545,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:545,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - absl::StrCat
    - testing::TempDir
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, NotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:552,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:556,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:556,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:557,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 560
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, Bad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:565,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:569,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:569,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:570,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, IntOutOfBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:578,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:582,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:582,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 587
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, TextOverflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::PageFlagsFriend
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageFlagsFriend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::PageFlagsFriend
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    linkageType: ''
    returnType: void
    signature: void PageFlagsFriend(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:69,1
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 4
    functionsReached:
    - std::forward<Args>
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) Get(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:73,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 362
    functionsReached:
    - absl::string_view::data
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) MaybeReadStaleScanSeconds(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::CachedScanSeconds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) CachedScanSeconds()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::IsHugepageBacked
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) IsHugepageBacked(const void* const addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scan_seconds
    argTypes:
    - decltype(PageFlags::cached_scan_seconds_)
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::PageFlagsFriend::SetCachedScanSeconds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetCachedScanSeconds(\n      decltype(PageFlags::cached_scan_seconds_)
      scan_seconds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' s'
    argTypes:
    - std::ostream
    - PageStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '& operator<<(std::ostream& os, const PageStats& s)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const PageStats& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:114,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:114,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:115,1
    - Dst: signal_safe_write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: absl::string_view::length
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:118,1
    - Dst: absl::string_view::length
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:118,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:119,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - content
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: tcmalloc::tcmalloc_internal::SetContents
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 24
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - signal_safe_write
    - signal_safe_close
    - absl::string_view::length
    - CHECK_EQ
    - CHECK_NE
    linkageType: ''
    returnType: void
    signature: void SetContents(absl::string_view filename, absl::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:123,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:125,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - Get
    - Optional
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Smoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:129,1
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: std::begin
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: std::end
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlags::Get
    - GTEST_SKIP
    - std::end
    - EXPECT_THAT
    - Optional
    - ::benchmark::DoNotOptimize
    - std::fill
    - reinterpret_cast<void*>
    - std::begin
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:141,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:143,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:146,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:147,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:148,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:152,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:153,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlags::Get
    - getpagesize
    - GTEST_SKIP
    - madvise
    - EXPECT_THAT
    - Optional
    - mmap
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:170,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:175,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:176,1
    - Dst: strerror
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:177,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:179,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:179,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:180,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:182,1
    - Dst: ::lseek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:182,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:195,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:195,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:196,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:196,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - filename
    - obj
    - size
    argTypes:
    - absl::string_view
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 12
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - getpagesize
    - reinterpret_cast<uintptr_t>
    - signal_safe_read
    - write
    - reinterpret_cast<char*>
    - close
    - CHECK_EQ
    - CHECK_NE
    - strerror
    - ::lseek
    - reinterpret_cast<void*>
    - std::array::data
    linkageType: ''
    returnType: void
    signature: void * GenerateAllStaleTest(absl::string_view filename, void* obj,
      size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:206,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:206,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:207,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:208,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:210,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:213,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:219,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:219,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:220,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:222,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:224,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:231,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:232,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:235,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:236,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:236,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:238,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:238,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:243,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:244,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:244,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:245,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:246,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:249,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:251,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:254,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:254,1
    - Dst: PageFlagsFriend::SetCachedScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:258,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:270,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:270,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:271,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:275,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:276,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:277,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:281,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:281,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:282,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:286,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:287,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:288,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:294,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:295,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:296,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:296,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:304,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:307,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:307,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 308
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - getpagesize
    - reinterpret_cast<char*>
    - absl::Now
    - reinterpret_cast<void*>
    - PageFlagsFriend::Get
    - madvise
    - ASSERT_NE
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Optional
    - reinterpret_cast<uintptr_t>
    - FieldsAre
    - ASSERT_EQ
    - PageFlags::Get
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - absl::GetFlag
    - absl::Uniform
    - EXPECT_TRUE
    - ASSERT_THAT
    - auto::has_value
    - PageFlagsFriend::SetCachedScanSeconds
    - ASSERT_TRUE
    - munmap
    - absl::SleepFor
    - GTEST_SKIP
    - EXPECT_THAT
    - mmap
    - LOG
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Stale)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:311,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:321,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:321,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:322,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:323,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:323,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:325,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:328,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:334,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:334,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:335,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:335,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:337,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:339,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:344,1
    - Dst: mlock
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:344,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:347,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:349,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:350,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:350,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:352,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:359,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:360,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:360,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:361,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:361,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:364,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:364,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:365,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:367,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 368
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - getpagesize
    - reinterpret_cast<char*>
    - absl::Now
    - reinterpret_cast<void*>
    - madvise
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Optional
    - mlock
    - ASSERT_EQ
    - PageFlags::Get
    - absl::Uniform
    - ASSERT_THAT
    - auto::has_value
    - ASSERT_TRUE
    - munmap
    - absl::SleepFor
    - GTEST_SKIP
    - mmap
    - LOG
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:371,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:377,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:377,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:379,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:379,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:380,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:382,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:385,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:385,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 390
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, OnlyTails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:397,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:405,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:405,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:407,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:407,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:408,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:413,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:413,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: PageFlagsFriend::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:419,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:419,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:422,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:423,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:424,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - PageFlagsFriend::IsHugepageBacked
    - getpagesize
    - signal_safe_close
    - std::vector::size
    - write
    - test_hugepage_status
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - CHECK_EQ
    - ASSERT_EQ
    - std::vector::data
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, IsHugepageBacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:429,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:440,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:440,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:442,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:442,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:443,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:448,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:448,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:452,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:454,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:457,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:458,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:459,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:459,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:461,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:462,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 464
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - EXPECT_THAT
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - Optional
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, TooManyTails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:467,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:473,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:473,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:475,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:475,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:476,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:481,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:481,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:484,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - EXPECT_THAT
    - std::string::c_str
    - close
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, NotThp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:489,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotOpen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:494,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:499,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotSeek)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:505,1
    - Dst: std::make_unique<std::array<char, (1 << 22)>>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:507,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:511,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:515,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:515,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:516,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:518,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:518,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:519,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:522,1
    - Dst: PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:524,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:525,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:526,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 530
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - testing::TempDir
    - std::make_unique<std::array<char, (1 << 22)>>
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - tcmalloc::tcmalloc_internal::SetContents
    - std::optional::emplace
    - GTEST_SKIP
    - EXPECT_THAT
    - Optional
    - std::optional::reset
    - PageFlagsFriend::Get
    - FieldsAre
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, Read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:534,1
    - Dst: PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:536,1
    - Dst: PageFlagsFriend::CachedScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:537,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 542
    functionName: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 24
    functionsReached:
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - PageFlagsFriend::CachedScanSeconds
    - std::optional::emplace
    - EXPECT_EQ
    - std::optional::reset
    linkageType: ''
    returnType: void
    signature: void ExpectStaleSecondsFailedReadFrom(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:545,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:545,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - absl::StrCat
    - testing::TempDir
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, NotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:552,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:556,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:556,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:557,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 560
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, Bad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:565,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:569,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:569,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:570,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, IntOutOfBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:578,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:582,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:582,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 587
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, TextOverflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:114,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:114,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:115,1
    - Dst: signal_safe_write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: absl::string_view::length
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:117,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:118,1
    - Dst: absl::string_view::length
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:118,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:119,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - content
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: tcmalloc::tcmalloc_internal::SetContents
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 28
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - signal_safe_write
    - signal_safe_close
    - absl::string_view::length
    - CHECK_EQ
    - CHECK_NE
    linkageType: ''
    returnType: void
    signature: void SetContents(absl::string_view filename, absl::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:123,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:125,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - Get
    - Optional
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Smoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:129,1
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: std::begin
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: std::end
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:132,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:136,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlags::Get
    - GTEST_SKIP
    - std::end
    - EXPECT_THAT
    - Optional
    - ::benchmark::DoNotOptimize
    - std::fill
    - reinterpret_cast<void*>
    - std::begin
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:141,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:143,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:146,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:147,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:148,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:152,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:153,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:156,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlags::Get
    - getpagesize
    - GTEST_SKIP
    - madvise
    - EXPECT_THAT
    - Optional
    - mmap
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:170,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:175,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:176,1
    - Dst: strerror
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:177,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:179,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:179,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:180,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:182,1
    - Dst: ::lseek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:182,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:185,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: std::array::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:193,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:195,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:195,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:196,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:196,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - filename
    - obj
    - size
    argTypes:
    - absl::string_view
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 14
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - getpagesize
    - reinterpret_cast<uintptr_t>
    - signal_safe_read
    - write
    - reinterpret_cast<char*>
    - close
    - CHECK_EQ
    - CHECK_NE
    - strerror
    - ::lseek
    - reinterpret_cast<void*>
    - std::array::data
    linkageType: ''
    returnType: void
    signature: void * GenerateAllStaleTest(absl::string_view filename, void* obj,
      size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:206,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:206,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:207,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:208,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:210,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:213,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:219,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:219,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:220,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:222,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:224,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:227,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:231,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:232,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:235,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:236,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:236,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:238,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:238,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:243,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:244,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:244,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:245,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:246,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:249,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:251,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:254,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:254,1
    - Dst: PageFlagsFriend::SetCachedScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:258,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:270,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:270,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:271,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:275,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:276,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:277,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:281,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:281,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:282,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:286,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:287,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:288,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:294,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:295,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:296,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:296,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:301,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:304,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:307,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:307,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 308
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - getpagesize
    - reinterpret_cast<char*>
    - absl::Now
    - reinterpret_cast<void*>
    - PageFlagsFriend::Get
    - madvise
    - ASSERT_NE
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Optional
    - reinterpret_cast<uintptr_t>
    - FieldsAre
    - ASSERT_EQ
    - PageFlags::Get
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - absl::GetFlag
    - absl::Uniform
    - EXPECT_TRUE
    - ASSERT_THAT
    - auto::has_value
    - PageFlagsFriend::SetCachedScanSeconds
    - ASSERT_TRUE
    - munmap
    - absl::SleepFor
    - GTEST_SKIP
    - EXPECT_THAT
    - mmap
    - LOG
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Stale)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:311,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:321,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:321,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:322,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:323,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:323,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:325,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:328,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:332,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:334,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:334,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:335,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:335,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:337,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:339,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:342,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:344,1
    - Dst: mlock
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:344,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:347,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:349,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:350,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:350,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:352,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:359,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:360,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:360,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:361,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:361,1
    - Dst: PageFlags::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:364,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:364,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:365,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:367,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 368
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - getpagesize
    - reinterpret_cast<char*>
    - absl::Now
    - reinterpret_cast<void*>
    - madvise
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Optional
    - mlock
    - ASSERT_EQ
    - PageFlags::Get
    - absl::Uniform
    - ASSERT_THAT
    - auto::has_value
    - ASSERT_TRUE
    - munmap
    - absl::SleepFor
    - GTEST_SKIP
    - mmap
    - LOG
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, Locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:371,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:377,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:377,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:379,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:379,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:380,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:382,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:383,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:385,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:385,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 390
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, OnlyTails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:397,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:405,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:405,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:407,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:407,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:408,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:413,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:413,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: PageFlagsFriend::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:417,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:419,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:419,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:422,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:423,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:424,1
    - Dst: test_hugepage_status
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 426
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - PageFlagsFriend::IsHugepageBacked
    - getpagesize
    - signal_safe_close
    - std::vector::size
    - write
    - test_hugepage_status
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - CHECK_EQ
    - ASSERT_EQ
    - std::vector::data
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, IsHugepageBacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:429,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:440,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:440,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:442,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:442,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:443,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:448,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:448,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:451,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:452,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:453,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:454,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:456,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:457,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:458,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:459,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:459,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:461,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:462,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 464
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - EXPECT_THAT
    - std::string::c_str
    - close
    - reinterpret_cast<char*>
    - Optional
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, TooManyTails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:467,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:473,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:473,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:475,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:475,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:476,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:481,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:481,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:484,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - testing::TempDir
    - getpagesize
    - std::vector::size
    - write
    - EXPECT_THAT
    - std::string::c_str
    - close
    - ASSERT_EQ
    - std::vector::data
    - PageFlagsFriend::Get
    - absl::StrCat
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, NotThp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:489,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotOpen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:494,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:499,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PageFlagsTest, CannotSeek)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:505,1
    - Dst: std::make_unique<std::array<char, (1 << 22)>>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:507,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:511,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:515,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:515,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateAllStaleTest
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:516,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:518,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:518,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:519,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:522,1
    - Dst: PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:524,1
    - Dst: PageFlagsFriend::Get
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:525,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:526,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 530
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - testing::TempDir
    - std::make_unique<std::array<char, (1 << 22)>>
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - tcmalloc::tcmalloc_internal::SetContents
    - std::optional::emplace
    - GTEST_SKIP
    - EXPECT_THAT
    - Optional
    - std::optional::reset
    - PageFlagsFriend::Get
    - FieldsAre
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, Read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:534,1
    - Dst: PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:536,1
    - Dst: PageFlagsFriend::CachedScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:537,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 542
    functionName: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 28
    functionsReached:
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - PageFlagsFriend::CachedScanSeconds
    - std::optional::emplace
    - EXPECT_EQ
    - std::optional::reset
    linkageType: ''
    returnType: void
    signature: void ExpectStaleSecondsFailedReadFrom(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:545,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:545,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - absl::StrCat
    - testing::TempDir
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, NotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:552,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:556,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:556,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:557,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 560
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, Bad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:565,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:569,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:569,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:570,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, IntOutOfBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:578,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:582,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:582,1
    - Dst: tcmalloc::tcmalloc_internal::SetContents
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
      Src: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 587
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SetContents
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - GTEST_SKIP
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(StaleSeconds, TextOverflow)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: PageThp
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:74,1
    - Dst: PageHugetlbfs
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:74,1
    - Dst: PageStale
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:89,1
    - Dst: PageLocked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:90,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:96,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:99,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:101,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:107,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:112,1
    - Dst: GetOffset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:117,1
    - Dst: ::lseek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:119,1
    - Dst: Seek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:128,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:130,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:130,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:136,1
    - Dst: PageHead
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:136,1
    - Dst: PageTail
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:136,1
    - Dst: PageThp
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:137,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:138,1
    - Dst: PageTail
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:142,1
    - Dst: Seek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:143,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:146,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:146,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:151,1
    - Dst: PageTail
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:151,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:152,1
    - Dst: PageHead
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:162,1
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:170,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:176,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:176,1
    - Dst: PageHead
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:181,1
    - Dst: PageTail
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:185,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:186,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:187,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:192,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:194,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:208,1
    - Dst: Seek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:213,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:216,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:216,1
    - Dst: IsHugepage
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:222,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:237,1
    - Dst: MaybeReadOne
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:249,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:253,1
    - Dst: MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:255,1
    - Dst: MaybeReadOne
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:266,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:290,1
    - Dst: MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:293,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:300,1
    - Dst: Seek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:307,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:313,1
    - Dst: ReadMany
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:317,1
    - Dst: MaybeReadOne
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:325,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:329,1
    - Dst: MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:332,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:340,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:342,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:345,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:347,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:349,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:354,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:358,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:359,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 175
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 367
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - ABSL_PREDICT_FALSE
    - reinterpret_cast<char*>
    - absl::SimpleAtoi
    - ::lseek
    - PageThp
    - PageLocked
    - PageStale
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT_EQ
    - MaybeReadOne
    - IsHugepage
    - ReadMany
    - Seek
    - MaybeReadStaleScanSeconds
    - MaybeAddToStats
    - signal_safe_open
    - std::min<int64_t>
    - PageTail
    - signal_safe_read
    - GetOffset
    - TC_LOG
    - PageHead
    - PageHugetlbfs
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: tcmalloc_internal::PageHead
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageHead(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: tcmalloc_internal::PageTail
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageTail(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tcmalloc_internal::PageThp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageThp(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::PageHugetlbfs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageHugetlbfs(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageThp
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:74,1
    - Dst: tcmalloc_internal::PageHugetlbfs
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: tcmalloc_internal::IsHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageHugetlbfs
    - tcmalloc_internal::PageThp
    linkageType: ''
    returnType: bool
    signature: bool IsHugepage(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::PageStale
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageStale(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::PageLocked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageLocked(uint64_t flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageStale
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:89,1
    - Dst: tcmalloc_internal::PageLocked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' stats'
    - flags
    - delta
    argTypes:
    - PageStats
    - uint64_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::MaybeAddToStats
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageStale
    - tcmalloc_internal::PageLocked
    linkageType: ''
    returnType: void
    signature: "void MaybeAddToStats(PageStats& stats, const uint64_t flags,\n                     const
      size_t delta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: tcmalloc_internal::PageHead
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageHead(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: tcmalloc_internal::PageTail
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageTail(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tcmalloc_internal::PageThp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageThp(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::PageHugetlbfs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageHugetlbfs(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageThp
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:74,1
    - Dst: tcmalloc_internal::PageHugetlbfs
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: tcmalloc_internal::IsHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageHugetlbfs
    - tcmalloc_internal::PageThp
    linkageType: ''
    returnType: bool
    signature: bool IsHugepage(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::PageStale
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageStale(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::PageLocked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageLocked(uint64_t flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageStale
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:89,1
    - Dst: tcmalloc_internal::PageLocked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' stats'
    - flags
    - delta
    argTypes:
    - PageStats
    - uint64_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::MaybeAddToStats
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageStale
    - tcmalloc_internal::PageLocked
    linkageType: ''
    returnType: void
    signature: "void MaybeAddToStats(PageStats& stats, const uint64_t flags,\n                     const
      size_t delta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::PageFlags::PageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    linkageType: ''
    returnType: void
    signature: void PageFlags::PageFlags()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:99,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - alternate_filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: tcmalloc_internal::PageFlags::PageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - TC_LOG
    linkageType: ''
    returnType: void
    signature: void PageFlags::PageFlags(const char* const alternate_filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: PageFlags::~PageFlags()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    linkageType: ''
    returnType: void
    signature: void PageFlags::~PageFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vaddr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: tcmalloc_internal::PageFlags::GetOffset
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: size_t
    signature: size_t PageFlags::GetOffset(const uintptr_t vaddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageFlags::GetOffset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:117,1
    - Dst: ::lseek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vaddr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: tcmalloc_internal::PageFlags::Seek
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - ::lseek
    - tcmalloc_internal::PageFlags::GetOffset
    linkageType: ''
    returnType: absl::StatusCode
    signature: absl::StatusCode PageFlags::Seek(const uintptr_t vaddr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageFlags::Seek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:128,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:130,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:130,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:136,1
    - Dst: PageHead
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:136,1
    - Dst: PageTail
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:136,1
    - Dst: PageThp
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:137,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:138,1
    - Dst: PageTail
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:142,1
    - Dst: tcmalloc_internal::PageFlags::Seek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:143,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:146,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:146,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:151,1
    - Dst: PageTail
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:151,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:152,1
    - Dst: PageHead
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:162,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - vaddr
    - ' flags'
    - ' is_huge'
    argTypes:
    - uintptr_t
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 166
    functionName: tcmalloc_internal::PageFlags::MaybeReadOne
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - PageTail
    - ABSL_PREDICT_FALSE
    - PageThp
    - signal_safe_read
    - reinterpret_cast<char*>
    - TC_LOG
    - PageHead
    - tcmalloc_internal::PageFlags::Seek
    linkageType: ''
    returnType: absl::StatusCode
    signature: "absl::StatusCode PageFlags::MaybeReadOne(uintptr_t vaddr, uint64_t&
      flags,\n                                         bool& is_huge)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:170,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:176,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:176,1
    - Dst: PageHead
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:181,1
    - Dst: PageTail
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:185,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:186,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:187,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:192,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - num_pages
    - ' output'
    argTypes:
    - int64_t
    - PageStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::PageFlags::ReadMany
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - std::min<int64_t>
    - PageTail
    - ABSL_PREDICT_FALSE
    - signal_safe_read
    - MaybeAddToStats
    - reinterpret_cast<char*>
    - TC_LOG
    - PageHead
    linkageType: ''
    returnType: absl::StatusCode
    signature: absl::StatusCode PageFlags::ReadMany(int64_t num_pages, PageStats&
      output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:208,1
    - Dst: tcmalloc_internal::PageFlags::Seek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:213,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:216,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:216,1
    - Dst: IsHugepage
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 223
    functionName: tcmalloc_internal::PageFlags::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - signal_safe_read
    - reinterpret_cast<char*>
    - IsHugepage
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::PageFlags::Seek
    linkageType: ''
    returnType: bool
    signature: bool PageFlags::IsHugepageBacked(const void* const addr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:237,1
    - Dst: tcmalloc_internal::PageFlags::MaybeReadOne
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:249,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:253,1
    - Dst: tcmalloc_internal::PageFlags::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:255,1
    - Dst: tcmalloc_internal::PageFlags::MaybeReadOne
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:266,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:290,1
    - Dst: tcmalloc_internal::PageFlags::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:293,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:300,1
    - Dst: tcmalloc_internal::PageFlags::Seek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:307,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:313,1
    - Dst: tcmalloc_internal::PageFlags::ReadMany
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:317,1
    - Dst: tcmalloc_internal::PageFlags::MaybeReadOne
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:325,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:329,1
    - Dst: tcmalloc_internal::PageFlags::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:332,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 335
    functionName: tcmalloc_internal::PageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageFlags::MaybeReadStaleScanSeconds
    - tcmalloc_internal::PageFlags::ReadMany
    - tcmalloc_internal::PageFlags::MaybeReadOne
    - reinterpret_cast<uintptr_t>
    - MaybeAddToStats
    - tcmalloc_internal::PageFlags::Seek
    linkageType: ''
    returnType: std::optional<PageStats>
    signature: "std::optional<PageStats> PageFlags::Get(const void* const addr,\n
      \                                       const size_t size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:340,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:342,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:345,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:347,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:349,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:354,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:358,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 364
    functionName: tcmalloc_internal::PageFlags::MaybeReadStaleScanSeconds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 1
    functionsReached:
    - signal_safe_open
    - signal_safe_close
    - signal_safe_read
    - absl::SimpleAtoi
    - TC_LOG
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PageFlags::MaybeReadStaleScanSeconds(const char* filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: tcmalloc_internal::PageHead
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageHead(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: tcmalloc_internal::PageTail
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageTail(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tcmalloc_internal::PageThp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageThp(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::PageHugetlbfs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageHugetlbfs(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageThp
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:74,1
    - Dst: tcmalloc_internal::PageHugetlbfs
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: tcmalloc_internal::IsHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageHugetlbfs
    - tcmalloc_internal::PageThp
    linkageType: ''
    returnType: bool
    signature: bool IsHugepage(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::PageStale
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageStale(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::PageLocked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageLocked(uint64_t flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageStale
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:89,1
    - Dst: tcmalloc_internal::PageLocked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' stats'
    - flags
    - delta
    argTypes:
    - PageStats
    - uint64_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::MaybeAddToStats
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageStale
    - tcmalloc_internal::PageLocked
    linkageType: ''
    returnType: void
    signature: "void MaybeAddToStats(PageStats& stats, const uint64_t flags,\n                     const
      size_t delta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: tcmalloc_internal::PageHead
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageHead(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: tcmalloc_internal::PageTail
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageTail(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tcmalloc_internal::PageThp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageThp(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::PageHugetlbfs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageHugetlbfs(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageThp
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:74,1
    - Dst: tcmalloc_internal::PageHugetlbfs
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: tcmalloc_internal::IsHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageHugetlbfs
    - tcmalloc_internal::PageThp
    linkageType: ''
    returnType: bool
    signature: bool IsHugepage(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::PageStale
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageStale(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::PageLocked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PageLocked(uint64_t flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageStale
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:89,1
    - Dst: tcmalloc_internal::PageLocked
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' stats'
    - flags
    - delta
    argTypes:
    - PageStats
    - uint64_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::MaybeAddToStats
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageStale
    - tcmalloc_internal::PageLocked
    linkageType: ''
    returnType: void
    signature: "void MaybeAddToStats(PageStats& stats, const uint64_t flags,\n                     const
      size_t delta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::PageFlags::PageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    linkageType: ''
    returnType: void
    signature: void PageFlags::PageFlags()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:99,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - alternate_filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: tcmalloc_internal::PageFlags::PageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - TC_LOG
    linkageType: ''
    returnType: void
    signature: void PageFlags::PageFlags(const char* const alternate_filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: PageFlags::~PageFlags()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    linkageType: ''
    returnType: void
    signature: void PageFlags::~PageFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vaddr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: tcmalloc_internal::PageFlags::GetOffset
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 1
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: size_t
    signature: size_t PageFlags::GetOffset(const uintptr_t vaddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageFlags::GetOffset
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:117,1
    - Dst: ::lseek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vaddr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: tcmalloc_internal::PageFlags::Seek
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 3
    functionsReached:
    - ::lseek
    - tcmalloc_internal::PageFlags::GetOffset
    linkageType: ''
    returnType: absl::StatusCode
    signature: absl::StatusCode PageFlags::Seek(const uintptr_t vaddr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageFlags::Seek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:128,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:130,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:130,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:136,1
    - Dst: PageHead
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:136,1
    - Dst: PageTail
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:136,1
    - Dst: PageThp
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:137,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:138,1
    - Dst: PageTail
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:142,1
    - Dst: tcmalloc_internal::PageFlags::Seek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:143,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:146,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:146,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:151,1
    - Dst: PageTail
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:151,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:152,1
    - Dst: PageHead
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:162,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - vaddr
    - ' flags'
    - ' is_huge'
    argTypes:
    - uintptr_t
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 166
    functionName: tcmalloc_internal::PageFlags::MaybeReadOne
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 1
    functionsReached:
    - PageTail
    - ABSL_PREDICT_FALSE
    - PageThp
    - signal_safe_read
    - reinterpret_cast<char*>
    - TC_LOG
    - PageHead
    - tcmalloc_internal::PageFlags::Seek
    linkageType: ''
    returnType: absl::StatusCode
    signature: "absl::StatusCode PageFlags::MaybeReadOne(uintptr_t vaddr, uint64_t&
      flags,\n                                         bool& is_huge)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:170,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:176,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:176,1
    - Dst: PageHead
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:181,1
    - Dst: PageTail
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:185,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:186,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:187,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:192,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - num_pages
    - ' output'
    argTypes:
    - int64_t
    - PageStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::PageFlags::ReadMany
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 1
    functionsReached:
    - std::min<int64_t>
    - PageTail
    - ABSL_PREDICT_FALSE
    - signal_safe_read
    - MaybeAddToStats
    - reinterpret_cast<char*>
    - TC_LOG
    - PageHead
    linkageType: ''
    returnType: absl::StatusCode
    signature: absl::StatusCode PageFlags::ReadMany(int64_t num_pages, PageStats&
      output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:208,1
    - Dst: tcmalloc_internal::PageFlags::Seek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:213,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:216,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:216,1
    - Dst: IsHugepage
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 223
    functionName: tcmalloc_internal::PageFlags::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - signal_safe_read
    - reinterpret_cast<char*>
    - IsHugepage
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::PageFlags::Seek
    linkageType: ''
    returnType: bool
    signature: bool PageFlags::IsHugepageBacked(const void* const addr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:237,1
    - Dst: tcmalloc_internal::PageFlags::MaybeReadOne
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:249,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:253,1
    - Dst: tcmalloc_internal::PageFlags::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:255,1
    - Dst: tcmalloc_internal::PageFlags::MaybeReadOne
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:266,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:290,1
    - Dst: tcmalloc_internal::PageFlags::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:293,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:300,1
    - Dst: tcmalloc_internal::PageFlags::Seek
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:307,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:313,1
    - Dst: tcmalloc_internal::PageFlags::ReadMany
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:317,1
    - Dst: tcmalloc_internal::PageFlags::MaybeReadOne
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:325,1
    - Dst: MaybeAddToStats
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:329,1
    - Dst: tcmalloc_internal::PageFlags::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:332,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 335
    functionName: tcmalloc_internal::PageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageFlags::MaybeReadStaleScanSeconds
    - tcmalloc_internal::PageFlags::ReadMany
    - tcmalloc_internal::PageFlags::MaybeReadOne
    - reinterpret_cast<uintptr_t>
    - MaybeAddToStats
    - tcmalloc_internal::PageFlags::Seek
    linkageType: ''
    returnType: std::optional<PageStats>
    signature: "std::optional<PageStats> PageFlags::Get(const void* const addr,\n
      \                                       const size_t size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:340,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:342,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:345,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:347,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:349,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:354,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:358,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.cc:359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 364
    functionName: tcmalloc_internal::PageFlags::MaybeReadStaleScanSeconds
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.cc
    functionUses: 2
    functionsReached:
    - signal_safe_open
    - signal_safe_close
    - signal_safe_read
    - absl::SimpleAtoi
    - TC_LOG
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PageFlags::MaybeReadStaleScanSeconds(const char* filename)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 43
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_tag.cc
    functionUses: 0
    functionsReached:
    - ASSUME
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - tag
    argTypes:
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 41
    functionName: MemoryTagToLabel
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_tag.cc
    functionUses: 9
    functionsReached:
    - ASSUME
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view MemoryTagToLabel(MemoryTag tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:35,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:36,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::sa_alrm
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - fetch_add
    - IsFast
    linkageType: ''
    returnType: void
    signature: void sa_alrm(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:40,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:41,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:45,1
    - Dst: ABSL_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:47,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:47,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:50,1
    - Dst: absl::ToTimeval
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:51,1
    - Dst: setitimer
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:57,1
    - Dst: UnregisterRseq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:60,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:61,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:61,1
    - Dst: absl::ToTimeval
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:64,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:64,1
    - Dst: setitimer
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:68,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:70,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - load
    - ABSL_CHECK_EQ
    - IsFast
    - sigaction
    - GTEST_SKIP
    - absl::ToTimeval
    - EXPECT_GT
    - absl::Microseconds
    - UnregisterRseq
    - memset
    - TC_CHECK
    - setitimer
    linkageType: ''
    returnType: void
    signature: void TEST(PerCpu, SignalHandling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:35,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:36,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::sa_alrm
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - fetch_add
    - IsFast
    linkageType: ''
    returnType: void
    signature: void sa_alrm(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:40,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:41,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:45,1
    - Dst: ABSL_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:47,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:47,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:50,1
    - Dst: absl::ToTimeval
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:51,1
    - Dst: setitimer
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:57,1
    - Dst: UnregisterRseq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:60,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:61,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:61,1
    - Dst: absl::ToTimeval
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:64,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:64,1
    - Dst: setitimer
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:68,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:70,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - load
    - ABSL_CHECK_EQ
    - IsFast
    - sigaction
    - GTEST_SKIP
    - absl::ToTimeval
    - EXPECT_GT
    - absl::Microseconds
    - UnregisterRseq
    - memset
    - TC_CHECK
    - setitimer
    linkageType: ''
    returnType: void
    signature: void TEST(PerCpu, SignalHandling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:35,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:36,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::sa_alrm
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - fetch_add
    - IsFast
    linkageType: ''
    returnType: void
    signature: void sa_alrm(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:40,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:41,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:45,1
    - Dst: ABSL_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:47,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:47,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:50,1
    - Dst: absl::ToTimeval
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:51,1
    - Dst: setitimer
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:57,1
    - Dst: UnregisterRseq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:60,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:61,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:61,1
    - Dst: absl::ToTimeval
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:64,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:64,1
    - Dst: setitimer
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:68,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:70,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - load
    - ABSL_CHECK_EQ
    - IsFast
    - sigaction
    - GTEST_SKIP
    - absl::ToTimeval
    - EXPECT_GT
    - absl::Microseconds
    - UnregisterRseq
    - memset
    - TC_CHECK
    - setitimer
    linkageType: ''
    returnType: void
    signature: void TEST(PerCpu, SignalHandling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:35,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:36,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::sa_alrm
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - fetch_add
    - IsFast
    linkageType: ''
    returnType: void
    signature: void sa_alrm(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:40,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:41,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:45,1
    - Dst: ABSL_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:47,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:47,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:50,1
    - Dst: absl::ToTimeval
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:51,1
    - Dst: setitimer
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:57,1
    - Dst: UnregisterRseq
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:60,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:61,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:61,1
    - Dst: absl::ToTimeval
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:64,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:64,1
    - Dst: setitimer
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:68,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:70,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_test.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - load
    - ABSL_CHECK_EQ
    - IsFast
    - sigaction
    - GTEST_SKIP
    - absl::ToTimeval
    - EXPECT_GT
    - absl::Microseconds
    - UnregisterRseq
    - memset
    - TC_CHECK
    - setitimer
    linkageType: ''
    returnType: void
    signature: void TEST(PerCpu, SignalHandling)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:42,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:56,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:57,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:63,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:64,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:65,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:65,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:66,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:71,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:76,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:80,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:82,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:86,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:126,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 136
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - absl::string_view::substr
    - static_cast<ssize_t>
    - GetPageSize
    - signal_safe_close
    - signal_safe_read
    - absl::string_view::find
    - absl::SimpleAtoi
    - absl::string_view::size
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc_internal::FDCloser
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FDCloser()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: ~FDCloser()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_close
    linkageType: ''
    returnType: void
    signature: void ~FDCloser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc_internal::FDCloser
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FDCloser()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: ~FDCloser()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::signal_safe_close
    linkageType: ''
    returnType: void
    signature: void ~FDCloser()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:56,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:57,1
    - Dst: tcmalloc_internal::signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:63,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:64,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:65,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:65,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:66,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:71,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:76,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:80,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:82,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:86,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:126,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 1
    argNames:
    - stats
    argTypes:
    - MemoryStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 133
    functionName: tcmalloc_internal::GetMemoryStats
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats.cc
    functionUses: 8
    functionsReached:
    - absl::string_view::substr
    - static_cast<ssize_t>
    - tcmalloc_internal::signal_safe_open
    - absl::string_view::find
    - absl::SimpleAtoi
    - tcmalloc_internal::GetPageSize
    - absl::string_view::size
    - TC_ASSERT_LT
    - tcmalloc_internal::signal_safe_read
    - TC_ASSERT_GE
    linkageType: ''
    returnType: bool
    signature: bool GetMemoryStats(MemoryStats* stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc_internal::FDCloser
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FDCloser()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: ~FDCloser()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    linkageType: ''
    returnType: void
    signature: void ~FDCloser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc_internal::FDCloser
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FDCloser()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: ~FDCloser()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    linkageType: ''
    returnType: void
    signature: void ~FDCloser()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:56,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:57,1
    - Dst: tcmalloc_internal::signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:63,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:64,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:65,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:65,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:66,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:71,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:76,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:80,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:82,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:86,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats.cc:126,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 1
    argNames:
    - stats
    argTypes:
    - MemoryStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 133
    functionName: tcmalloc_internal::GetMemoryStats
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats.cc
    functionUses: 8
    functionsReached:
    - absl::string_view::substr
    - static_cast<ssize_t>
    - tcmalloc_internal::signal_safe_open
    - absl::string_view::find
    - absl::SimpleAtoi
    - tcmalloc_internal::GetPageSize
    - absl::string_view::size
    - TC_ASSERT_LT
    - tcmalloc_internal::signal_safe_read
    - TC_ASSERT_GE
    linkageType: ''
    returnType: bool
    signature: bool GetMemoryStats(MemoryStats* stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '& profile()'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: perftools::profiles::Profile & profile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '& profile()'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: perftools::profiles::Profile & profile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '& profile()'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: perftools::profiles::Profile & profile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '& profile()'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: perftools::profiles::Profile & profile()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:34,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:38,1
    - Dst: SLL_SetNext
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:42,1
    - Dst: SLL_Next
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:48,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:54,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:82,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:88,1
    - Dst: SLL_Next
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:92,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:97,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:98,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:108,1
    - Dst: SLL_SetNext
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:110,1
    - Dst: SLL_SetNext
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:112,1
    - Dst: SLL_Next
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:121,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:124,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:153,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:155,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:203,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:203,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:204,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:205,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:210,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:210,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:211,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:212,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:216,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:218,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:222,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:226,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:227,1
    - Dst: const_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:227,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:231,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:252,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:253,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 111
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 261
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - SLL_SetNext
    - empty
    - ABSL_PREDICT_FALSE
    - const_cast<Elem*>
    - reinterpret_cast<void**>
    - static_cast<T*>
    - TC_ASSERT
    - TC_ASSERT_EQ
    - ABSL_PREDICT_TRUE
    - SLL_Next
    - append
    - TC_ASSERT_NE
    - remove
    - TC_ASSERT_GT
    - TC_ASSERT_GE
    - __builtin_prefetch
    - SLL_Push
    - prepend
    - Iter
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: tcmalloc_internal::SLL_Next
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void**>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * SLL_Next(void* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - n
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_SetNext
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void**>
    linkageType: ''
    returnType: void
    signature: void ABSL_ATTRIBUTE_ALWAYS_INLINE SLL_SetNext(void* t, void* n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_SetNext
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - list
    - element
    argTypes:
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_SetNext
    linkageType: ''
    returnType: void
    signature: void ABSL_ATTRIBUTE_ALWAYS_INLINE SLL_Push(void** list, void* element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SLL_Next
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:48,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - list
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::SLL_Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 4
    functionsReached:
    - __builtin_prefetch
    - tcmalloc_internal::SLL_Next
    linkageType: ''
    returnType: void
    signature: void * SLL_Pop(void** list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: tcmalloc_internal::LinkedList::LinkedList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinkedList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::LinkedList::LinkedList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinkedList(const LinkedList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: tcmalloc_internal::LinkedList::LinkedList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinkedList(LinkedList&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '& operator=(const LinkedList&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinkedList
    signature: LinkedList & operator=(const LinkedList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '& operator=(LinkedList&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinkedList
    signature: LinkedList & operator=(LinkedList&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::LinkedList::length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::LinkedList::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: tcmalloc_internal::LinkedList::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - SLL_Push
    linkageType: ''
    returnType: void
    signature: void Push(void* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:88,1
    - Dst: SLL_Next
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:92,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:97,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ret
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: tcmalloc_internal::LinkedList::TryPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 5
    functionsReached:
    - __builtin_prefetch
    - ABSL_PREDICT_TRUE
    - SLL_Next
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void TryPop(void** ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:108,1
    - Dst: SLL_SetNext
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:110,1
    - Dst: SLL_SetNext
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - N
    - batch
    argTypes:
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::LinkedList::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - SLL_SetNext
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void PushBatch(int N, void** batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLL_Next
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:121,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - N
    - batch
    argTypes:
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::LinkedList::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 5
    functionsReached:
    - TC_ASSERT_GE
    - SLL_Next
    linkageType: ''
    returnType: void
    signature: void PopBatch(int N, void** batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: tcmalloc_internal::TList::Elem::Elem
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Elem()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:153,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: tcmalloc_internal::TList::Elem::remove
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: bool
    signature: bool remove()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - Elem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: tcmalloc_internal::TList::Elem::prepend
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prepend(Elem* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - Elem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: tcmalloc_internal::TList::Elem::append
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void append(Elem* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: tcmalloc_internal::TList::TList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::TList::TList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TList(const TList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::TList::TList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TList(TList&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: '& operator=(const TList&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TList
    signature: TList & operator=(const TList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: '& operator=(TList&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TList
    signature: TList & operator=(TList&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: tcmalloc_internal::TList::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: tcmalloc_internal::TList::length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:203,1
    - Dst: tcmalloc_internal::TList::empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:203,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:204,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: tcmalloc_internal::TList::first
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - tcmalloc_internal::TList::empty
    - static_cast<T*>
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_RETURNS_NONNULL
    signature: ABSL_ATTRIBUTE_RETURNS_NONNULL * first() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:210,1
    - Dst: tcmalloc_internal::TList::empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:210,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:211,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: tcmalloc_internal::TList::last
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - tcmalloc_internal::TList::empty
    - static_cast<T*>
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_RETURNS_NONNULL
    signature: ABSL_ATTRIBUTE_RETURNS_NONNULL * last() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TList::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: tcmalloc_internal::TList::prepend
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TList::append
    linkageType: ''
    returnType: void
    signature: void prepend(T* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TList::prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: tcmalloc_internal::TList::append
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::TList::prepend
    linkageType: ''
    returnType: void
    signature: void append(T* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: tcmalloc_internal::TList::remove
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - T*::remove
    linkageType: ''
    returnType: bool
    signature: bool remove(T* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: tcmalloc_internal::TList::begin
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - Iter
    linkageType: ''
    returnType: Iter
    signature: Iter begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:227,1
    - Dst: const_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::TList::end
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - Iter
    - const_cast<Elem*>
    linkageType: ''
    returnType: Iter
    signature: Iter end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::TList::at
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - Iter
    linkageType: ''
    returnType: Iter
    signature: Iter at(T* item) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - elem
    argTypes:
    - Elem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::TList::Iter::Iter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iter(Elem* elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: '& operator++()'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Iter
    signature: Iter & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: '& operator--()'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Iter
    signature: Iter & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: operator!=(Iter other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(Iter other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: operator==(Iter other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(Iter other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: '* operator*() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - static_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: '* operator->() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - static_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: tcmalloc_internal::SLL_Next
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<void**>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * SLL_Next(void* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - n
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_SetNext
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<void**>
    linkageType: ''
    returnType: void
    signature: void ABSL_ATTRIBUTE_ALWAYS_INLINE SLL_SetNext(void* t, void* n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_SetNext
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - list
    - element
    argTypes:
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_SetNext
    linkageType: ''
    returnType: void
    signature: void ABSL_ATTRIBUTE_ALWAYS_INLINE SLL_Push(void** list, void* element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SLL_Next
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:48,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - list
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::SLL_Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 4
    functionsReached:
    - __builtin_prefetch
    - tcmalloc_internal::SLL_Next
    linkageType: ''
    returnType: void
    signature: void * SLL_Pop(void** list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: tcmalloc_internal::LinkedList::LinkedList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinkedList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::LinkedList::LinkedList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinkedList(const LinkedList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: tcmalloc_internal::LinkedList::LinkedList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinkedList(LinkedList&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '& operator=(const LinkedList&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinkedList
    signature: LinkedList & operator=(const LinkedList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '& operator=(LinkedList&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinkedList
    signature: LinkedList & operator=(LinkedList&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::LinkedList::length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: tcmalloc_internal::LinkedList::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: tcmalloc_internal::LinkedList::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - SLL_Push
    linkageType: ''
    returnType: void
    signature: void Push(void* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:88,1
    - Dst: SLL_Next
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:92,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:97,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ret
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: tcmalloc_internal::LinkedList::TryPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 5
    functionsReached:
    - __builtin_prefetch
    - ABSL_PREDICT_TRUE
    - SLL_Next
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void TryPop(void** ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:108,1
    - Dst: SLL_SetNext
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:110,1
    - Dst: SLL_SetNext
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - N
    - batch
    argTypes:
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::LinkedList::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - SLL_SetNext
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void PushBatch(int N, void** batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLL_Next
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:121,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - N
    - batch
    argTypes:
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::LinkedList::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 5
    functionsReached:
    - TC_ASSERT_GE
    - SLL_Next
    linkageType: ''
    returnType: void
    signature: void PopBatch(int N, void** batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: tcmalloc_internal::TList::Elem::Elem
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Elem()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:153,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: tcmalloc_internal::TList::Elem::remove
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: bool
    signature: bool remove()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - Elem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: tcmalloc_internal::TList::Elem::prepend
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prepend(Elem* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - Elem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: tcmalloc_internal::TList::Elem::append
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void append(Elem* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: tcmalloc_internal::TList::TList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::TList::TList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TList(const TList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::TList::TList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TList(TList&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: '& operator=(const TList&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TList
    signature: TList & operator=(const TList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: '& operator=(TList&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TList
    signature: TList & operator=(TList&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: tcmalloc_internal::TList::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: tcmalloc_internal::TList::length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:203,1
    - Dst: tcmalloc_internal::TList::empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:203,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:204,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: tcmalloc_internal::TList::first
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - tcmalloc_internal::TList::empty
    - static_cast<T*>
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_RETURNS_NONNULL
    signature: ABSL_ATTRIBUTE_RETURNS_NONNULL * first() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:210,1
    - Dst: tcmalloc_internal::TList::empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:210,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:211,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: tcmalloc_internal::TList::last
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - tcmalloc_internal::TList::empty
    - static_cast<T*>
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_RETURNS_NONNULL
    signature: ABSL_ATTRIBUTE_RETURNS_NONNULL * last() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TList::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: tcmalloc_internal::TList::prepend
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::TList::append
    linkageType: ''
    returnType: void
    signature: void prepend(T* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TList::prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: tcmalloc_internal::TList::append
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::TList::prepend
    linkageType: ''
    returnType: void
    signature: void append(T* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: tcmalloc_internal::TList::remove
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - T*::remove
    linkageType: ''
    returnType: bool
    signature: bool remove(T* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: tcmalloc_internal::TList::begin
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - Iter
    linkageType: ''
    returnType: Iter
    signature: Iter begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:227,1
    - Dst: const_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 227
    functionName: tcmalloc_internal::TList::end
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - Iter
    - const_cast<Elem*>
    linkageType: ''
    returnType: Iter
    signature: Iter end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::TList::at
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - Iter
    linkageType: ''
    returnType: Iter
    signature: Iter at(T* item) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - elem
    argTypes:
    - Elem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::TList::Iter::Iter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iter(Elem* elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: '& operator++()'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Iter
    signature: Iter & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: '& operator--()'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Iter
    signature: Iter & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: operator!=(Iter other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(Iter other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: operator==(Iter other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(Iter other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: '* operator*() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - static_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: '* operator->() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - static_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTopology::Init
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:29,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:29,1
    - Dst: CacheTopology::l3_count
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:29,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:30,1
    - Dst: CacheTopology::l3_count
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:30,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:33,1
    - Dst: CacheTopology::GetL3FromCpuId
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:34,1
    - Dst: CacheTopology::l3_count
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:37,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:37,1
    - Dst: CacheTopology::l3_count
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CacheTopology::Init
    - CacheTopology::GetL3FromCpuId
    - EXPECT_EQ
    - NumCPUs
    - CacheTopology::l3_count
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTopology, ComputesSomethingReasonable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTopology::Init
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:29,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:29,1
    - Dst: CacheTopology::l3_count
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:29,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:30,1
    - Dst: CacheTopology::l3_count
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:30,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:33,1
    - Dst: CacheTopology::GetL3FromCpuId
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:34,1
    - Dst: CacheTopology::l3_count
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:37,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:37,1
    - Dst: CacheTopology::l3_count
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CacheTopology::Init
    - CacheTopology::GetL3FromCpuId
    - EXPECT_EQ
    - NumCPUs
    - CacheTopology::l3_count
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTopology, ComputesSomethingReasonable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTopology::Init
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:29,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:29,1
    - Dst: CacheTopology::l3_count
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:29,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:30,1
    - Dst: CacheTopology::l3_count
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:30,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:33,1
    - Dst: CacheTopology::GetL3FromCpuId
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:34,1
    - Dst: CacheTopology::l3_count
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:37,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:37,1
    - Dst: CacheTopology::l3_count
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CacheTopology::Init
    - CacheTopology::GetL3FromCpuId
    - EXPECT_EQ
    - NumCPUs
    - CacheTopology::l3_count
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTopology, ComputesSomethingReasonable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTopology::Init
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:29,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:29,1
    - Dst: CacheTopology::l3_count
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:29,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:30,1
    - Dst: CacheTopology::l3_count
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:30,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:33,1
    - Dst: CacheTopology::GetL3FromCpuId
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:34,1
    - Dst: CacheTopology::l3_count
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:37,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:37,1
    - Dst: CacheTopology::l3_count
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - CacheTopology::Init
    - CacheTopology::GetL3FromCpuId
    - EXPECT_EQ
    - NumCPUs
    - CacheTopology::l3_count
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTopology, ComputesSomethingReasonable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:34,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:34,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:36,1
    - Dst: CpuSet::CLR
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:38,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - expected_affinity
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::AffinityMatches
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - CpuSet::GetAffinity
    - CpuSet::Count
    - CpuSet::IsSet
    - CpuSet::CLR
    linkageType: ''
    returnType: bool
    signature: bool AffinityMatches(std::vector<int> expected_affinity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    - Dst: tcmalloc::tcmalloc_internal::AffinityMatches
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - AllowedCpus
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::AffinityMatches
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, AllowedCpus)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:56,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:56,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:59,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:62,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:68,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:68,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:71,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:71,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:72,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::SetAffinity
    - ScopedAffinityMask::Tampered
    - EXPECT_TRUE
    - CpuSet::GetAffinity
    - CpuSet::Count
    - ASSERT_TRUE
    - CpuSet::IsSet
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityTamper)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:80,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:83,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:85,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:86,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:88,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:97,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - ScopedAffinityMask::Tampered
    - EXPECT_EQ
    - std::vector::size
    - AllowedCpus
    - push_back
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityMask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:34,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:34,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:36,1
    - Dst: CpuSet::CLR
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:38,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - expected_affinity
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::AffinityMatches
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 1
    functionsReached:
    - EXPECT_TRUE
    - CpuSet::GetAffinity
    - CpuSet::Count
    - CpuSet::IsSet
    - CpuSet::CLR
    linkageType: ''
    returnType: bool
    signature: bool AffinityMatches(std::vector<int> expected_affinity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    - Dst: tcmalloc::tcmalloc_internal::AffinityMatches
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - AllowedCpus
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::AffinityMatches
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, AllowedCpus)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:56,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:56,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:59,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:62,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:68,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:68,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:71,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:71,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:72,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::SetAffinity
    - ScopedAffinityMask::Tampered
    - EXPECT_TRUE
    - CpuSet::GetAffinity
    - CpuSet::Count
    - ASSERT_TRUE
    - CpuSet::IsSet
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityTamper)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:80,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:83,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:85,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:86,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:88,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:97,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - ScopedAffinityMask::Tampered
    - EXPECT_EQ
    - std::vector::size
    - AllowedCpus
    - push_back
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityMask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:34,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:34,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:36,1
    - Dst: CpuSet::CLR
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:38,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - expected_affinity
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::AffinityMatches
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_TRUE
    - CpuSet::GetAffinity
    - CpuSet::Count
    - CpuSet::IsSet
    - CpuSet::CLR
    linkageType: ''
    returnType: bool
    signature: bool AffinityMatches(std::vector<int> expected_affinity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    - Dst: tcmalloc::tcmalloc_internal::AffinityMatches
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - AllowedCpus
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::AffinityMatches
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, AllowedCpus)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:56,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:56,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:59,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:62,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:68,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:68,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:71,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:71,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:72,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::SetAffinity
    - ScopedAffinityMask::Tampered
    - EXPECT_TRUE
    - CpuSet::GetAffinity
    - CpuSet::Count
    - ASSERT_TRUE
    - CpuSet::IsSet
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityTamper)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:80,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:83,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:85,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:86,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:88,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:97,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - ScopedAffinityMask::Tampered
    - EXPECT_EQ
    - std::vector::size
    - AllowedCpus
    - push_back
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityMask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:34,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:34,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:36,1
    - Dst: CpuSet::CLR
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:38,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - expected_affinity
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::AffinityMatches
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 3
    functionsReached:
    - EXPECT_TRUE
    - CpuSet::GetAffinity
    - CpuSet::Count
    - CpuSet::IsSet
    - CpuSet::CLR
    linkageType: ''
    returnType: bool
    signature: bool AffinityMatches(std::vector<int> expected_affinity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    - Dst: tcmalloc::tcmalloc_internal::AffinityMatches
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - AllowedCpus
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::AffinityMatches
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, AllowedCpus)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:56,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:56,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:59,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:62,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:68,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:68,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:71,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:71,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:72,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::SetAffinity
    - ScopedAffinityMask::Tampered
    - EXPECT_TRUE
    - CpuSet::GetAffinity
    - CpuSet::Count
    - ASSERT_TRUE
    - CpuSet::IsSet
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityTamper)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:80,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:83,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:85,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:86,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:88,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:97,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - ScopedAffinityMask::Tampered
    - EXPECT_EQ
    - std::vector::size
    - AllowedCpus
    - push_back
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityMask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:34,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:34,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:36,1
    - Dst: CpuSet::CLR
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:38,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - expected_affinity
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::AffinityMatches
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 4
    functionsReached:
    - EXPECT_TRUE
    - CpuSet::GetAffinity
    - CpuSet::Count
    - CpuSet::IsSet
    - CpuSet::CLR
    linkageType: ''
    returnType: bool
    signature: bool AffinityMatches(std::vector<int> expected_affinity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    - Dst: tcmalloc::tcmalloc_internal::AffinityMatches
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - AllowedCpus
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::AffinityMatches
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, AllowedCpus)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:56,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:56,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:59,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:62,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:68,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:68,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:71,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:71,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:72,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::SetAffinity
    - ScopedAffinityMask::Tampered
    - EXPECT_TRUE
    - CpuSet::GetAffinity
    - CpuSet::Count
    - ASSERT_TRUE
    - CpuSet::IsSet
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityTamper)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:80,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:83,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:85,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:86,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:88,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:97,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - ScopedAffinityMask::Tampered
    - EXPECT_EQ
    - std::vector::size
    - AllowedCpus
    - push_back
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityMask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:34,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:34,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:36,1
    - Dst: CpuSet::CLR
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:38,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - expected_affinity
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::AffinityMatches
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 5
    functionsReached:
    - EXPECT_TRUE
    - CpuSet::GetAffinity
    - CpuSet::Count
    - CpuSet::IsSet
    - CpuSet::CLR
    linkageType: ''
    returnType: bool
    signature: bool AffinityMatches(std::vector<int> expected_affinity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    - Dst: tcmalloc::tcmalloc_internal::AffinityMatches
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - AllowedCpus
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::AffinityMatches
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, AllowedCpus)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:56,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:56,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:59,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:62,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:68,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:68,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:71,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:71,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:72,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::SetAffinity
    - ScopedAffinityMask::Tampered
    - EXPECT_TRUE
    - CpuSet::GetAffinity
    - CpuSet::Count
    - ASSERT_TRUE
    - CpuSet::IsSet
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityTamper)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:80,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:83,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:85,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:86,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:88,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:97,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - ScopedAffinityMask::Tampered
    - EXPECT_EQ
    - std::vector::size
    - AllowedCpus
    - push_back
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityMask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:34,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:34,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:36,1
    - Dst: CpuSet::CLR
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:38,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - expected_affinity
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::AffinityMatches
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 6
    functionsReached:
    - EXPECT_TRUE
    - CpuSet::GetAffinity
    - CpuSet::Count
    - CpuSet::IsSet
    - CpuSet::CLR
    linkageType: ''
    returnType: bool
    signature: bool AffinityMatches(std::vector<int> expected_affinity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    - Dst: tcmalloc::tcmalloc_internal::AffinityMatches
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - AllowedCpus
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::AffinityMatches
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, AllowedCpus)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:56,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:56,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:59,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:62,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:68,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:68,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:71,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:71,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:72,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::SetAffinity
    - ScopedAffinityMask::Tampered
    - EXPECT_TRUE
    - CpuSet::GetAffinity
    - CpuSet::Count
    - ASSERT_TRUE
    - CpuSet::IsSet
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityTamper)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:80,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:83,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:85,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:86,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:88,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:97,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - ScopedAffinityMask::Tampered
    - EXPECT_EQ
    - std::vector::size
    - AllowedCpus
    - push_back
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityMask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:34,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:34,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:36,1
    - Dst: CpuSet::CLR
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:38,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - expected_affinity
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::AffinityMatches
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 7
    functionsReached:
    - EXPECT_TRUE
    - CpuSet::GetAffinity
    - CpuSet::Count
    - CpuSet::IsSet
    - CpuSet::CLR
    linkageType: ''
    returnType: bool
    signature: bool AffinityMatches(std::vector<int> expected_affinity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:46,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    - Dst: tcmalloc::tcmalloc_internal::AffinityMatches
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - AllowedCpus
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::AffinityMatches
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, AllowedCpus)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:56,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:56,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:59,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:62,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:68,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:68,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:71,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:71,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:72,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - CpuSet::SetAffinity
    - ScopedAffinityMask::Tampered
    - EXPECT_TRUE
    - CpuSet::GetAffinity
    - CpuSet::Count
    - ASSERT_TRUE
    - CpuSet::IsSet
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityTamper)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:80,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:83,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:85,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:86,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:88,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:90,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:97,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/internal/affinity_test.cc:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
    functionUses: 0
    functionsReached:
    - ScopedAffinityMask::Tampered
    - EXPECT_EQ
    - std::vector::size
    - AllowedCpus
    - push_back
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityMask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:45,1
    - Dst: std::string*::assign
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:47,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:50,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:51,1
    - Dst: testing::MatchesRegex
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:52,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:56,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:57,1
    - Dst: testing::MatchesRegex
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - testing::MatchesRegex
    - EXPECT_THAT
    - std::string::c_str
    - TC_LOG
    - std::string*::assign
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void TEST(InternalLogging, MessageFormatting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:71,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:72,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:73,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:76,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:83,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:84,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:84,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:89,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:93,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - Printer::SpaceRequired
    - absl::string_view
    - Printer::printf
    - EXPECT_EQ
    - std::unique_ptr::get
    - std::min<int>
    - get_buf
    - absl::string_view::size
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST(Printer, RequiredSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:105,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:106,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:107,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:110,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:117,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:118,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:118,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:123,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:127,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:130,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - Printer::SpaceRequired
    - absl::string_view
    - EXPECT_EQ
    - std::unique_ptr::get
    - std::min<int>
    - Printer::Append
    - get_buf
    - absl::string_view::size
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST(Printer, RequiredSpacePieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:136,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:137,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:138,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:139,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:140,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:141,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:142,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:143,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:144,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:148,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:149,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:151,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:152,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:153,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:154,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:155,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:156,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:157,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:158,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:159,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:163,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:164,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - TC_ASSERT_EQ
    - TC_CHECK_NE
    - TC_ASSERT_NE
    - TC_CHECK_LT
    - TC_ASSERT_GT
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - TC_ASSERT_LE
    - TC_CHECK_LE
    - TC_ASSERT
    - TC_CHECK
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TEST(Check, OK)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, UnusedVars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:176,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:177,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DebugCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DebugAssert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:196,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:196,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:202,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:202,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:207,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:207,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: bar
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:220,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:220,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:227,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:228,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:232,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - TC_BUG
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - EXPECT_DEATH
    - bar
    - TC_ASSERT
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TEST(Check, Message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: f1
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: f2
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - f1
    - f2
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DoubleEvaluation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:248,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:249,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:250,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:251,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:252,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:252,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:253,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - EXPECT_DEATH
    - TC_CHECK_NE
    linkageType: ''
    returnType: void
    signature: void TEST(Check, Optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:45,1
    - Dst: std::string*::assign
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:47,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:50,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:51,1
    - Dst: testing::MatchesRegex
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:52,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:56,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:57,1
    - Dst: testing::MatchesRegex
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - testing::MatchesRegex
    - EXPECT_THAT
    - std::string::c_str
    - TC_LOG
    - std::string*::assign
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void TEST(InternalLogging, MessageFormatting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:71,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:72,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:73,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:76,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:83,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:84,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:84,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:89,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:93,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - Printer::SpaceRequired
    - absl::string_view
    - Printer::printf
    - EXPECT_EQ
    - std::unique_ptr::get
    - std::min<int>
    - get_buf
    - absl::string_view::size
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST(Printer, RequiredSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:105,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:106,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:107,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:110,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:117,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:118,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:118,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:123,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:127,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:130,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - Printer::SpaceRequired
    - absl::string_view
    - EXPECT_EQ
    - std::unique_ptr::get
    - std::min<int>
    - Printer::Append
    - get_buf
    - absl::string_view::size
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST(Printer, RequiredSpacePieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:136,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:137,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:138,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:139,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:140,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:141,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:142,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:143,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:144,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:148,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:149,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:151,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:152,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:153,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:154,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:155,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:156,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:157,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:158,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:159,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:163,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:164,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - TC_ASSERT_EQ
    - TC_CHECK_NE
    - TC_ASSERT_NE
    - TC_CHECK_LT
    - TC_ASSERT_GT
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - TC_ASSERT_LE
    - TC_CHECK_LE
    - TC_ASSERT
    - TC_CHECK
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TEST(Check, OK)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, UnusedVars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:176,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:177,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DebugCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DebugAssert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:196,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:196,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:202,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:202,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:207,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:207,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: bar
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:220,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:220,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:227,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:228,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:232,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - TC_BUG
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - EXPECT_DEATH
    - bar
    - TC_ASSERT
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TEST(Check, Message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: f1
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: f2
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - f1
    - f2
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DoubleEvaluation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:248,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:249,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:250,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:251,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:252,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:252,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:253,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - EXPECT_DEATH
    - TC_CHECK_NE
    linkageType: ''
    returnType: void
    signature: void TEST(Check, Optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:45,1
    - Dst: std::string*::assign
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:47,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:50,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:51,1
    - Dst: testing::MatchesRegex
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:52,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:56,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:57,1
    - Dst: testing::MatchesRegex
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - testing::MatchesRegex
    - EXPECT_THAT
    - std::string::c_str
    - TC_LOG
    - std::string*::assign
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void TEST(InternalLogging, MessageFormatting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:71,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:72,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:73,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:76,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:83,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:84,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:84,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:89,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:93,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - Printer::SpaceRequired
    - absl::string_view
    - Printer::printf
    - EXPECT_EQ
    - std::unique_ptr::get
    - std::min<int>
    - get_buf
    - absl::string_view::size
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST(Printer, RequiredSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:105,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:106,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:107,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:110,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:117,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:118,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:118,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:123,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:127,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:130,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - Printer::SpaceRequired
    - absl::string_view
    - EXPECT_EQ
    - std::unique_ptr::get
    - std::min<int>
    - Printer::Append
    - get_buf
    - absl::string_view::size
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST(Printer, RequiredSpacePieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:136,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:137,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:138,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:139,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:140,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:141,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:142,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:143,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:144,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:148,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:149,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:151,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:152,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:153,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:154,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:155,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:156,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:157,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:158,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:159,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:163,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:164,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - TC_ASSERT_EQ
    - TC_CHECK_NE
    - TC_ASSERT_NE
    - TC_CHECK_LT
    - TC_ASSERT_GT
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - TC_ASSERT_LE
    - TC_CHECK_LE
    - TC_ASSERT
    - TC_CHECK
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TEST(Check, OK)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, UnusedVars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:176,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:177,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DebugCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DebugAssert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:196,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:196,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:202,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:202,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:207,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:207,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: bar
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:220,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:220,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:227,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:228,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:232,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - TC_BUG
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - EXPECT_DEATH
    - bar
    - TC_ASSERT
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TEST(Check, Message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: f1
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: f2
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - f1
    - f2
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DoubleEvaluation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:248,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:249,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:250,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:251,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:252,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:252,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:253,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - EXPECT_DEATH
    - TC_CHECK_NE
    linkageType: ''
    returnType: void
    signature: void TEST(Check, Optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:45,1
    - Dst: std::string*::assign
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:47,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:50,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:51,1
    - Dst: testing::MatchesRegex
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:52,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:56,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:57,1
    - Dst: testing::MatchesRegex
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - testing::MatchesRegex
    - EXPECT_THAT
    - std::string::c_str
    - TC_LOG
    - std::string*::assign
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void TEST(InternalLogging, MessageFormatting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:71,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:72,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:73,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:76,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:83,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:84,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:84,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:89,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:93,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - Printer::SpaceRequired
    - absl::string_view
    - Printer::printf
    - EXPECT_EQ
    - std::unique_ptr::get
    - std::min<int>
    - get_buf
    - absl::string_view::size
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST(Printer, RequiredSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:105,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:106,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:107,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:110,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:117,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:118,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:118,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:123,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:127,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:130,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - Printer::SpaceRequired
    - absl::string_view
    - EXPECT_EQ
    - std::unique_ptr::get
    - std::min<int>
    - Printer::Append
    - get_buf
    - absl::string_view::size
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST(Printer, RequiredSpacePieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:136,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:137,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:138,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:139,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:140,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:141,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:142,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:143,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:144,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:148,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:149,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:151,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:152,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:153,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:154,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:155,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:156,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:157,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:158,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:159,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:163,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:164,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - TC_ASSERT_EQ
    - TC_CHECK_NE
    - TC_ASSERT_NE
    - TC_CHECK_LT
    - TC_ASSERT_GT
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - TC_ASSERT_LE
    - TC_CHECK_LE
    - TC_ASSERT
    - TC_CHECK
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TEST(Check, OK)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, UnusedVars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:176,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:177,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DebugCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DebugAssert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:196,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:196,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:202,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:202,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:207,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:207,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: bar
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:220,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:220,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:227,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:228,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:232,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - TC_BUG
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - EXPECT_DEATH
    - bar
    - TC_ASSERT
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TEST(Check, Message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: f1
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: f2
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - f1
    - f2
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DoubleEvaluation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:248,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:249,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:250,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:251,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:252,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:252,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:253,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - EXPECT_DEATH
    - TC_CHECK_NE
    linkageType: ''
    returnType: void
    signature: void TEST(Check, Optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:45,1
    - Dst: std::string*::assign
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:47,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:50,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:51,1
    - Dst: testing::MatchesRegex
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:52,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:56,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:57,1
    - Dst: testing::MatchesRegex
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - testing::MatchesRegex
    - EXPECT_THAT
    - std::string::c_str
    - TC_LOG
    - std::string*::assign
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void TEST(InternalLogging, MessageFormatting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:71,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:72,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:73,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:76,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:83,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:84,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:84,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:89,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:93,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - Printer::SpaceRequired
    - absl::string_view
    - Printer::printf
    - EXPECT_EQ
    - std::unique_ptr::get
    - std::min<int>
    - get_buf
    - absl::string_view::size
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST(Printer, RequiredSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:105,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:106,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:107,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:110,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:117,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:118,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:118,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:123,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:127,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:130,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - Printer::SpaceRequired
    - absl::string_view
    - EXPECT_EQ
    - std::unique_ptr::get
    - std::min<int>
    - Printer::Append
    - get_buf
    - absl::string_view::size
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST(Printer, RequiredSpacePieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:136,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:137,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:138,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:139,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:140,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:141,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:142,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:143,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:144,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:148,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:149,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:151,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:152,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:153,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:154,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:155,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:156,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:157,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:158,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:159,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:163,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:164,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - TC_ASSERT_EQ
    - TC_CHECK_NE
    - TC_ASSERT_NE
    - TC_CHECK_LT
    - TC_ASSERT_GT
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - TC_ASSERT_LE
    - TC_CHECK_LE
    - TC_ASSERT
    - TC_CHECK
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TEST(Check, OK)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, UnusedVars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:176,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:177,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DebugCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DebugAssert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:196,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:196,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:202,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:202,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:207,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:207,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: bar
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:220,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:220,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:227,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:228,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:232,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - TC_BUG
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - EXPECT_DEATH
    - bar
    - TC_ASSERT
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TEST(Check, Message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: f1
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: f2
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - f1
    - f2
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DoubleEvaluation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:248,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:249,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:250,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:251,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:252,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:252,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:253,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - EXPECT_DEATH
    - TC_CHECK_NE
    linkageType: ''
    returnType: void
    signature: void TEST(Check, Optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:45,1
    - Dst: std::string*::assign
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:47,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:50,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:51,1
    - Dst: testing::MatchesRegex
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:52,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:56,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:57,1
    - Dst: testing::MatchesRegex
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - testing::MatchesRegex
    - EXPECT_THAT
    - std::string::c_str
    - TC_LOG
    - std::string*::assign
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void TEST(InternalLogging, MessageFormatting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:71,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:72,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:73,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:76,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:83,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:84,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:84,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:89,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:93,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - Printer::SpaceRequired
    - absl::string_view
    - Printer::printf
    - EXPECT_EQ
    - std::unique_ptr::get
    - std::min<int>
    - get_buf
    - absl::string_view::size
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST(Printer, RequiredSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:105,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:106,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:107,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:110,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:117,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:118,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:118,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:123,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:127,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:130,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - Printer::SpaceRequired
    - absl::string_view
    - EXPECT_EQ
    - std::unique_ptr::get
    - std::min<int>
    - Printer::Append
    - get_buf
    - absl::string_view::size
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST(Printer, RequiredSpacePieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:136,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:137,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:138,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:139,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:140,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:141,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:142,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:143,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:144,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:148,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:149,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:151,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:152,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:153,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:154,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:155,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:156,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:157,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:158,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:159,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:163,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:164,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - TC_ASSERT_EQ
    - TC_CHECK_NE
    - TC_ASSERT_NE
    - TC_CHECK_LT
    - TC_ASSERT_GT
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - TC_ASSERT_LE
    - TC_CHECK_LE
    - TC_ASSERT
    - TC_CHECK
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TEST(Check, OK)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, UnusedVars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:176,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:177,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DebugCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DebugAssert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:196,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:196,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:202,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:202,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:207,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:207,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: bar
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:220,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:220,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:227,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:228,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:232,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - TC_BUG
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - EXPECT_DEATH
    - bar
    - TC_ASSERT
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TEST(Check, Message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: f1
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: f2
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - f1
    - f2
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DoubleEvaluation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:248,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:249,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:250,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:251,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:252,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:252,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:253,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - EXPECT_DEATH
    - TC_CHECK_NE
    linkageType: ''
    returnType: void
    signature: void TEST(Check, Optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:45,1
    - Dst: std::string*::assign
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:47,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:50,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:51,1
    - Dst: testing::MatchesRegex
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:52,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:56,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:57,1
    - Dst: testing::MatchesRegex
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - testing::MatchesRegex
    - EXPECT_THAT
    - std::string::c_str
    - TC_LOG
    - std::string*::assign
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void TEST(InternalLogging, MessageFormatting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:71,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:72,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:73,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:76,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:83,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:84,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:84,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:89,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:93,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - Printer::SpaceRequired
    - absl::string_view
    - Printer::printf
    - EXPECT_EQ
    - std::unique_ptr::get
    - std::min<int>
    - get_buf
    - absl::string_view::size
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST(Printer, RequiredSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:105,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:106,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:107,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:110,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:117,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:118,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:118,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:123,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:127,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:130,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - Printer::SpaceRequired
    - absl::string_view
    - EXPECT_EQ
    - std::unique_ptr::get
    - std::min<int>
    - Printer::Append
    - get_buf
    - absl::string_view::size
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST(Printer, RequiredSpacePieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:136,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:137,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:138,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:139,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:140,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:141,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:142,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:143,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:144,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:148,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:149,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:151,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:152,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:153,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:154,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:155,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:156,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:157,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:158,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:159,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:163,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:164,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - TC_ASSERT_EQ
    - TC_CHECK_NE
    - TC_ASSERT_NE
    - TC_CHECK_LT
    - TC_ASSERT_GT
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - TC_ASSERT_LE
    - TC_CHECK_LE
    - TC_ASSERT
    - TC_CHECK
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TEST(Check, OK)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, UnusedVars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:176,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:177,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DebugCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DebugAssert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:196,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:196,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:202,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:202,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:207,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:207,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: bar
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:220,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:220,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:227,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:228,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:232,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - TC_BUG
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - EXPECT_DEATH
    - bar
    - TC_ASSERT
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TEST(Check, Message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: f1
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: f2
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - f1
    - f2
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DoubleEvaluation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:248,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:249,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:250,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:251,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:252,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:252,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:253,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - EXPECT_DEATH
    - TC_CHECK_NE
    linkageType: ''
    returnType: void
    signature: void TEST(Check, Optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:45,1
    - Dst: std::string*::assign
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:47,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:50,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:51,1
    - Dst: testing::MatchesRegex
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:52,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:56,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:57,1
    - Dst: testing::MatchesRegex
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - testing::MatchesRegex
    - EXPECT_THAT
    - std::string::c_str
    - TC_LOG
    - std::string*::assign
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void TEST(InternalLogging, MessageFormatting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:71,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:72,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:73,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:76,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:77,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:83,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:84,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:84,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:89,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:90,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:93,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:94,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - Printer::SpaceRequired
    - absl::string_view
    - Printer::printf
    - EXPECT_EQ
    - std::unique_ptr::get
    - std::min<int>
    - get_buf
    - absl::string_view::size
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST(Printer, RequiredSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:105,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:106,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:107,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:110,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:111,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:117,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:118,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:118,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:123,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:124,1
    - Dst: Printer::Append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:127,1
    - Dst: get_buf
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:128,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:130,1
    - Dst: std::string::append
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - Printer::SpaceRequired
    - absl::string_view
    - EXPECT_EQ
    - std::unique_ptr::get
    - std::min<int>
    - Printer::Append
    - get_buf
    - absl::string_view::size
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST(Printer, RequiredSpacePieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:136,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:137,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:138,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:139,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:140,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:141,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:142,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:143,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:144,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:148,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:149,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:151,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:152,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:153,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:154,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:155,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:156,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:157,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:158,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:159,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:163,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:164,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - TC_ASSERT_EQ
    - TC_CHECK_NE
    - TC_ASSERT_NE
    - TC_CHECK_LT
    - TC_ASSERT_GT
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - TC_ASSERT_LE
    - TC_CHECK_LE
    - TC_ASSERT
    - TC_CHECK
    - TC_ASSERT_LT
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TEST(Check, OK)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, UnusedVars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:176,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:177,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DebugCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:183,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DebugAssert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:196,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:196,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:202,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:202,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:207,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:207,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: bar
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:217,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:220,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:220,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:227,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:228,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:232,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - TC_BUG
    - TC_CHECK_EQ
    - TC_CHECK_GE
    - EXPECT_DEATH
    - bar
    - TC_ASSERT
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TEST(Check, Message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: f1
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    - Dst: f2
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - f1
    - f2
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST(Check, DoubleEvaluation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:248,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:249,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:250,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:251,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:252,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:252,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:253,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/logging_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - EXPECT_DEATH
    - TC_CHECK_NE
    linkageType: ''
    returnType: void
    signature: void TEST(Check, Optional)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:49,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:51,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:64,1
    - Dst: NodeToPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:66,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:71,1
    - Dst: default_want_numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:85,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:88,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:91,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:91,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:94,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:97,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:101,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:109,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:110,1
    - Dst: open_node_cpulist
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:121,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:125,1
    - Dst: NodeToPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:130,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:136,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:142,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:143,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:148,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:148,1
    - Dst: std::optional::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:152,1
    - Dst: std::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:159,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:163,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 170
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.cc
    functionUses: 0
    functionsReached:
    - signal_safe_close
    - NumCPUs
    - snprintf
    - std::optional::Count
    - TC_CHECK_LE
    - default_want_numa_aware
    - std::optional::IsSet
    - NodeToPartition
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - TC_CHECK_EQ
    - open_node_cpulist
    - signal_safe_open
    - strcmp
    - std::optional::has_value
    - signal_safe_read
    - TC_BUG
    - ParseCpulist
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::default_want_numa_aware
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: ABSL_ATTRIBUTE_WEAK default_want_numa_aware()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:49,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::OpenSysfsCpulist
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - tcmalloc_internal::signal_safe_open
    linkageType: ''
    returnType: int
    signature: int OpenSysfsCpulist(size_t node)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:64,1
    - Dst: tcmalloc_internal::NodeToPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:66,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:71,1
    - Dst: tcmalloc_internal::default_want_numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:85,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:88,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:91,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:91,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:94,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:97,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:101,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:109,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:110,1
    - Dst: open_node_cpulist
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:121,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:125,1
    - Dst: tcmalloc_internal::NodeToPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:130,1
    - Dst: tcmalloc_internal::signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:136,1
    - Dst: tcmalloc_internal::ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:142,1
    - Dst: tcmalloc_internal::signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:143,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:148,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:148,1
    - Dst: std::optional::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:152,1
    - Dst: std::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:159,1
    - Dst: tcmalloc_internal::signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:163,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 6
    argNames:
    - cpu_to_scaled_partition
    - partition_to_nodes
    - bind_mode
    - num_partitions
    - scale_by
    - open_node_cpulist
    argTypes:
    - size_t[]
    - uint64_t*
    - NumaBindMode*
    - size_t
    - size_t
    - absl::FunctionRef<int(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 167
    functionName: tcmalloc_internal::InitNumaTopology
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - std::optional::has_value
    - tcmalloc_internal::default_want_numa_aware
    - TC_BUG
    - std::optional::IsSet
    - tcmalloc_internal::signal_safe_close
    - TC_CHECK
    - TC_CHECK_EQ
    - std::optional::Count
    - tcmalloc_internal::ParseCpulist
    - tcmalloc_internal::NodeToPartition
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK_LE
    - open_node_cpulist
    - tcmalloc_internal::NumCPUs
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - tcmalloc_internal::signal_safe_read
    linkageType: ''
    returnType: bool
    signature: "bool InitNumaTopology(size_t cpu_to_scaled_partition[kMaxCpus],\n
      \                     uint64_t* const partition_to_nodes,\n                      NumaBindMode*
      const bind_mode,\n                      const size_t num_partitions, const size_t
      scale_by,\n                      absl::FunctionRef<int(size_t)> open_node_cpulist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::default_want_numa_aware
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: ABSL_ATTRIBUTE_WEAK default_want_numa_aware()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:49,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: tcmalloc_internal::OpenSysfsCpulist
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - tcmalloc_internal::signal_safe_open
    linkageType: ''
    returnType: int
    signature: int OpenSysfsCpulist(size_t node)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:64,1
    - Dst: tcmalloc_internal::NodeToPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:66,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:71,1
    - Dst: tcmalloc_internal::default_want_numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:85,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:88,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:91,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:91,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:94,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:97,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:101,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:109,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:110,1
    - Dst: open_node_cpulist
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:121,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:125,1
    - Dst: tcmalloc_internal::NodeToPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:130,1
    - Dst: tcmalloc_internal::signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:136,1
    - Dst: tcmalloc_internal::ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:142,1
    - Dst: tcmalloc_internal::signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:143,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:148,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:148,1
    - Dst: std::optional::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:152,1
    - Dst: std::optional::Count
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:159,1
    - Dst: tcmalloc_internal::signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/numa.cc:163,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 6
    argNames:
    - cpu_to_scaled_partition
    - partition_to_nodes
    - bind_mode
    - num_partitions
    - scale_by
    - open_node_cpulist
    argTypes:
    - size_t[]
    - uint64_t*
    - NumaBindMode*
    - size_t
    - size_t
    - absl::FunctionRef<int(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 167
    functionName: tcmalloc_internal::InitNumaTopology
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - std::optional::has_value
    - tcmalloc_internal::default_want_numa_aware
    - TC_BUG
    - std::optional::IsSet
    - tcmalloc_internal::signal_safe_close
    - TC_CHECK
    - TC_CHECK_EQ
    - std::optional::Count
    - tcmalloc_internal::ParseCpulist
    - tcmalloc_internal::NodeToPartition
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK_LE
    - open_node_cpulist
    - tcmalloc_internal::NumCPUs
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - tcmalloc_internal::signal_safe_read
    linkageType: ''
    returnType: bool
    signature: "bool InitNumaTopology(size_t cpu_to_scaled_partition[kMaxCpus],\n
      \                     uint64_t* const partition_to_nodes,\n                      NumaBindMode*
      const bind_mode,\n                      const size_t num_partitions, const size_t
      scale_by,\n                      absl::FunctionRef<int(size_t)> open_node_cpulist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::StubPageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StubPageFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~StubPageFlags() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StubPageFlags() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:74,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:75,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:75,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:78,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: std::optional<PageStats>
    signature: std::optional<PageStats> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - stale
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_stale
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set_bytes_stale(const void* addr, int stale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - locked
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_locked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set_bytes_locked(const void* addr, int locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - seconds_stale
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_stale_scan_period
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_stale_scan_period(const void* addr, uint64_t seconds_stale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const void* addr) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realpath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::RealPath
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - realpath
    linkageType: ''
    returnType: std::string
    signature: std::string RealPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddCurrentMappings
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:118,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:119,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:123,1
    - Dst: filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:124,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:125,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:128,1
    - Dst: absl::flat_hash_set::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:129,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: auto::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::RealPath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 139
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - ProfileBuilder::AddCurrentMappings
    - auto::string_table_size
    - ASSERT_LT
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - ASSERT_GE
    - EXPECT_THAT
    - auto::mapping
    - auto::mapping_size
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::tcmalloc_internal::RealPath
    - Not
    - absl::flat_hash_set::emplace
    - id
    - auto::string_table
    - std::move
    - filename
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, Mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:146,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:146,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:150,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:153,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:153,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:155,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:156,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::mapping
    - ProfileBuilder::InternLocation
    - absl::bit_cast<const void*>
    - auto::location
    - address
    - id
    - mapping_id
    - ASSERT_EQ
    - std::move
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTableNoMappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::SetDocURL
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:170,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:172,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - absl::Status::ok
    - ProfileBuilder::SetDocURL
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, DocURL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:181,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:186,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:186,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:188,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:188,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:190,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:190,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:195,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:195,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:197,1
    - Dst: auto::memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:198,1
    - Dst: auto::memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:199,1
    - Dst: auto::file_offset
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: auto::filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: auto::build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:209,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:214,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:215,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:216,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:217,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:218,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:221,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:222,1
    - Dst: auto::id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:222,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:226,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 227
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::build_id
    - static_cast<uint64_t>
    - ProfileBuilder::AddMapping
    - auto::mapping
    - id
    - auto::file_offset
    - testing::UnorderedElementsAreArray
    - auto::filename
    - auto::memory_limit
    - address
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::memory_start
    - absl::bit_cast<const void*>
    - std::tie
    - mapping_id
    - std::move
    - auto::id
    - std::vector::emplace_back
    - EXPECT_THAT
    - ProfileBuilder::InternLocation
    - auto::location
    - auto::string_table
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:209,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SimpleLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: operator==(const SimpleLocation& rhs) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SimpleLocation& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:230,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:232,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:234,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:234,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:238,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:238,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::reserve
    - absl::flat_hash_set::size
    - EXPECT_EQ
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - ASSERT_FALSE
    - auto::string_table
    - ProfileBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, StringTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:251,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:251,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:254,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:254,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:256,1
    - Dst: absl::flat_hash_map::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:261,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:261,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:265,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:266,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:268,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: absl::flat_hash_map::at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:279,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:279,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:287,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:295,1
    - Dst: absl::flat_hash_set<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: testing::IsSubsetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:304,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:305,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - ' converted'
    - ' extracted'
    argTypes:
    - perftools::profiles::Profile
    - SampleLabels
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 315
    functionName: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - testing::Eq
    - key
    - ASSERT_FALSE
    - memory_limit
    - absl::flat_hash_set<int>
    - mapping_size
    - id
    - string_table
    - emplace_back
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - ASSERT_LT
    - sample
    - back
    - location_id
    - absl::flat_hash_map::emplace
    - address
    - Not
    - location
    - str
    - EXPECT_FALSE
    - absl::flat_hash_map::at
    - EXPECT_TRUE
    - EXPECT_EQ
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - EXPECT_LT
    - EXPECT_LE
    - mapping
    - value
    - mapping_id
    - static_cast<int>
    - testing::IsSubsetOf
    - label
    - sample_type
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - memory_start
    - EXPECT_GE
    - num
    linkageType: ''
    returnType: void
    signature: "void CheckAndExtractSampleLabels(const perftools::profiles::Profile&
      converted,\n                                 SampleLabels& extracted)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:327,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:328,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:344,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:350,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:351,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:352,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:353,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:354,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:359,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:363,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:366,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:367,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:376,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:377,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:379,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:380,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:382,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:383,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:383,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:397,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:398,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:399,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:400,1
    - Dst: StubPageFlags*::set_bytes_stale
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:409,1
    - Dst: StubPageFlags*::set_bytes_locked
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:410,1
    - Dst: StubPageFlags*::set_stale_scan_period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:415,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:419,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:425,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:437,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:438,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:439,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:459,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:465,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:466,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:467,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:468,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:469,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:474,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:478,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:482,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:484,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:485,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:486,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:487,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:488,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:488,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:490,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:491,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 100
    argCount: 3
    argNames:
    - start_time
    - duration
    - profile_type
    argTypes:
    - std::optional<absl::Time>
    - absl::Duration
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 493
    functionName: tcmalloc::tcmalloc_internal::MakeTestProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - StubPageFlags*::set_bytes_stale
    - auto::status
    - reinterpret_cast<void*>
    - StubPageFlags*::set_bytes_locked
    - auto::SetType
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - CHECK_EQ
    - absl::bit_cast<void*>
    - auto::SetDuration
    - GetPageSize
    - CHECK_OK
    - auto::SetStartTime
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - CHECK_NE
    - std::move
    - munmap
    - StubPageFlags*::set_stale_scan_period
    - std::optional::emplace
    - std::vector::push_back
    - std::vector::emplace_back
    - std::vector::data
    - mmap
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: "perftools::profiles::Profile MakeTestProfile(\n    std::optional<absl::Time>
      start_time, const absl::Duration duration,\n    const ProfileType profile_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:496,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:497,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:504,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:505,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:506,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:506,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:507,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:507,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:510,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:511,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:511,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:515,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:521,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:523,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:524,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:524,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:533,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 537
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - key
    - absl::Now
    - absl::ToUnixNanos
    - string_table
    - unit
    - num_unit
    - sample
    - absl::flat_hash_map::insert
    - Not
    - type
    - UnorderedElementsAre
    - absl::Milliseconds
    - EXPECT_EQ
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_TRUE
    - AnyOf
    - label
    - sample_type
    - Each
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - EXPECT_THAT
    - Key
    - time_nanos
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, NonHeapProfileDoesntHaveResidency)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:540,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:542,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:547,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:548,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:549,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:549,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:550,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:550,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:553,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:554,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:554,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:562,1
    - Dst: SizeIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:566,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:566,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:567,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:567,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:572,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:574,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:580,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:581,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:582,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:587,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:591,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:592,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:597,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:599,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:600,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:602,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:607,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:609,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:610,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:612,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:614,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:614,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:615,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:617,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:619,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:620,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:621,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:622,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:624,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:625,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:625,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:626,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:626,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:627,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:628,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:630,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:631,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:631,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:632,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:632,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:633,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:634,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:636,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:637,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:637,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:638,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:638,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:639,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:640,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:642,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:644,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:644,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:649,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:650,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:651,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:654,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:655,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:656,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:657,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:658,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:660,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:661,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:662,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:663,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:664,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:666,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:667,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:668,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:669,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:670,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:672,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:673,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:674,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:675,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:676,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:678,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:679,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:680,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:681,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:682,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:690,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:690,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:691,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:694,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:705,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 539
    functionDepth: 5
    functionLinenumber: 539
    functionLinenumberEnd: 713
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - std::vector::back
    - key
    - IsSupersetOf
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - string_table
    - unit
    - num_unit
    - sample
    - absl::flat_hash_map::insert
    - Not
    - type
    - testing::HasSubstr
    - sample_type_size
    - keep_frames
    - UnorderedElementsAre
    - absl::Milliseconds
    - ASSERT_EQ
    - EXPECT_EQ
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - period_type
    - duration_nanos
    - ASSERT_TRUE
    - value
    - AnyOf
    - value_size
    - absl::ToInt64Nanoseconds
    - label
    - sample_type
    - Each
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - SCOPED_TRACE
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - EXPECT_THAT
    - ASSERT_GE
    - SizeIs
    - period
    - Key
    - drop_frames
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, HeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:719,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:720,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:722,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:737,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:740,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:741,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:742,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:748,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:757,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:760,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:761,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:766,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:766,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:767,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:767,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:768,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:769,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:769,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:774,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:775,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:775,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:778,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:780,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:781,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:783,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:783,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:784,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:784,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:785,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:789,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:792,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:792,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:793,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:793,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:794,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 799
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - absl::Now
    - auto::ok
    - reinterpret_cast<void*>
    - absl::ToUnixNanos
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - auto::SetType
    - sample
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - UnorderedElementsAre
    - absl::Milliseconds
    - absl::bit_cast<void*>
    - auto::SetDuration
    - EXPECT_EQ
    - auto::SetStartTime
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - std::move
    - std::vector::emplace_back
    - SCOPED_TRACE
    - EXPECT_THAT
    - ASSERT_GE
    - std::vector::data
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, PeakHeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:802,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:806,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:807,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:821,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:822,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:823,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:824,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:835,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:836,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:837,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:838,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:839,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:840,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:842,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:849,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:862,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:865,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:865,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:866,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:866,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:867,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:868,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:868,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:870,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:873,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: sample_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:891,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:892,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:893,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:893,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:894,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:894,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:899,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:900,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:903,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:903,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:905,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:907,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:913,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:914,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:914,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:923,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:930,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:937,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:937,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:938,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:940,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:943,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:943,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:944,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:945,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:945,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:946,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:946,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:947,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 801
    functionDepth: 4
    functionLinenumber: 801
    functionLinenumberEnd: 964
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - absl::Now
    - auto::ok
    - reinterpret_cast<void*>
    - absl::ToUnixNanos
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - string_table
    - auto::SetType
    - sample
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - testing::HasSubstr
    - sample_type_size
    - keep_frames
    - UnorderedElementsAre
    - absl::Milliseconds
    - absl::bit_cast<void*>
    - ASSERT_EQ
    - auto::SetDuration
    - sample_size
    - EXPECT_EQ
    - auto::SetStartTime
    - period_type
    - duration_nanos
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - at
    - std::move
    - absl::Nanoseconds
    - absl::ToInt64Nanoseconds
    - sample_type
    - std::vector::push_back
    - SCOPED_TRACE
    - EXPECT_THAT
    - period
    - drop_frames
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LifetimeProfile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:972,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:982,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:983,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:988,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 995
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - ElfW
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - close
    - reinterpret_cast<ElfW(Ehdr)*>
    - open
    - ASSERT_TRUE
    - reinterpret_cast<ElfW(Phdr)*>
    - mmap
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - reinterpret_cast<ElfW(Addr)>
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(BuildId, CorruptImage_b180635896)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1009,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1011,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1013,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1017,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1019,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1020,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1022,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1022,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1024,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1025,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1032
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - ElfW
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - close
    - reinterpret_cast<ElfW(Ehdr)*>
    - open
    - ASSERT_TRUE
    - reinterpret_cast<ElfW(Phdr)*>
    - mmap
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - reinterpret_cast<ElfW(Addr)>
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(BuildId, GnuProperty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::StubPageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StubPageFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~StubPageFlags() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StubPageFlags() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:74,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:75,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:75,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:78,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: std::optional<PageStats>
    signature: std::optional<PageStats> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - stale
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_stale
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set_bytes_stale(const void* addr, int stale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - locked
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_locked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set_bytes_locked(const void* addr, int locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - seconds_stale
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_stale_scan_period
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_stale_scan_period(const void* addr, uint64_t seconds_stale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const void* addr) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realpath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::RealPath
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 1
    functionsReached:
    - realpath
    linkageType: ''
    returnType: std::string
    signature: std::string RealPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddCurrentMappings
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:118,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:119,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:123,1
    - Dst: filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:124,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:125,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:128,1
    - Dst: absl::flat_hash_set::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:129,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: auto::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::RealPath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 139
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - ProfileBuilder::AddCurrentMappings
    - auto::string_table_size
    - ASSERT_LT
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - ASSERT_GE
    - EXPECT_THAT
    - auto::mapping
    - auto::mapping_size
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::tcmalloc_internal::RealPath
    - Not
    - absl::flat_hash_set::emplace
    - id
    - auto::string_table
    - std::move
    - filename
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, Mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:146,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:146,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:150,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:153,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:153,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:155,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:156,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::mapping
    - ProfileBuilder::InternLocation
    - absl::bit_cast<const void*>
    - auto::location
    - address
    - id
    - mapping_id
    - ASSERT_EQ
    - std::move
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTableNoMappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::SetDocURL
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:170,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:172,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - absl::Status::ok
    - ProfileBuilder::SetDocURL
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, DocURL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:181,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:186,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:186,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:188,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:188,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:190,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:190,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:195,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:195,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:197,1
    - Dst: auto::memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:198,1
    - Dst: auto::memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:199,1
    - Dst: auto::file_offset
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: auto::filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: auto::build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:209,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:214,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:215,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:216,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:217,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:218,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:221,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:222,1
    - Dst: auto::id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:222,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:226,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 227
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::build_id
    - static_cast<uint64_t>
    - ProfileBuilder::AddMapping
    - auto::mapping
    - id
    - auto::file_offset
    - testing::UnorderedElementsAreArray
    - auto::filename
    - auto::memory_limit
    - address
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::memory_start
    - absl::bit_cast<const void*>
    - std::tie
    - mapping_id
    - std::move
    - auto::id
    - std::vector::emplace_back
    - EXPECT_THAT
    - ProfileBuilder::InternLocation
    - auto::location
    - auto::string_table
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:209,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SimpleLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: operator==(const SimpleLocation& rhs) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SimpleLocation& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:230,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:232,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:234,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:234,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:238,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:238,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::reserve
    - absl::flat_hash_set::size
    - EXPECT_EQ
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - ASSERT_FALSE
    - auto::string_table
    - ProfileBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, StringTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:251,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:251,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:254,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:254,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:256,1
    - Dst: absl::flat_hash_map::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:261,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:261,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:265,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:266,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:268,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: absl::flat_hash_map::at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:279,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:279,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:287,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:295,1
    - Dst: absl::flat_hash_set<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: testing::IsSubsetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:304,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:305,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - ' converted'
    - ' extracted'
    argTypes:
    - perftools::profiles::Profile
    - SampleLabels
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 315
    functionName: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 3
    functionsReached:
    - testing::Eq
    - key
    - ASSERT_FALSE
    - memory_limit
    - absl::flat_hash_set<int>
    - mapping_size
    - id
    - string_table
    - emplace_back
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - ASSERT_LT
    - sample
    - back
    - location_id
    - absl::flat_hash_map::emplace
    - address
    - Not
    - location
    - str
    - EXPECT_FALSE
    - absl::flat_hash_map::at
    - EXPECT_TRUE
    - EXPECT_EQ
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - EXPECT_LT
    - EXPECT_LE
    - mapping
    - value
    - mapping_id
    - static_cast<int>
    - testing::IsSubsetOf
    - label
    - sample_type
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - memory_start
    - EXPECT_GE
    - num
    linkageType: ''
    returnType: void
    signature: "void CheckAndExtractSampleLabels(const perftools::profiles::Profile&
      converted,\n                                 SampleLabels& extracted)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:327,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:328,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:344,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:350,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:351,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:352,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:353,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:354,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:359,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:363,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:366,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:367,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:376,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:377,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:379,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:380,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:382,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:383,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:383,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:397,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:398,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:399,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:400,1
    - Dst: StubPageFlags*::set_bytes_stale
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:409,1
    - Dst: StubPageFlags*::set_bytes_locked
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:410,1
    - Dst: StubPageFlags*::set_stale_scan_period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:415,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:419,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:425,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:437,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:438,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:439,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:459,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:465,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:466,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:467,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:468,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:469,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:474,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:478,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:482,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:484,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:485,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:486,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:487,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:488,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:488,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:490,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:491,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 100
    argCount: 3
    argNames:
    - start_time
    - duration
    - profile_type
    argTypes:
    - std::optional<absl::Time>
    - absl::Duration
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 493
    functionName: tcmalloc::tcmalloc_internal::MakeTestProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 2
    functionsReached:
    - StubPageFlags*::set_bytes_stale
    - auto::status
    - reinterpret_cast<void*>
    - StubPageFlags*::set_bytes_locked
    - auto::SetType
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - CHECK_EQ
    - absl::bit_cast<void*>
    - auto::SetDuration
    - GetPageSize
    - CHECK_OK
    - auto::SetStartTime
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - CHECK_NE
    - std::move
    - munmap
    - StubPageFlags*::set_stale_scan_period
    - std::optional::emplace
    - std::vector::push_back
    - std::vector::emplace_back
    - std::vector::data
    - mmap
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: "perftools::profiles::Profile MakeTestProfile(\n    std::optional<absl::Time>
      start_time, const absl::Duration duration,\n    const ProfileType profile_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:496,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:497,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:504,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:505,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:506,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:506,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:507,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:507,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:510,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:511,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:511,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:515,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:521,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:523,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:524,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:524,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:533,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 537
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - key
    - absl::Now
    - absl::ToUnixNanos
    - string_table
    - unit
    - num_unit
    - sample
    - absl::flat_hash_map::insert
    - Not
    - type
    - UnorderedElementsAre
    - absl::Milliseconds
    - EXPECT_EQ
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_TRUE
    - AnyOf
    - label
    - sample_type
    - Each
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - EXPECT_THAT
    - Key
    - time_nanos
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, NonHeapProfileDoesntHaveResidency)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:540,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:542,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:547,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:548,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:549,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:549,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:550,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:550,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:553,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:554,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:554,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:562,1
    - Dst: SizeIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:566,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:566,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:567,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:567,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:572,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:574,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:580,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:581,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:582,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:587,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:591,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:592,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:597,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:599,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:600,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:602,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:607,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:609,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:610,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:612,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:614,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:614,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:615,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:617,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:619,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:620,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:621,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:622,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:624,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:625,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:625,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:626,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:626,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:627,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:628,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:630,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:631,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:631,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:632,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:632,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:633,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:634,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:636,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:637,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:637,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:638,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:638,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:639,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:640,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:642,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:644,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:644,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:649,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:650,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:651,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:654,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:655,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:656,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:657,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:658,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:660,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:661,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:662,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:663,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:664,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:666,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:667,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:668,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:669,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:670,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:672,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:673,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:674,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:675,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:676,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:678,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:679,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:680,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:681,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:682,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:690,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:690,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:691,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:694,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:705,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 539
    functionDepth: 5
    functionLinenumber: 539
    functionLinenumberEnd: 713
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - std::vector::back
    - key
    - IsSupersetOf
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - string_table
    - unit
    - num_unit
    - sample
    - absl::flat_hash_map::insert
    - Not
    - type
    - testing::HasSubstr
    - sample_type_size
    - keep_frames
    - UnorderedElementsAre
    - absl::Milliseconds
    - ASSERT_EQ
    - EXPECT_EQ
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - period_type
    - duration_nanos
    - ASSERT_TRUE
    - value
    - AnyOf
    - value_size
    - absl::ToInt64Nanoseconds
    - label
    - sample_type
    - Each
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - SCOPED_TRACE
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - EXPECT_THAT
    - ASSERT_GE
    - SizeIs
    - period
    - Key
    - drop_frames
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, HeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:719,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:720,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:722,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:737,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:740,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:741,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:742,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:748,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:757,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:760,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:761,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:766,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:766,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:767,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:767,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:768,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:769,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:769,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:774,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:775,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:775,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:778,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:780,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:781,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:783,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:783,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:784,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:784,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:785,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:789,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:792,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:792,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:793,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:793,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:794,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 799
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - absl::Now
    - auto::ok
    - reinterpret_cast<void*>
    - absl::ToUnixNanos
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - auto::SetType
    - sample
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - UnorderedElementsAre
    - absl::Milliseconds
    - absl::bit_cast<void*>
    - auto::SetDuration
    - EXPECT_EQ
    - auto::SetStartTime
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - std::move
    - std::vector::emplace_back
    - SCOPED_TRACE
    - EXPECT_THAT
    - ASSERT_GE
    - std::vector::data
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, PeakHeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:802,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:806,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:807,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:821,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:822,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:823,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:824,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:835,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:836,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:837,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:838,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:839,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:840,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:842,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:849,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:862,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:865,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:865,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:866,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:866,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:867,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:868,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:868,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:870,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:873,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: sample_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:891,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:892,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:893,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:893,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:894,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:894,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:899,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:900,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:903,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:903,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:905,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:907,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:913,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:914,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:914,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:923,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:930,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:937,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:937,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:938,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:940,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:943,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:943,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:944,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:945,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:945,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:946,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:946,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:947,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 801
    functionDepth: 4
    functionLinenumber: 801
    functionLinenumberEnd: 964
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - absl::Now
    - auto::ok
    - reinterpret_cast<void*>
    - absl::ToUnixNanos
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - string_table
    - auto::SetType
    - sample
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - testing::HasSubstr
    - sample_type_size
    - keep_frames
    - UnorderedElementsAre
    - absl::Milliseconds
    - absl::bit_cast<void*>
    - ASSERT_EQ
    - auto::SetDuration
    - sample_size
    - EXPECT_EQ
    - auto::SetStartTime
    - period_type
    - duration_nanos
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - at
    - std::move
    - absl::Nanoseconds
    - absl::ToInt64Nanoseconds
    - sample_type
    - std::vector::push_back
    - SCOPED_TRACE
    - EXPECT_THAT
    - period
    - drop_frames
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LifetimeProfile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:972,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:982,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:983,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:988,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 995
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - ElfW
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - close
    - reinterpret_cast<ElfW(Ehdr)*>
    - open
    - ASSERT_TRUE
    - reinterpret_cast<ElfW(Phdr)*>
    - mmap
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - reinterpret_cast<ElfW(Addr)>
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(BuildId, CorruptImage_b180635896)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1009,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1011,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1013,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1017,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1019,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1020,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1022,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1022,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1024,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1025,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1032
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - ElfW
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - close
    - reinterpret_cast<ElfW(Ehdr)*>
    - open
    - ASSERT_TRUE
    - reinterpret_cast<ElfW(Phdr)*>
    - mmap
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - reinterpret_cast<ElfW(Addr)>
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(BuildId, GnuProperty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::StubPageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StubPageFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~StubPageFlags() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StubPageFlags() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:74,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:75,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:75,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:78,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: std::optional<PageStats>
    signature: std::optional<PageStats> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - stale
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_stale
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set_bytes_stale(const void* addr, int stale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - locked
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_locked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set_bytes_locked(const void* addr, int locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - seconds_stale
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_stale_scan_period
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_stale_scan_period(const void* addr, uint64_t seconds_stale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const void* addr) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realpath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::RealPath
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 2
    functionsReached:
    - realpath
    linkageType: ''
    returnType: std::string
    signature: std::string RealPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddCurrentMappings
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:118,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:119,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:123,1
    - Dst: filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:124,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:125,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:128,1
    - Dst: absl::flat_hash_set::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:129,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: auto::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::RealPath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 139
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - ProfileBuilder::AddCurrentMappings
    - auto::string_table_size
    - ASSERT_LT
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - ASSERT_GE
    - EXPECT_THAT
    - auto::mapping
    - auto::mapping_size
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::tcmalloc_internal::RealPath
    - Not
    - absl::flat_hash_set::emplace
    - id
    - auto::string_table
    - std::move
    - filename
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, Mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:146,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:146,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:150,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:153,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:153,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:155,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:156,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::mapping
    - ProfileBuilder::InternLocation
    - absl::bit_cast<const void*>
    - auto::location
    - address
    - id
    - mapping_id
    - ASSERT_EQ
    - std::move
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTableNoMappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::SetDocURL
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:170,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:172,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - absl::Status::ok
    - ProfileBuilder::SetDocURL
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, DocURL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:181,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:186,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:186,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:188,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:188,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:190,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:190,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:195,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:195,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:197,1
    - Dst: auto::memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:198,1
    - Dst: auto::memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:199,1
    - Dst: auto::file_offset
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: auto::filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: auto::build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:209,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:214,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:215,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:216,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:217,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:218,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:221,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:222,1
    - Dst: auto::id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:222,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:226,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 227
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::build_id
    - static_cast<uint64_t>
    - ProfileBuilder::AddMapping
    - auto::mapping
    - id
    - auto::file_offset
    - testing::UnorderedElementsAreArray
    - auto::filename
    - auto::memory_limit
    - address
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::memory_start
    - absl::bit_cast<const void*>
    - std::tie
    - mapping_id
    - std::move
    - auto::id
    - std::vector::emplace_back
    - EXPECT_THAT
    - ProfileBuilder::InternLocation
    - auto::location
    - auto::string_table
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:209,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SimpleLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: operator==(const SimpleLocation& rhs) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SimpleLocation& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:230,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:232,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:234,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:234,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:238,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:238,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::reserve
    - absl::flat_hash_set::size
    - EXPECT_EQ
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - ASSERT_FALSE
    - auto::string_table
    - ProfileBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, StringTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:251,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:251,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:254,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:254,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:256,1
    - Dst: absl::flat_hash_map::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:261,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:261,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:265,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:266,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:268,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: absl::flat_hash_map::at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:279,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:279,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:287,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:295,1
    - Dst: absl::flat_hash_set<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: testing::IsSubsetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:304,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:305,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - ' converted'
    - ' extracted'
    argTypes:
    - perftools::profiles::Profile
    - SampleLabels
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 315
    functionName: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 6
    functionsReached:
    - testing::Eq
    - key
    - ASSERT_FALSE
    - memory_limit
    - absl::flat_hash_set<int>
    - mapping_size
    - id
    - string_table
    - emplace_back
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - ASSERT_LT
    - sample
    - back
    - location_id
    - absl::flat_hash_map::emplace
    - address
    - Not
    - location
    - str
    - EXPECT_FALSE
    - absl::flat_hash_map::at
    - EXPECT_TRUE
    - EXPECT_EQ
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - EXPECT_LT
    - EXPECT_LE
    - mapping
    - value
    - mapping_id
    - static_cast<int>
    - testing::IsSubsetOf
    - label
    - sample_type
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - memory_start
    - EXPECT_GE
    - num
    linkageType: ''
    returnType: void
    signature: "void CheckAndExtractSampleLabels(const perftools::profiles::Profile&
      converted,\n                                 SampleLabels& extracted)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:327,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:328,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:344,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:350,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:351,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:352,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:353,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:354,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:359,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:363,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:366,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:367,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:376,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:377,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:379,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:380,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:382,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:383,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:383,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:397,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:398,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:399,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:400,1
    - Dst: StubPageFlags*::set_bytes_stale
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:409,1
    - Dst: StubPageFlags*::set_bytes_locked
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:410,1
    - Dst: StubPageFlags*::set_stale_scan_period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:415,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:419,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:425,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:437,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:438,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:439,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:459,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:465,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:466,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:467,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:468,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:469,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:474,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:478,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:482,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:484,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:485,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:486,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:487,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:488,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:488,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:490,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:491,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 100
    argCount: 3
    argNames:
    - start_time
    - duration
    - profile_type
    argTypes:
    - std::optional<absl::Time>
    - absl::Duration
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 493
    functionName: tcmalloc::tcmalloc_internal::MakeTestProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 4
    functionsReached:
    - StubPageFlags*::set_bytes_stale
    - auto::status
    - reinterpret_cast<void*>
    - StubPageFlags*::set_bytes_locked
    - auto::SetType
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - CHECK_EQ
    - absl::bit_cast<void*>
    - auto::SetDuration
    - GetPageSize
    - CHECK_OK
    - auto::SetStartTime
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - CHECK_NE
    - std::move
    - munmap
    - StubPageFlags*::set_stale_scan_period
    - std::optional::emplace
    - std::vector::push_back
    - std::vector::emplace_back
    - std::vector::data
    - mmap
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: "perftools::profiles::Profile MakeTestProfile(\n    std::optional<absl::Time>
      start_time, const absl::Duration duration,\n    const ProfileType profile_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:496,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:497,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:504,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:505,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:506,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:506,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:507,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:507,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:510,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:511,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:511,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:515,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:521,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:523,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:524,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:524,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:533,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 537
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - key
    - absl::Now
    - absl::ToUnixNanos
    - string_table
    - unit
    - num_unit
    - sample
    - absl::flat_hash_map::insert
    - Not
    - type
    - UnorderedElementsAre
    - absl::Milliseconds
    - EXPECT_EQ
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_TRUE
    - AnyOf
    - label
    - sample_type
    - Each
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - EXPECT_THAT
    - Key
    - time_nanos
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, NonHeapProfileDoesntHaveResidency)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:540,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:542,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:547,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:548,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:549,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:549,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:550,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:550,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:553,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:554,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:554,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:562,1
    - Dst: SizeIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:566,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:566,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:567,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:567,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:572,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:574,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:580,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:581,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:582,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:587,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:591,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:592,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:597,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:599,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:600,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:602,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:607,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:609,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:610,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:612,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:614,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:614,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:615,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:617,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:619,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:620,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:621,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:622,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:624,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:625,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:625,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:626,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:626,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:627,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:628,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:630,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:631,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:631,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:632,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:632,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:633,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:634,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:636,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:637,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:637,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:638,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:638,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:639,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:640,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:642,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:644,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:644,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:649,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:650,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:651,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:654,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:655,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:656,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:657,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:658,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:660,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:661,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:662,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:663,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:664,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:666,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:667,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:668,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:669,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:670,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:672,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:673,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:674,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:675,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:676,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:678,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:679,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:680,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:681,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:682,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:690,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:690,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:691,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:694,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:705,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 539
    functionDepth: 5
    functionLinenumber: 539
    functionLinenumberEnd: 713
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - std::vector::back
    - key
    - IsSupersetOf
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - string_table
    - unit
    - num_unit
    - sample
    - absl::flat_hash_map::insert
    - Not
    - type
    - testing::HasSubstr
    - sample_type_size
    - keep_frames
    - UnorderedElementsAre
    - absl::Milliseconds
    - ASSERT_EQ
    - EXPECT_EQ
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - period_type
    - duration_nanos
    - ASSERT_TRUE
    - value
    - AnyOf
    - value_size
    - absl::ToInt64Nanoseconds
    - label
    - sample_type
    - Each
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - SCOPED_TRACE
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - EXPECT_THAT
    - ASSERT_GE
    - SizeIs
    - period
    - Key
    - drop_frames
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, HeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:719,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:720,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:722,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:737,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:740,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:741,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:742,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:748,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:757,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:760,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:761,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:766,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:766,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:767,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:767,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:768,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:769,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:769,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:774,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:775,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:775,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:778,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:780,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:781,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:783,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:783,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:784,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:784,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:785,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:789,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:792,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:792,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:793,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:793,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:794,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 799
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - absl::Now
    - auto::ok
    - reinterpret_cast<void*>
    - absl::ToUnixNanos
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - auto::SetType
    - sample
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - UnorderedElementsAre
    - absl::Milliseconds
    - absl::bit_cast<void*>
    - auto::SetDuration
    - EXPECT_EQ
    - auto::SetStartTime
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - std::move
    - std::vector::emplace_back
    - SCOPED_TRACE
    - EXPECT_THAT
    - ASSERT_GE
    - std::vector::data
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, PeakHeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:802,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:806,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:807,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:821,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:822,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:823,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:824,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:835,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:836,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:837,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:838,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:839,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:840,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:842,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:849,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:862,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:865,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:865,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:866,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:866,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:867,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:868,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:868,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:870,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:873,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: sample_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:891,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:892,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:893,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:893,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:894,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:894,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:899,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:900,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:903,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:903,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:905,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:907,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:913,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:914,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:914,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:923,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:930,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:937,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:937,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:938,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:940,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:943,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:943,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:944,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:945,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:945,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:946,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:946,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:947,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 801
    functionDepth: 4
    functionLinenumber: 801
    functionLinenumberEnd: 964
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - absl::Now
    - auto::ok
    - reinterpret_cast<void*>
    - absl::ToUnixNanos
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - string_table
    - auto::SetType
    - sample
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - testing::HasSubstr
    - sample_type_size
    - keep_frames
    - UnorderedElementsAre
    - absl::Milliseconds
    - absl::bit_cast<void*>
    - ASSERT_EQ
    - auto::SetDuration
    - sample_size
    - EXPECT_EQ
    - auto::SetStartTime
    - period_type
    - duration_nanos
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - at
    - std::move
    - absl::Nanoseconds
    - absl::ToInt64Nanoseconds
    - sample_type
    - std::vector::push_back
    - SCOPED_TRACE
    - EXPECT_THAT
    - period
    - drop_frames
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LifetimeProfile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:972,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:982,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:983,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:988,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 995
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - ElfW
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - close
    - reinterpret_cast<ElfW(Ehdr)*>
    - open
    - ASSERT_TRUE
    - reinterpret_cast<ElfW(Phdr)*>
    - mmap
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - reinterpret_cast<ElfW(Addr)>
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(BuildId, CorruptImage_b180635896)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1009,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1011,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1013,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1017,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1019,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1020,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1022,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1022,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1024,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1025,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1032
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - ElfW
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - close
    - reinterpret_cast<ElfW(Ehdr)*>
    - open
    - ASSERT_TRUE
    - reinterpret_cast<ElfW(Phdr)*>
    - mmap
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - reinterpret_cast<ElfW(Addr)>
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(BuildId, GnuProperty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::StubPageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StubPageFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~StubPageFlags() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StubPageFlags() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:74,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:75,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:75,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:78,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: std::optional<PageStats>
    signature: std::optional<PageStats> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - stale
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_stale
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set_bytes_stale(const void* addr, int stale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - locked
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_locked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set_bytes_locked(const void* addr, int locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - seconds_stale
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_stale_scan_period
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_stale_scan_period(const void* addr, uint64_t seconds_stale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const void* addr) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realpath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::RealPath
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 3
    functionsReached:
    - realpath
    linkageType: ''
    returnType: std::string
    signature: std::string RealPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddCurrentMappings
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:118,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:119,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:123,1
    - Dst: filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:124,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:125,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:128,1
    - Dst: absl::flat_hash_set::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:129,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: auto::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::RealPath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 139
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - ProfileBuilder::AddCurrentMappings
    - auto::string_table_size
    - ASSERT_LT
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - ASSERT_GE
    - EXPECT_THAT
    - auto::mapping
    - auto::mapping_size
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::tcmalloc_internal::RealPath
    - Not
    - absl::flat_hash_set::emplace
    - id
    - auto::string_table
    - std::move
    - filename
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, Mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:146,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:146,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:150,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:153,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:153,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:155,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:156,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::mapping
    - ProfileBuilder::InternLocation
    - absl::bit_cast<const void*>
    - auto::location
    - address
    - id
    - mapping_id
    - ASSERT_EQ
    - std::move
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTableNoMappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::SetDocURL
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:170,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:172,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - absl::Status::ok
    - ProfileBuilder::SetDocURL
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, DocURL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:181,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:186,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:186,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:188,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:188,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:190,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:190,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:195,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:195,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:197,1
    - Dst: auto::memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:198,1
    - Dst: auto::memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:199,1
    - Dst: auto::file_offset
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: auto::filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: auto::build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:209,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:214,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:215,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:216,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:217,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:218,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:221,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:222,1
    - Dst: auto::id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:222,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:226,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 227
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::build_id
    - static_cast<uint64_t>
    - ProfileBuilder::AddMapping
    - auto::mapping
    - id
    - auto::file_offset
    - testing::UnorderedElementsAreArray
    - auto::filename
    - auto::memory_limit
    - address
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::memory_start
    - absl::bit_cast<const void*>
    - std::tie
    - mapping_id
    - std::move
    - auto::id
    - std::vector::emplace_back
    - EXPECT_THAT
    - ProfileBuilder::InternLocation
    - auto::location
    - auto::string_table
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:209,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SimpleLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: operator==(const SimpleLocation& rhs) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SimpleLocation& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:230,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:232,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:234,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:234,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:238,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:238,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::reserve
    - absl::flat_hash_set::size
    - EXPECT_EQ
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - ASSERT_FALSE
    - auto::string_table
    - ProfileBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, StringTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:251,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:251,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:254,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:254,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:256,1
    - Dst: absl::flat_hash_map::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:261,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:261,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:265,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:266,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:268,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: absl::flat_hash_map::at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:279,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:279,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:287,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:295,1
    - Dst: absl::flat_hash_set<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: testing::IsSubsetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:304,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:305,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - ' converted'
    - ' extracted'
    argTypes:
    - perftools::profiles::Profile
    - SampleLabels
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 315
    functionName: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 9
    functionsReached:
    - testing::Eq
    - key
    - ASSERT_FALSE
    - memory_limit
    - absl::flat_hash_set<int>
    - mapping_size
    - id
    - string_table
    - emplace_back
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - ASSERT_LT
    - sample
    - back
    - location_id
    - absl::flat_hash_map::emplace
    - address
    - Not
    - location
    - str
    - EXPECT_FALSE
    - absl::flat_hash_map::at
    - EXPECT_TRUE
    - EXPECT_EQ
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - EXPECT_LT
    - EXPECT_LE
    - mapping
    - value
    - mapping_id
    - static_cast<int>
    - testing::IsSubsetOf
    - label
    - sample_type
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - memory_start
    - EXPECT_GE
    - num
    linkageType: ''
    returnType: void
    signature: "void CheckAndExtractSampleLabels(const perftools::profiles::Profile&
      converted,\n                                 SampleLabels& extracted)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:327,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:328,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:344,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:350,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:351,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:352,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:353,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:354,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:359,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:363,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:366,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:367,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:376,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:377,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:379,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:380,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:382,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:383,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:383,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:397,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:398,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:399,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:400,1
    - Dst: StubPageFlags*::set_bytes_stale
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:409,1
    - Dst: StubPageFlags*::set_bytes_locked
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:410,1
    - Dst: StubPageFlags*::set_stale_scan_period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:415,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:419,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:425,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:437,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:438,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:439,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:459,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:465,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:466,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:467,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:468,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:469,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:474,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:478,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:482,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:484,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:485,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:486,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:487,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:488,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:488,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:490,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:491,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 100
    argCount: 3
    argNames:
    - start_time
    - duration
    - profile_type
    argTypes:
    - std::optional<absl::Time>
    - absl::Duration
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 493
    functionName: tcmalloc::tcmalloc_internal::MakeTestProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 6
    functionsReached:
    - StubPageFlags*::set_bytes_stale
    - auto::status
    - reinterpret_cast<void*>
    - StubPageFlags*::set_bytes_locked
    - auto::SetType
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - CHECK_EQ
    - absl::bit_cast<void*>
    - auto::SetDuration
    - GetPageSize
    - CHECK_OK
    - auto::SetStartTime
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - CHECK_NE
    - std::move
    - munmap
    - StubPageFlags*::set_stale_scan_period
    - std::optional::emplace
    - std::vector::push_back
    - std::vector::emplace_back
    - std::vector::data
    - mmap
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: "perftools::profiles::Profile MakeTestProfile(\n    std::optional<absl::Time>
      start_time, const absl::Duration duration,\n    const ProfileType profile_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:496,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:497,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:504,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:505,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:506,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:506,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:507,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:507,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:510,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:511,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:511,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:515,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:521,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:523,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:524,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:524,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:533,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 537
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - key
    - absl::Now
    - absl::ToUnixNanos
    - string_table
    - unit
    - num_unit
    - sample
    - absl::flat_hash_map::insert
    - Not
    - type
    - UnorderedElementsAre
    - absl::Milliseconds
    - EXPECT_EQ
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_TRUE
    - AnyOf
    - label
    - sample_type
    - Each
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - EXPECT_THAT
    - Key
    - time_nanos
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, NonHeapProfileDoesntHaveResidency)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:540,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:542,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:547,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:548,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:549,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:549,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:550,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:550,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:553,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:554,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:554,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:562,1
    - Dst: SizeIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:566,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:566,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:567,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:567,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:572,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:574,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:580,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:581,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:582,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:587,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:591,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:592,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:597,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:599,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:600,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:602,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:607,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:609,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:610,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:612,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:614,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:614,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:615,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:617,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:619,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:620,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:621,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:622,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:624,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:625,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:625,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:626,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:626,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:627,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:628,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:630,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:631,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:631,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:632,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:632,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:633,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:634,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:636,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:637,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:637,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:638,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:638,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:639,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:640,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:642,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:644,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:644,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:649,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:650,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:651,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:654,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:655,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:656,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:657,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:658,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:660,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:661,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:662,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:663,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:664,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:666,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:667,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:668,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:669,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:670,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:672,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:673,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:674,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:675,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:676,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:678,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:679,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:680,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:681,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:682,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:690,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:690,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:691,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:694,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:705,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 539
    functionDepth: 5
    functionLinenumber: 539
    functionLinenumberEnd: 713
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - std::vector::back
    - key
    - IsSupersetOf
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - string_table
    - unit
    - num_unit
    - sample
    - absl::flat_hash_map::insert
    - Not
    - type
    - testing::HasSubstr
    - sample_type_size
    - keep_frames
    - UnorderedElementsAre
    - absl::Milliseconds
    - ASSERT_EQ
    - EXPECT_EQ
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - period_type
    - duration_nanos
    - ASSERT_TRUE
    - value
    - AnyOf
    - value_size
    - absl::ToInt64Nanoseconds
    - label
    - sample_type
    - Each
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - SCOPED_TRACE
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - EXPECT_THAT
    - ASSERT_GE
    - SizeIs
    - period
    - Key
    - drop_frames
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, HeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:719,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:720,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:722,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:737,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:740,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:741,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:742,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:748,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:757,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:760,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:761,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:766,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:766,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:767,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:767,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:768,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:769,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:769,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:774,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:775,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:775,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:778,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:780,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:781,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:783,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:783,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:784,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:784,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:785,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:789,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:792,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:792,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:793,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:793,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:794,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 799
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - absl::Now
    - auto::ok
    - reinterpret_cast<void*>
    - absl::ToUnixNanos
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - auto::SetType
    - sample
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - UnorderedElementsAre
    - absl::Milliseconds
    - absl::bit_cast<void*>
    - auto::SetDuration
    - EXPECT_EQ
    - auto::SetStartTime
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - std::move
    - std::vector::emplace_back
    - SCOPED_TRACE
    - EXPECT_THAT
    - ASSERT_GE
    - std::vector::data
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, PeakHeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:802,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:806,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:807,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:821,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:822,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:823,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:824,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:835,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:836,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:837,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:838,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:839,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:840,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:842,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:849,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:862,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:865,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:865,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:866,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:866,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:867,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:868,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:868,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:870,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:873,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: sample_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:891,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:892,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:893,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:893,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:894,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:894,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:899,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:900,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:903,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:903,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:905,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:907,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:913,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:914,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:914,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:923,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:930,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:937,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:937,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:938,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:940,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:943,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:943,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:944,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:945,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:945,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:946,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:946,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:947,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 801
    functionDepth: 4
    functionLinenumber: 801
    functionLinenumberEnd: 964
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - absl::Now
    - auto::ok
    - reinterpret_cast<void*>
    - absl::ToUnixNanos
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - string_table
    - auto::SetType
    - sample
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - testing::HasSubstr
    - sample_type_size
    - keep_frames
    - UnorderedElementsAre
    - absl::Milliseconds
    - absl::bit_cast<void*>
    - ASSERT_EQ
    - auto::SetDuration
    - sample_size
    - EXPECT_EQ
    - auto::SetStartTime
    - period_type
    - duration_nanos
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - at
    - std::move
    - absl::Nanoseconds
    - absl::ToInt64Nanoseconds
    - sample_type
    - std::vector::push_back
    - SCOPED_TRACE
    - EXPECT_THAT
    - period
    - drop_frames
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LifetimeProfile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:972,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:982,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:983,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:988,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 995
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - ElfW
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - close
    - reinterpret_cast<ElfW(Ehdr)*>
    - open
    - ASSERT_TRUE
    - reinterpret_cast<ElfW(Phdr)*>
    - mmap
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - reinterpret_cast<ElfW(Addr)>
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(BuildId, CorruptImage_b180635896)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1009,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1011,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1013,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1017,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1019,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1020,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1022,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1022,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1024,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1025,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1032
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - ElfW
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - close
    - reinterpret_cast<ElfW(Ehdr)*>
    - open
    - ASSERT_TRUE
    - reinterpret_cast<ElfW(Phdr)*>
    - mmap
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - reinterpret_cast<ElfW(Addr)>
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(BuildId, GnuProperty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::StubPageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StubPageFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~StubPageFlags() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StubPageFlags() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:74,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:75,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:75,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:78,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: std::optional<PageStats>
    signature: std::optional<PageStats> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - stale
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_stale
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set_bytes_stale(const void* addr, int stale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - locked
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_locked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set_bytes_locked(const void* addr, int locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - seconds_stale
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_stale_scan_period
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_stale_scan_period(const void* addr, uint64_t seconds_stale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const void* addr) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realpath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::RealPath
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 4
    functionsReached:
    - realpath
    linkageType: ''
    returnType: std::string
    signature: std::string RealPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddCurrentMappings
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:118,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:119,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:123,1
    - Dst: filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:124,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:125,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:128,1
    - Dst: absl::flat_hash_set::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:129,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: auto::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::RealPath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 139
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - ProfileBuilder::AddCurrentMappings
    - auto::string_table_size
    - ASSERT_LT
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - ASSERT_GE
    - EXPECT_THAT
    - auto::mapping
    - auto::mapping_size
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::tcmalloc_internal::RealPath
    - Not
    - absl::flat_hash_set::emplace
    - id
    - auto::string_table
    - std::move
    - filename
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, Mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:146,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:146,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:150,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:153,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:153,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:155,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:156,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::mapping
    - ProfileBuilder::InternLocation
    - absl::bit_cast<const void*>
    - auto::location
    - address
    - id
    - mapping_id
    - ASSERT_EQ
    - std::move
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTableNoMappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::SetDocURL
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:170,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:172,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - absl::Status::ok
    - ProfileBuilder::SetDocURL
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, DocURL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:181,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:186,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:186,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:188,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:188,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:190,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:190,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:195,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:195,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:197,1
    - Dst: auto::memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:198,1
    - Dst: auto::memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:199,1
    - Dst: auto::file_offset
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: auto::filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: auto::build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:209,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:214,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:215,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:216,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:217,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:218,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:221,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:222,1
    - Dst: auto::id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:222,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:226,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 227
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::build_id
    - static_cast<uint64_t>
    - ProfileBuilder::AddMapping
    - auto::mapping
    - id
    - auto::file_offset
    - testing::UnorderedElementsAreArray
    - auto::filename
    - auto::memory_limit
    - address
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::memory_start
    - absl::bit_cast<const void*>
    - std::tie
    - mapping_id
    - std::move
    - auto::id
    - std::vector::emplace_back
    - EXPECT_THAT
    - ProfileBuilder::InternLocation
    - auto::location
    - auto::string_table
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:209,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SimpleLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: operator==(const SimpleLocation& rhs) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SimpleLocation& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:230,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:232,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:234,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:234,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:238,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:238,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::reserve
    - absl::flat_hash_set::size
    - EXPECT_EQ
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - ASSERT_FALSE
    - auto::string_table
    - ProfileBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, StringTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:251,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:251,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:254,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:254,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:256,1
    - Dst: absl::flat_hash_map::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:261,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:261,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:265,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:266,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:268,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: absl::flat_hash_map::at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:279,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:279,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:287,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:295,1
    - Dst: absl::flat_hash_set<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: testing::IsSubsetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:304,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:305,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - ' converted'
    - ' extracted'
    argTypes:
    - perftools::profiles::Profile
    - SampleLabels
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 315
    functionName: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 12
    functionsReached:
    - testing::Eq
    - key
    - ASSERT_FALSE
    - memory_limit
    - absl::flat_hash_set<int>
    - mapping_size
    - id
    - string_table
    - emplace_back
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - ASSERT_LT
    - sample
    - back
    - location_id
    - absl::flat_hash_map::emplace
    - address
    - Not
    - location
    - str
    - EXPECT_FALSE
    - absl::flat_hash_map::at
    - EXPECT_TRUE
    - EXPECT_EQ
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - EXPECT_LT
    - EXPECT_LE
    - mapping
    - value
    - mapping_id
    - static_cast<int>
    - testing::IsSubsetOf
    - label
    - sample_type
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - memory_start
    - EXPECT_GE
    - num
    linkageType: ''
    returnType: void
    signature: "void CheckAndExtractSampleLabels(const perftools::profiles::Profile&
      converted,\n                                 SampleLabels& extracted)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:327,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:328,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:344,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:350,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:351,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:352,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:353,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:354,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:359,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:363,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:366,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:367,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:376,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:377,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:379,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:380,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:382,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:383,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:383,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:397,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:398,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:399,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:400,1
    - Dst: StubPageFlags*::set_bytes_stale
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:409,1
    - Dst: StubPageFlags*::set_bytes_locked
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:410,1
    - Dst: StubPageFlags*::set_stale_scan_period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:415,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:419,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:425,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:437,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:438,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:439,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:459,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:465,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:466,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:467,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:468,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:469,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:474,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:478,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:482,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:484,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:485,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:486,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:487,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:488,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:488,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:490,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:491,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 100
    argCount: 3
    argNames:
    - start_time
    - duration
    - profile_type
    argTypes:
    - std::optional<absl::Time>
    - absl::Duration
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 493
    functionName: tcmalloc::tcmalloc_internal::MakeTestProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 8
    functionsReached:
    - StubPageFlags*::set_bytes_stale
    - auto::status
    - reinterpret_cast<void*>
    - StubPageFlags*::set_bytes_locked
    - auto::SetType
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - CHECK_EQ
    - absl::bit_cast<void*>
    - auto::SetDuration
    - GetPageSize
    - CHECK_OK
    - auto::SetStartTime
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - CHECK_NE
    - std::move
    - munmap
    - StubPageFlags*::set_stale_scan_period
    - std::optional::emplace
    - std::vector::push_back
    - std::vector::emplace_back
    - std::vector::data
    - mmap
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: "perftools::profiles::Profile MakeTestProfile(\n    std::optional<absl::Time>
      start_time, const absl::Duration duration,\n    const ProfileType profile_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:496,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:497,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:504,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:505,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:506,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:506,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:507,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:507,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:510,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:511,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:511,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:515,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:521,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:523,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:524,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:524,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:533,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 537
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - key
    - absl::Now
    - absl::ToUnixNanos
    - string_table
    - unit
    - num_unit
    - sample
    - absl::flat_hash_map::insert
    - Not
    - type
    - UnorderedElementsAre
    - absl::Milliseconds
    - EXPECT_EQ
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_TRUE
    - AnyOf
    - label
    - sample_type
    - Each
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - EXPECT_THAT
    - Key
    - time_nanos
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, NonHeapProfileDoesntHaveResidency)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:540,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:542,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:547,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:548,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:549,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:549,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:550,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:550,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:553,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:554,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:554,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:562,1
    - Dst: SizeIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:566,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:566,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:567,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:567,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:572,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:574,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:580,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:581,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:582,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:587,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:591,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:592,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:597,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:599,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:600,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:602,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:607,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:609,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:610,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:612,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:614,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:614,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:615,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:617,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:619,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:620,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:621,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:622,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:624,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:625,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:625,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:626,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:626,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:627,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:628,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:630,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:631,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:631,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:632,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:632,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:633,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:634,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:636,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:637,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:637,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:638,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:638,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:639,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:640,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:642,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:644,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:644,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:649,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:650,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:651,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:654,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:655,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:656,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:657,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:658,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:660,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:661,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:662,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:663,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:664,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:666,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:667,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:668,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:669,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:670,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:672,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:673,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:674,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:675,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:676,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:678,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:679,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:680,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:681,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:682,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:690,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:690,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:691,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:694,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:705,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 539
    functionDepth: 5
    functionLinenumber: 539
    functionLinenumberEnd: 713
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - std::vector::back
    - key
    - IsSupersetOf
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - string_table
    - unit
    - num_unit
    - sample
    - absl::flat_hash_map::insert
    - Not
    - type
    - testing::HasSubstr
    - sample_type_size
    - keep_frames
    - UnorderedElementsAre
    - absl::Milliseconds
    - ASSERT_EQ
    - EXPECT_EQ
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - period_type
    - duration_nanos
    - ASSERT_TRUE
    - value
    - AnyOf
    - value_size
    - absl::ToInt64Nanoseconds
    - label
    - sample_type
    - Each
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - SCOPED_TRACE
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - EXPECT_THAT
    - ASSERT_GE
    - SizeIs
    - period
    - Key
    - drop_frames
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, HeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:719,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:720,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:722,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:737,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:740,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:741,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:742,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:748,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:757,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:760,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:761,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:766,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:766,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:767,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:767,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:768,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:769,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:769,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:774,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:775,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:775,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:778,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:780,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:781,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:783,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:783,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:784,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:784,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:785,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:789,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:792,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:792,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:793,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:793,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:794,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 799
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - absl::Now
    - auto::ok
    - reinterpret_cast<void*>
    - absl::ToUnixNanos
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - auto::SetType
    - sample
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - UnorderedElementsAre
    - absl::Milliseconds
    - absl::bit_cast<void*>
    - auto::SetDuration
    - EXPECT_EQ
    - auto::SetStartTime
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - std::move
    - std::vector::emplace_back
    - SCOPED_TRACE
    - EXPECT_THAT
    - ASSERT_GE
    - std::vector::data
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, PeakHeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:802,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:806,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:807,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:821,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:822,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:823,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:824,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:835,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:836,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:837,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:838,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:839,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:840,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:842,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:849,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:862,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:865,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:865,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:866,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:866,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:867,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:868,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:868,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:870,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:873,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: sample_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:891,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:892,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:893,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:893,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:894,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:894,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:899,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:900,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:903,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:903,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:905,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:907,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:913,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:914,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:914,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:923,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:930,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:937,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:937,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:938,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:940,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:943,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:943,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:944,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:945,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:945,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:946,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:946,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:947,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 801
    functionDepth: 4
    functionLinenumber: 801
    functionLinenumberEnd: 964
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - absl::Now
    - auto::ok
    - reinterpret_cast<void*>
    - absl::ToUnixNanos
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - string_table
    - auto::SetType
    - sample
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - testing::HasSubstr
    - sample_type_size
    - keep_frames
    - UnorderedElementsAre
    - absl::Milliseconds
    - absl::bit_cast<void*>
    - ASSERT_EQ
    - auto::SetDuration
    - sample_size
    - EXPECT_EQ
    - auto::SetStartTime
    - period_type
    - duration_nanos
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - at
    - std::move
    - absl::Nanoseconds
    - absl::ToInt64Nanoseconds
    - sample_type
    - std::vector::push_back
    - SCOPED_TRACE
    - EXPECT_THAT
    - period
    - drop_frames
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LifetimeProfile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:972,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:982,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:983,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:988,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 995
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - ElfW
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - close
    - reinterpret_cast<ElfW(Ehdr)*>
    - open
    - ASSERT_TRUE
    - reinterpret_cast<ElfW(Phdr)*>
    - mmap
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - reinterpret_cast<ElfW(Addr)>
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(BuildId, CorruptImage_b180635896)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1009,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1011,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1013,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1017,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1019,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1020,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1022,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1022,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1024,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1025,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1032
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - ElfW
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - close
    - reinterpret_cast<ElfW(Ehdr)*>
    - open
    - ASSERT_TRUE
    - reinterpret_cast<ElfW(Phdr)*>
    - mmap
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - reinterpret_cast<ElfW(Addr)>
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(BuildId, GnuProperty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::StubPageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StubPageFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~StubPageFlags() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StubPageFlags() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:74,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:75,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:75,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:78,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: std::optional<PageStats>
    signature: std::optional<PageStats> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - stale
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_stale
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set_bytes_stale(const void* addr, int stale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - locked
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_locked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set_bytes_locked(const void* addr, int locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - seconds_stale
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_stale_scan_period
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_stale_scan_period(const void* addr, uint64_t seconds_stale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const void* addr) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realpath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::RealPath
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 5
    functionsReached:
    - realpath
    linkageType: ''
    returnType: std::string
    signature: std::string RealPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddCurrentMappings
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:118,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:119,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:123,1
    - Dst: filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:124,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:125,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:128,1
    - Dst: absl::flat_hash_set::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:129,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: auto::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::RealPath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 139
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - ProfileBuilder::AddCurrentMappings
    - auto::string_table_size
    - ASSERT_LT
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - ASSERT_GE
    - EXPECT_THAT
    - auto::mapping
    - auto::mapping_size
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::tcmalloc_internal::RealPath
    - Not
    - absl::flat_hash_set::emplace
    - id
    - auto::string_table
    - std::move
    - filename
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, Mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:146,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:146,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:150,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:153,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:153,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:155,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:156,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::mapping
    - ProfileBuilder::InternLocation
    - absl::bit_cast<const void*>
    - auto::location
    - address
    - id
    - mapping_id
    - ASSERT_EQ
    - std::move
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTableNoMappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::SetDocURL
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:170,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:172,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - absl::Status::ok
    - ProfileBuilder::SetDocURL
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, DocURL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:181,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:186,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:186,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:188,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:188,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:190,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:190,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:195,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:195,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:197,1
    - Dst: auto::memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:198,1
    - Dst: auto::memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:199,1
    - Dst: auto::file_offset
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: auto::filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: auto::build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:209,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:214,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:215,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:216,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:217,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:218,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:221,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:222,1
    - Dst: auto::id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:222,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:226,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 227
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::build_id
    - static_cast<uint64_t>
    - ProfileBuilder::AddMapping
    - auto::mapping
    - id
    - auto::file_offset
    - testing::UnorderedElementsAreArray
    - auto::filename
    - auto::memory_limit
    - address
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::memory_start
    - absl::bit_cast<const void*>
    - std::tie
    - mapping_id
    - std::move
    - auto::id
    - std::vector::emplace_back
    - EXPECT_THAT
    - ProfileBuilder::InternLocation
    - auto::location
    - auto::string_table
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:209,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SimpleLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: operator==(const SimpleLocation& rhs) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SimpleLocation& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:230,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:232,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:234,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:234,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:238,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:238,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::reserve
    - absl::flat_hash_set::size
    - EXPECT_EQ
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - ASSERT_FALSE
    - auto::string_table
    - ProfileBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, StringTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:251,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:251,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:254,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:254,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:256,1
    - Dst: absl::flat_hash_map::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:261,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:261,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:265,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:266,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:268,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: absl::flat_hash_map::at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:279,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:279,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:287,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:295,1
    - Dst: absl::flat_hash_set<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: testing::IsSubsetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:304,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:305,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - ' converted'
    - ' extracted'
    argTypes:
    - perftools::profiles::Profile
    - SampleLabels
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 315
    functionName: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 15
    functionsReached:
    - testing::Eq
    - key
    - ASSERT_FALSE
    - memory_limit
    - absl::flat_hash_set<int>
    - mapping_size
    - id
    - string_table
    - emplace_back
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - ASSERT_LT
    - sample
    - back
    - location_id
    - absl::flat_hash_map::emplace
    - address
    - Not
    - location
    - str
    - EXPECT_FALSE
    - absl::flat_hash_map::at
    - EXPECT_TRUE
    - EXPECT_EQ
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - EXPECT_LT
    - EXPECT_LE
    - mapping
    - value
    - mapping_id
    - static_cast<int>
    - testing::IsSubsetOf
    - label
    - sample_type
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - memory_start
    - EXPECT_GE
    - num
    linkageType: ''
    returnType: void
    signature: "void CheckAndExtractSampleLabels(const perftools::profiles::Profile&
      converted,\n                                 SampleLabels& extracted)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:327,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:328,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:344,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:350,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:351,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:352,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:353,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:354,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:359,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:363,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:366,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:367,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:376,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:377,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:379,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:380,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:382,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:383,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:383,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:397,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:398,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:399,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:400,1
    - Dst: StubPageFlags*::set_bytes_stale
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:409,1
    - Dst: StubPageFlags*::set_bytes_locked
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:410,1
    - Dst: StubPageFlags*::set_stale_scan_period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:415,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:419,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:425,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:437,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:438,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:439,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:459,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:465,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:466,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:467,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:468,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:469,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:474,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:478,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:482,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:484,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:485,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:486,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:487,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:488,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:488,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:490,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:491,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 100
    argCount: 3
    argNames:
    - start_time
    - duration
    - profile_type
    argTypes:
    - std::optional<absl::Time>
    - absl::Duration
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 493
    functionName: tcmalloc::tcmalloc_internal::MakeTestProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 10
    functionsReached:
    - StubPageFlags*::set_bytes_stale
    - auto::status
    - reinterpret_cast<void*>
    - StubPageFlags*::set_bytes_locked
    - auto::SetType
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - CHECK_EQ
    - absl::bit_cast<void*>
    - auto::SetDuration
    - GetPageSize
    - CHECK_OK
    - auto::SetStartTime
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - CHECK_NE
    - std::move
    - munmap
    - StubPageFlags*::set_stale_scan_period
    - std::optional::emplace
    - std::vector::push_back
    - std::vector::emplace_back
    - std::vector::data
    - mmap
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: "perftools::profiles::Profile MakeTestProfile(\n    std::optional<absl::Time>
      start_time, const absl::Duration duration,\n    const ProfileType profile_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:496,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:497,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:504,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:505,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:506,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:506,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:507,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:507,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:510,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:511,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:511,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:515,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:521,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:523,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:524,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:524,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:533,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 537
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - key
    - absl::Now
    - absl::ToUnixNanos
    - string_table
    - unit
    - num_unit
    - sample
    - absl::flat_hash_map::insert
    - Not
    - type
    - UnorderedElementsAre
    - absl::Milliseconds
    - EXPECT_EQ
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_TRUE
    - AnyOf
    - label
    - sample_type
    - Each
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - EXPECT_THAT
    - Key
    - time_nanos
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, NonHeapProfileDoesntHaveResidency)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:540,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:542,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:547,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:548,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:549,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:549,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:550,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:550,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:553,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:554,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:554,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:562,1
    - Dst: SizeIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:566,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:566,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:567,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:567,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:572,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:574,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:580,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:581,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:582,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:587,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:591,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:592,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:597,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:599,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:600,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:602,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:607,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:609,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:610,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:612,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:614,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:614,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:615,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:617,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:619,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:620,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:621,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:622,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:624,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:625,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:625,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:626,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:626,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:627,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:628,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:630,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:631,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:631,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:632,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:632,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:633,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:634,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:636,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:637,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:637,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:638,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:638,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:639,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:640,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:642,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:644,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:644,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:649,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:650,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:651,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:654,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:655,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:656,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:657,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:658,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:660,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:661,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:662,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:663,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:664,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:666,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:667,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:668,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:669,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:670,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:672,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:673,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:674,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:675,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:676,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:678,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:679,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:680,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:681,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:682,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:690,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:690,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:691,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:694,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:705,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 539
    functionDepth: 5
    functionLinenumber: 539
    functionLinenumberEnd: 713
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - std::vector::back
    - key
    - IsSupersetOf
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - string_table
    - unit
    - num_unit
    - sample
    - absl::flat_hash_map::insert
    - Not
    - type
    - testing::HasSubstr
    - sample_type_size
    - keep_frames
    - UnorderedElementsAre
    - absl::Milliseconds
    - ASSERT_EQ
    - EXPECT_EQ
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - period_type
    - duration_nanos
    - ASSERT_TRUE
    - value
    - AnyOf
    - value_size
    - absl::ToInt64Nanoseconds
    - label
    - sample_type
    - Each
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - SCOPED_TRACE
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - EXPECT_THAT
    - ASSERT_GE
    - SizeIs
    - period
    - Key
    - drop_frames
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, HeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:719,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:720,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:722,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:737,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:740,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:741,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:742,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:748,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:757,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:760,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:761,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:766,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:766,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:767,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:767,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:768,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:769,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:769,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:774,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:775,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:775,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:778,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:780,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:781,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:783,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:783,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:784,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:784,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:785,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:789,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:792,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:792,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:793,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:793,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:794,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 799
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - absl::Now
    - auto::ok
    - reinterpret_cast<void*>
    - absl::ToUnixNanos
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - auto::SetType
    - sample
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - UnorderedElementsAre
    - absl::Milliseconds
    - absl::bit_cast<void*>
    - auto::SetDuration
    - EXPECT_EQ
    - auto::SetStartTime
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - std::move
    - std::vector::emplace_back
    - SCOPED_TRACE
    - EXPECT_THAT
    - ASSERT_GE
    - std::vector::data
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, PeakHeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:802,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:806,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:807,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:821,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:822,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:823,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:824,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:835,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:836,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:837,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:838,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:839,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:840,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:842,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:849,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:862,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:865,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:865,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:866,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:866,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:867,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:868,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:868,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:870,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:873,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: sample_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:891,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:892,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:893,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:893,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:894,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:894,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:899,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:900,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:903,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:903,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:905,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:907,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:913,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:914,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:914,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:923,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:930,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:937,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:937,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:938,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:940,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:943,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:943,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:944,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:945,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:945,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:946,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:946,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:947,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 801
    functionDepth: 4
    functionLinenumber: 801
    functionLinenumberEnd: 964
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - absl::Now
    - auto::ok
    - reinterpret_cast<void*>
    - absl::ToUnixNanos
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - string_table
    - auto::SetType
    - sample
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - testing::HasSubstr
    - sample_type_size
    - keep_frames
    - UnorderedElementsAre
    - absl::Milliseconds
    - absl::bit_cast<void*>
    - ASSERT_EQ
    - auto::SetDuration
    - sample_size
    - EXPECT_EQ
    - auto::SetStartTime
    - period_type
    - duration_nanos
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - at
    - std::move
    - absl::Nanoseconds
    - absl::ToInt64Nanoseconds
    - sample_type
    - std::vector::push_back
    - SCOPED_TRACE
    - EXPECT_THAT
    - period
    - drop_frames
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LifetimeProfile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:972,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:982,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:983,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:988,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 995
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - ElfW
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - close
    - reinterpret_cast<ElfW(Ehdr)*>
    - open
    - ASSERT_TRUE
    - reinterpret_cast<ElfW(Phdr)*>
    - mmap
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - reinterpret_cast<ElfW(Addr)>
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(BuildId, CorruptImage_b180635896)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1009,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1011,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1013,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1017,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1019,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1020,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1022,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1022,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1024,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1025,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1032
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - ElfW
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - close
    - reinterpret_cast<ElfW(Ehdr)*>
    - open
    - ASSERT_TRUE
    - reinterpret_cast<ElfW(Phdr)*>
    - mmap
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - reinterpret_cast<ElfW(Addr)>
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(BuildId, GnuProperty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::StubPageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StubPageFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~StubPageFlags() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StubPageFlags() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:74,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:75,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:75,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:78,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: std::optional<PageStats>
    signature: std::optional<PageStats> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - stale
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_stale
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set_bytes_stale(const void* addr, int stale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - locked
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_locked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set_bytes_locked(const void* addr, int locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - seconds_stale
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_stale_scan_period
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_stale_scan_period(const void* addr, uint64_t seconds_stale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const void* addr) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realpath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::RealPath
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 6
    functionsReached:
    - realpath
    linkageType: ''
    returnType: std::string
    signature: std::string RealPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddCurrentMappings
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:118,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:119,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:123,1
    - Dst: filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:124,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:125,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:128,1
    - Dst: absl::flat_hash_set::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:129,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: auto::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::RealPath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 139
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - ProfileBuilder::AddCurrentMappings
    - auto::string_table_size
    - ASSERT_LT
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - ASSERT_GE
    - EXPECT_THAT
    - auto::mapping
    - auto::mapping_size
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::tcmalloc_internal::RealPath
    - Not
    - absl::flat_hash_set::emplace
    - id
    - auto::string_table
    - std::move
    - filename
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, Mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:146,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:146,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:150,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:153,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:153,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:155,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:156,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::mapping
    - ProfileBuilder::InternLocation
    - absl::bit_cast<const void*>
    - auto::location
    - address
    - id
    - mapping_id
    - ASSERT_EQ
    - std::move
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTableNoMappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::SetDocURL
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:170,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:172,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - absl::Status::ok
    - ProfileBuilder::SetDocURL
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, DocURL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:181,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:186,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:186,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:188,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:188,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:190,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:190,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:195,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:195,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:197,1
    - Dst: auto::memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:198,1
    - Dst: auto::memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:199,1
    - Dst: auto::file_offset
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: auto::filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: auto::build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:209,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:214,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:215,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:216,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:217,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:218,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:221,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:222,1
    - Dst: auto::id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:222,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:226,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 227
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::build_id
    - static_cast<uint64_t>
    - ProfileBuilder::AddMapping
    - auto::mapping
    - id
    - auto::file_offset
    - testing::UnorderedElementsAreArray
    - auto::filename
    - auto::memory_limit
    - address
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::memory_start
    - absl::bit_cast<const void*>
    - std::tie
    - mapping_id
    - std::move
    - auto::id
    - std::vector::emplace_back
    - EXPECT_THAT
    - ProfileBuilder::InternLocation
    - auto::location
    - auto::string_table
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:209,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SimpleLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: operator==(const SimpleLocation& rhs) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SimpleLocation& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:230,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:232,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:234,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:234,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:238,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:238,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::reserve
    - absl::flat_hash_set::size
    - EXPECT_EQ
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - ASSERT_FALSE
    - auto::string_table
    - ProfileBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, StringTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:251,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:251,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:254,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:254,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:256,1
    - Dst: absl::flat_hash_map::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:261,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:261,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:265,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:266,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:268,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: absl::flat_hash_map::at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:279,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:279,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:287,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:295,1
    - Dst: absl::flat_hash_set<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: testing::IsSubsetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:304,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:305,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - ' converted'
    - ' extracted'
    argTypes:
    - perftools::profiles::Profile
    - SampleLabels
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 315
    functionName: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 18
    functionsReached:
    - testing::Eq
    - key
    - ASSERT_FALSE
    - memory_limit
    - absl::flat_hash_set<int>
    - mapping_size
    - id
    - string_table
    - emplace_back
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - ASSERT_LT
    - sample
    - back
    - location_id
    - absl::flat_hash_map::emplace
    - address
    - Not
    - location
    - str
    - EXPECT_FALSE
    - absl::flat_hash_map::at
    - EXPECT_TRUE
    - EXPECT_EQ
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - EXPECT_LT
    - EXPECT_LE
    - mapping
    - value
    - mapping_id
    - static_cast<int>
    - testing::IsSubsetOf
    - label
    - sample_type
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - memory_start
    - EXPECT_GE
    - num
    linkageType: ''
    returnType: void
    signature: "void CheckAndExtractSampleLabels(const perftools::profiles::Profile&
      converted,\n                                 SampleLabels& extracted)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:327,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:328,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:344,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:350,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:351,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:352,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:353,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:354,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:359,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:363,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:366,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:367,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:376,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:377,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:379,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:380,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:382,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:383,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:383,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:397,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:398,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:399,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:400,1
    - Dst: StubPageFlags*::set_bytes_stale
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:409,1
    - Dst: StubPageFlags*::set_bytes_locked
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:410,1
    - Dst: StubPageFlags*::set_stale_scan_period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:415,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:419,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:425,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:437,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:438,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:439,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:459,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:465,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:466,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:467,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:468,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:469,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:474,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:478,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:482,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:484,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:485,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:486,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:487,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:488,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:488,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:490,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:491,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 100
    argCount: 3
    argNames:
    - start_time
    - duration
    - profile_type
    argTypes:
    - std::optional<absl::Time>
    - absl::Duration
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 493
    functionName: tcmalloc::tcmalloc_internal::MakeTestProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 12
    functionsReached:
    - StubPageFlags*::set_bytes_stale
    - auto::status
    - reinterpret_cast<void*>
    - StubPageFlags*::set_bytes_locked
    - auto::SetType
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - CHECK_EQ
    - absl::bit_cast<void*>
    - auto::SetDuration
    - GetPageSize
    - CHECK_OK
    - auto::SetStartTime
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - CHECK_NE
    - std::move
    - munmap
    - StubPageFlags*::set_stale_scan_period
    - std::optional::emplace
    - std::vector::push_back
    - std::vector::emplace_back
    - std::vector::data
    - mmap
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: "perftools::profiles::Profile MakeTestProfile(\n    std::optional<absl::Time>
      start_time, const absl::Duration duration,\n    const ProfileType profile_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:496,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:497,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:504,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:505,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:506,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:506,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:507,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:507,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:510,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:511,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:511,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:515,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:521,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:523,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:524,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:524,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:533,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 537
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - key
    - absl::Now
    - absl::ToUnixNanos
    - string_table
    - unit
    - num_unit
    - sample
    - absl::flat_hash_map::insert
    - Not
    - type
    - UnorderedElementsAre
    - absl::Milliseconds
    - EXPECT_EQ
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_TRUE
    - AnyOf
    - label
    - sample_type
    - Each
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - EXPECT_THAT
    - Key
    - time_nanos
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, NonHeapProfileDoesntHaveResidency)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:540,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:542,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:547,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:548,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:549,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:549,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:550,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:550,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:553,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:554,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:554,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:562,1
    - Dst: SizeIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:566,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:566,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:567,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:567,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:572,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:574,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:580,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:581,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:582,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:587,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:591,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:592,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:597,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:599,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:600,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:602,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:607,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:609,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:610,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:612,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:614,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:614,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:615,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:617,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:619,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:620,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:621,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:622,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:624,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:625,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:625,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:626,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:626,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:627,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:628,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:630,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:631,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:631,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:632,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:632,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:633,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:634,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:636,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:637,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:637,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:638,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:638,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:639,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:640,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:642,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:644,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:644,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:649,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:650,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:651,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:654,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:655,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:656,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:657,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:658,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:660,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:661,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:662,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:663,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:664,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:666,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:667,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:668,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:669,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:670,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:672,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:673,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:674,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:675,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:676,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:678,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:679,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:680,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:681,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:682,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:690,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:690,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:691,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:694,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:705,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 539
    functionDepth: 5
    functionLinenumber: 539
    functionLinenumberEnd: 713
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - std::vector::back
    - key
    - IsSupersetOf
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - string_table
    - unit
    - num_unit
    - sample
    - absl::flat_hash_map::insert
    - Not
    - type
    - testing::HasSubstr
    - sample_type_size
    - keep_frames
    - UnorderedElementsAre
    - absl::Milliseconds
    - ASSERT_EQ
    - EXPECT_EQ
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - period_type
    - duration_nanos
    - ASSERT_TRUE
    - value
    - AnyOf
    - value_size
    - absl::ToInt64Nanoseconds
    - label
    - sample_type
    - Each
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - SCOPED_TRACE
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - EXPECT_THAT
    - ASSERT_GE
    - SizeIs
    - period
    - Key
    - drop_frames
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, HeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:719,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:720,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:722,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:737,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:740,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:741,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:742,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:748,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:757,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:760,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:761,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:766,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:766,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:767,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:767,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:768,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:769,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:769,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:774,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:775,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:775,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:778,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:780,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:781,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:783,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:783,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:784,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:784,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:785,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:789,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:792,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:792,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:793,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:793,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:794,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 799
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - absl::Now
    - auto::ok
    - reinterpret_cast<void*>
    - absl::ToUnixNanos
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - auto::SetType
    - sample
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - UnorderedElementsAre
    - absl::Milliseconds
    - absl::bit_cast<void*>
    - auto::SetDuration
    - EXPECT_EQ
    - auto::SetStartTime
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - std::move
    - std::vector::emplace_back
    - SCOPED_TRACE
    - EXPECT_THAT
    - ASSERT_GE
    - std::vector::data
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, PeakHeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:802,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:806,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:807,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:821,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:822,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:823,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:824,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:835,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:836,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:837,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:838,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:839,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:840,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:842,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:849,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:862,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:865,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:865,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:866,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:866,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:867,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:868,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:868,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:870,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:873,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: sample_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:891,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:892,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:893,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:893,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:894,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:894,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:899,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:900,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:903,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:903,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:905,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:907,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:913,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:914,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:914,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:923,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:930,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:937,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:937,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:938,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:940,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:943,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:943,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:944,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:945,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:945,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:946,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:946,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:947,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 801
    functionDepth: 4
    functionLinenumber: 801
    functionLinenumberEnd: 964
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - absl::Now
    - auto::ok
    - reinterpret_cast<void*>
    - absl::ToUnixNanos
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - string_table
    - auto::SetType
    - sample
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - testing::HasSubstr
    - sample_type_size
    - keep_frames
    - UnorderedElementsAre
    - absl::Milliseconds
    - absl::bit_cast<void*>
    - ASSERT_EQ
    - auto::SetDuration
    - sample_size
    - EXPECT_EQ
    - auto::SetStartTime
    - period_type
    - duration_nanos
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - at
    - std::move
    - absl::Nanoseconds
    - absl::ToInt64Nanoseconds
    - sample_type
    - std::vector::push_back
    - SCOPED_TRACE
    - EXPECT_THAT
    - period
    - drop_frames
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LifetimeProfile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:972,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:982,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:983,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:988,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 995
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - ElfW
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - close
    - reinterpret_cast<ElfW(Ehdr)*>
    - open
    - ASSERT_TRUE
    - reinterpret_cast<ElfW(Phdr)*>
    - mmap
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - reinterpret_cast<ElfW(Addr)>
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(BuildId, CorruptImage_b180635896)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1009,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1011,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1013,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1017,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1019,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1020,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1022,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1022,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1024,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1025,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1032
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - ElfW
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - close
    - reinterpret_cast<ElfW(Ehdr)*>
    - open
    - ASSERT_TRUE
    - reinterpret_cast<ElfW(Phdr)*>
    - mmap
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - reinterpret_cast<ElfW(Addr)>
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(BuildId, GnuProperty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::StubPageFlags
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StubPageFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~StubPageFlags() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StubPageFlags() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:74,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:75,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:75,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:78,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: std::optional<PageStats>
    signature: std::optional<PageStats> Get(const void* addr, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - stale
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_stale
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set_bytes_stale(const void* addr, int stale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - locked
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_locked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set_bytes_locked(const void* addr, int locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - seconds_stale
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::set_stale_scan_period
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_stale_scan_period(const void* addr, uint64_t seconds_stale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsHugepageBacked(const void* addr) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realpath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::RealPath
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 7
    functionsReached:
    - realpath
    linkageType: ''
    returnType: std::string
    signature: std::string RealPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddCurrentMappings
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:118,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:119,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:123,1
    - Dst: filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:124,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:125,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:128,1
    - Dst: absl::flat_hash_set::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:129,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: auto::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::RealPath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 139
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - ProfileBuilder::AddCurrentMappings
    - auto::string_table_size
    - ASSERT_LT
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - ASSERT_GE
    - EXPECT_THAT
    - auto::mapping
    - auto::mapping_size
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::tcmalloc_internal::RealPath
    - Not
    - absl::flat_hash_set::emplace
    - id
    - auto::string_table
    - std::move
    - filename
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, Mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:146,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:146,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:150,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:153,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:153,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:155,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:156,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::mapping
    - ProfileBuilder::InternLocation
    - absl::bit_cast<const void*>
    - auto::location
    - address
    - id
    - mapping_id
    - ASSERT_EQ
    - std::move
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTableNoMappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::SetDocURL
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:170,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:172,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - absl::Status::ok
    - ProfileBuilder::SetDocURL
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, DocURL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:181,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:186,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:186,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:188,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:188,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:190,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:190,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:195,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:195,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:197,1
    - Dst: auto::memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:198,1
    - Dst: auto::memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:199,1
    - Dst: auto::file_offset
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: auto::filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: auto::build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:209,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:214,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:215,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:216,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:217,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:218,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:221,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:222,1
    - Dst: auto::id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:222,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:226,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 227
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::build_id
    - static_cast<uint64_t>
    - ProfileBuilder::AddMapping
    - auto::mapping
    - id
    - auto::file_offset
    - testing::UnorderedElementsAreArray
    - auto::filename
    - auto::memory_limit
    - address
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::memory_start
    - absl::bit_cast<const void*>
    - std::tie
    - mapping_id
    - std::move
    - auto::id
    - std::vector::emplace_back
    - EXPECT_THAT
    - ProfileBuilder::InternLocation
    - auto::location
    - auto::string_table
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:209,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SimpleLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: operator==(const SimpleLocation& rhs) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SimpleLocation& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:230,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:232,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:234,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:234,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:238,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:238,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::reserve
    - absl::flat_hash_set::size
    - EXPECT_EQ
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - ASSERT_FALSE
    - auto::string_table
    - ProfileBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, StringTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:251,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:251,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:254,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:254,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:256,1
    - Dst: absl::flat_hash_map::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:261,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:261,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:265,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:266,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:268,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:270,1
    - Dst: absl::flat_hash_map::at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:279,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:279,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:283,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:287,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:289,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:295,1
    - Dst: absl::flat_hash_set<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: testing::IsSubsetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:302,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:304,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:305,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:307,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - ' converted'
    - ' extracted'
    argTypes:
    - perftools::profiles::Profile
    - SampleLabels
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 315
    functionName: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 21
    functionsReached:
    - testing::Eq
    - key
    - ASSERT_FALSE
    - memory_limit
    - absl::flat_hash_set<int>
    - mapping_size
    - id
    - string_table
    - emplace_back
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - ASSERT_LT
    - sample
    - back
    - location_id
    - absl::flat_hash_map::emplace
    - address
    - Not
    - location
    - str
    - EXPECT_FALSE
    - absl::flat_hash_map::at
    - EXPECT_TRUE
    - EXPECT_EQ
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - EXPECT_LT
    - EXPECT_LE
    - mapping
    - value
    - mapping_id
    - static_cast<int>
    - testing::IsSubsetOf
    - label
    - sample_type
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - memory_start
    - EXPECT_GE
    - num
    linkageType: ''
    returnType: void
    signature: "void CheckAndExtractSampleLabels(const perftools::profiles::Profile&
      converted,\n                                 SampleLabels& extracted)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:327,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:328,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:344,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:350,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:351,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:352,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:353,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:354,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:359,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:363,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:366,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:367,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:376,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:377,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:379,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:380,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:382,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:383,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:383,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:397,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:398,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:399,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:400,1
    - Dst: StubPageFlags*::set_bytes_stale
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:409,1
    - Dst: StubPageFlags*::set_bytes_locked
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:410,1
    - Dst: StubPageFlags*::set_stale_scan_period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:415,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:419,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:425,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:437,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:438,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:439,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:459,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:465,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:466,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:467,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:468,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:469,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:474,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:478,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:482,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:484,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:485,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:486,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:487,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:488,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:488,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:490,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:491,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 100
    argCount: 3
    argNames:
    - start_time
    - duration
    - profile_type
    argTypes:
    - std::optional<absl::Time>
    - absl::Duration
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 493
    functionName: tcmalloc::tcmalloc_internal::MakeTestProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 14
    functionsReached:
    - StubPageFlags*::set_bytes_stale
    - auto::status
    - reinterpret_cast<void*>
    - StubPageFlags*::set_bytes_locked
    - auto::SetType
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - CHECK_EQ
    - absl::bit_cast<void*>
    - auto::SetDuration
    - GetPageSize
    - CHECK_OK
    - auto::SetStartTime
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - CHECK_NE
    - std::move
    - munmap
    - StubPageFlags*::set_stale_scan_period
    - std::optional::emplace
    - std::vector::push_back
    - std::vector::emplace_back
    - std::vector::data
    - mmap
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: "perftools::profiles::Profile MakeTestProfile(\n    std::optional<absl::Time>
      start_time, const absl::Duration duration,\n    const ProfileType profile_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:496,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:497,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:504,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:505,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:506,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:506,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:507,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:507,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:509,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:510,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:511,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:511,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:514,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:515,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:521,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:523,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:524,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:524,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:533,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 537
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - key
    - absl::Now
    - absl::ToUnixNanos
    - string_table
    - unit
    - num_unit
    - sample
    - absl::flat_hash_map::insert
    - Not
    - type
    - UnorderedElementsAre
    - absl::Milliseconds
    - EXPECT_EQ
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_TRUE
    - AnyOf
    - label
    - sample_type
    - Each
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - EXPECT_THAT
    - Key
    - time_nanos
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, NonHeapProfileDoesntHaveResidency)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:540,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:542,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:547,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:548,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:549,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:549,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:550,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:550,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:552,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:553,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:554,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:554,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:562,1
    - Dst: SizeIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:566,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:566,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:567,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:567,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:572,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:574,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:580,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:581,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:582,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:587,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:591,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:592,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:597,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:599,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:600,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:602,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:607,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:609,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:610,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:611,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:612,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:614,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:614,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:615,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:617,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:619,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:620,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:621,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:622,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:624,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:625,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:625,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:626,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:626,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:627,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:628,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:629,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:630,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:631,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:631,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:632,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:632,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:633,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:634,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:635,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:636,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:637,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:637,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:638,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:638,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:639,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:640,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:641,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:642,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:644,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:644,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:649,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:650,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:651,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:654,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:655,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:656,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:657,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:658,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:660,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:661,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:662,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:663,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:664,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:666,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:667,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:668,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:669,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:670,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:672,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:673,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:674,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:675,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:676,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:678,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:679,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:680,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:681,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:682,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:690,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:690,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:691,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:694,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:705,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 539
    functionDepth: 5
    functionLinenumber: 539
    functionLinenumberEnd: 713
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - std::vector::back
    - key
    - IsSupersetOf
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - string_table
    - unit
    - num_unit
    - sample
    - absl::flat_hash_map::insert
    - Not
    - type
    - testing::HasSubstr
    - sample_type_size
    - keep_frames
    - UnorderedElementsAre
    - absl::Milliseconds
    - ASSERT_EQ
    - EXPECT_EQ
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - period_type
    - duration_nanos
    - ASSERT_TRUE
    - value
    - AnyOf
    - value_size
    - absl::ToInt64Nanoseconds
    - label
    - sample_type
    - Each
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - SCOPED_TRACE
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - EXPECT_THAT
    - ASSERT_GE
    - SizeIs
    - period
    - Key
    - drop_frames
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, HeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:719,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:720,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:722,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:737,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:740,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:741,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:742,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:748,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:757,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:760,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:761,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:766,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:766,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:767,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:767,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:768,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:769,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:769,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:774,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:775,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:775,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:778,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:780,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:781,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:782,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:783,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:783,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:784,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:784,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:785,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:786,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:789,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:792,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:792,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:793,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:793,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:794,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 799
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - absl::Now
    - auto::ok
    - reinterpret_cast<void*>
    - absl::ToUnixNanos
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - auto::SetType
    - sample
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - UnorderedElementsAre
    - absl::Milliseconds
    - absl::bit_cast<void*>
    - auto::SetDuration
    - EXPECT_EQ
    - auto::SetStartTime
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - std::move
    - std::vector::emplace_back
    - SCOPED_TRACE
    - EXPECT_THAT
    - ASSERT_GE
    - std::vector::data
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, PeakHeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:802,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:806,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:807,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:821,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:822,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:823,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:824,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:835,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:836,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:837,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:838,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:839,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:840,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:842,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:849,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:862,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:865,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:865,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:866,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:866,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:867,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:868,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:868,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:870,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:873,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:874,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:876,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: sample_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:891,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:892,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:893,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:893,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:894,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:894,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:899,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:900,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:903,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:903,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:905,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:907,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:907,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:913,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:914,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:914,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:923,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:930,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:937,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:937,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:938,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:940,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:943,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:943,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:944,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:945,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:945,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:946,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:946,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:947,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 801
    functionDepth: 4
    functionLinenumber: 801
    functionLinenumberEnd: 964
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - absl::Now
    - auto::ok
    - reinterpret_cast<void*>
    - absl::ToUnixNanos
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - string_table
    - auto::SetType
    - sample
    - std::make_unique<FakeProfile>
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - testing::HasSubstr
    - sample_type_size
    - keep_frames
    - UnorderedElementsAre
    - absl::Milliseconds
    - absl::bit_cast<void*>
    - ASSERT_EQ
    - auto::SetDuration
    - sample_size
    - EXPECT_EQ
    - auto::SetStartTime
    - period_type
    - duration_nanos
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - auto::SetSamples
    - ASSERT_TRUE
    - at
    - std::move
    - absl::Nanoseconds
    - absl::ToInt64Nanoseconds
    - sample_type
    - std::vector::push_back
    - SCOPED_TRACE
    - EXPECT_THAT
    - period
    - drop_frames
    - time_nanos
    - ASSERT_NO_FATAL_FAILURE
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LifetimeProfile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:972,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:982,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:983,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:988,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 995
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - ElfW
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - close
    - reinterpret_cast<ElfW(Ehdr)*>
    - open
    - ASSERT_TRUE
    - reinterpret_cast<ElfW(Phdr)*>
    - mmap
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - reinterpret_cast<ElfW(Addr)>
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(BuildId, CorruptImage_b180635896)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1009,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1011,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1013,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1017,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1019,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1020,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1022,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1022,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1024,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1025,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1032
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - ElfW
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - close
    - reinterpret_cast<ElfW(Ehdr)*>
    - open
    - ASSERT_TRUE
    - reinterpret_cast<ElfW(Phdr)*>
    - mmap
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - reinterpret_cast<ElfW(Addr)>
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(BuildId, GnuProperty)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:35,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:35,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:36,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:40,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:45,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:52,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:54,1
    - Dst: SpanToCpuSetT
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:60,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:62,1
    - Dst: GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:62,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:65,1
    - Dst: SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:65,1
    - Dst: Zero
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:69,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:70,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:73,1
    - Dst: GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:73,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:76,1
    - Dst: SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:76,1
    - Dst: Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:83,1
    - Dst: SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:86,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:92,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:92,1
    - Dst: CPU_EQUAL_S
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 98
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity.cc
    functionUses: 0
    functionsReached:
    - Set
    - CpuSet::Set
    - Zero
    - GetAffinity
    - TC_CHECK_EQ
    - CpuSet::GetAffinity
    - SetAffinity
    - CpuSet::Count
    - CpuSet::Zero
    - SpanToCpuSetT
    - CpuSet::IsSet
    - TC_CHECK
    - CPU_EQUAL_S
    - Tampered
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:35,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:35,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:36,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:40,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: tcmalloc_internal::AllowedCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - CpuSet::GetAffinity
    - CpuSet::Count
    - CpuSet::IsSet
    - TC_CHECK
    linkageType: ''
    returnType: std::vector<int>
    signature: std::vector<int> AllowedCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:52,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mask
    argTypes:
    - absl::Span<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: tcmalloc_internal::SpanToCpuSetT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - CpuSet::Zero
    linkageType: ''
    returnType: CpuSet
    signature: CpuSet SpanToCpuSetT(absl::Span<int> mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpanToCpuSetT
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:60,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:62,1
    - Dst: GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:62,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:65,1
    - Dst: SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - allowed_cpus
    argTypes:
    - absl::Span<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: tcmalloc_internal::ScopedAffinityMask::ScopedAffinityMask
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity.cc
    functionUses: 0
    functionsReached:
    - SetAffinity
    - GetAffinity
    - TC_CHECK
    - SpanToCpuSetT
    linkageType: ''
    returnType: void
    signature: void ScopedAffinityMask::ScopedAffinityMask(absl::Span<int> allowed_cpus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Zero
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:69,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:70,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:73,1
    - Dst: GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:73,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:76,1
    - Dst: SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - allowed_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::ScopedAffinityMask::ScopedAffinityMask
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity.cc
    functionUses: 0
    functionsReached:
    - Zero
    - GetAffinity
    - TC_CHECK
    - SetAffinity
    - Set
    linkageType: ''
    returnType: void
    signature: void ScopedAffinityMask::ScopedAffinityMask(int allowed_cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:83,1
    - Dst: SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: ScopedAffinityMask::~ScopedAffinityMask()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity.cc
    functionUses: 0
    functionsReached:
    - SetAffinity
    - Tampered
    linkageType: ''
    returnType: void
    signature: void ScopedAffinityMask::~ScopedAffinityMask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:92,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:92,1
    - Dst: CPU_EQUAL_S
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::ScopedAffinityMask::Tampered
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity.cc
    functionUses: 16
    functionsReached:
    - CpuSet::GetAffinity
    - TC_CHECK
    - CPU_EQUAL_S
    linkageType: ''
    returnType: bool
    signature: bool ScopedAffinityMask::Tampered()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:35,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:35,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:36,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:40,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: tcmalloc_internal::AllowedCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - CpuSet::GetAffinity
    - CpuSet::Count
    - CpuSet::IsSet
    - TC_CHECK
    linkageType: ''
    returnType: std::vector<int>
    signature: std::vector<int> AllowedCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:52,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mask
    argTypes:
    - absl::Span<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: tcmalloc_internal::SpanToCpuSetT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - CpuSet::Zero
    linkageType: ''
    returnType: CpuSet
    signature: CpuSet SpanToCpuSetT(absl::Span<int> mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpanToCpuSetT
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:60,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:62,1
    - Dst: GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:62,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:65,1
    - Dst: SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - allowed_cpus
    argTypes:
    - absl::Span<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: tcmalloc_internal::ScopedAffinityMask::ScopedAffinityMask
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity.cc
    functionUses: 0
    functionsReached:
    - SetAffinity
    - GetAffinity
    - TC_CHECK
    - SpanToCpuSetT
    linkageType: ''
    returnType: void
    signature: void ScopedAffinityMask::ScopedAffinityMask(absl::Span<int> allowed_cpus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Zero
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:69,1
    - Dst: Set
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:70,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:73,1
    - Dst: GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:73,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:76,1
    - Dst: SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - allowed_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::ScopedAffinityMask::ScopedAffinityMask
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity.cc
    functionUses: 0
    functionsReached:
    - Zero
    - GetAffinity
    - TC_CHECK
    - SetAffinity
    - Set
    linkageType: ''
    returnType: void
    signature: void ScopedAffinityMask::ScopedAffinityMask(int allowed_cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tampered
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:83,1
    - Dst: SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: ScopedAffinityMask::~ScopedAffinityMask()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity.cc
    functionUses: 0
    functionsReached:
    - SetAffinity
    - Tampered
    linkageType: ''
    returnType: void
    signature: void ScopedAffinityMask::~ScopedAffinityMask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:92,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:92,1
    - Dst: CPU_EQUAL_S
      Src: /src/tcmalloc/tcmalloc/internal/affinity.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: tcmalloc_internal::ScopedAffinityMask::Tampered
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/affinity.cc
    functionUses: 16
    functionsReached:
    - CpuSet::GetAffinity
    - TC_CHECK
    - CPU_EQUAL_S
    linkageType: ''
    returnType: bool
    signature: bool ScopedAffinityMask::Tampered()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:29,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:29,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:31,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:31,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:35,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:36,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:37,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:38,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - GetMemoryStats
    - ASSERT_TRUE
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(Stats, ValidRanges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:29,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:29,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:31,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:31,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:35,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:36,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:37,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:38,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - GetMemoryStats
    - ASSERT_TRUE
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(Stats, ValidRanges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:29,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:29,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:31,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:31,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:35,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:36,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:37,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:38,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - GetMemoryStats
    - ASSERT_TRUE
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(Stats, ValidRanges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:29,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:29,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:31,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:31,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:35,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:36,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:37,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:38,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - GetMemoryStats
    - ASSERT_TRUE
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(Stats, ValidRanges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:29,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:29,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:31,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:31,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:35,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:36,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:37,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:38,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - GetMemoryStats
    - ASSERT_TRUE
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(Stats, ValidRanges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:29,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:29,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:31,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:31,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:35,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:36,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:37,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:38,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - GetMemoryStats
    - ASSERT_TRUE
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(Stats, ValidRanges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:29,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:29,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:31,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:31,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:35,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:36,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:37,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:38,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - GetMemoryStats
    - ASSERT_TRUE
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(Stats, ValidRanges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:29,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:29,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:31,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:31,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:35,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:36,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:37,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:38,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - GetMemoryStats
    - ASSERT_TRUE
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(Stats, ValidRanges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:47,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:47,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:48,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:48,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:51,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:53,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:57,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:57,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:58,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:62,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:62,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:63,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:63,1
    - Dst: TryPop
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:66,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:68,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:73,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:73,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:74,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - empty
    - std::vector::push_back
    - EXPECT_TRUE
    - EXPECT_EQ
    - Push
    - ASSERT_FALSE
    - TryPop
    - length
    - EXPECT_FALSE
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinkedListTest, PushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:89,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:90,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:91,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:92,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:95,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:98,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:99,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:99,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:105,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:105,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:109,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:110,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:113,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 118
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - empty
    - PushBatch
    - std::vector::push_back
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - std::vector::begin
    - ASSERT_FALSE
    - PopBatch
    - std::vector::data
    - length
    - std::vector::end
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinkedListTest, PushPopBatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:133,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:134,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:138,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:139,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:141,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:142,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:144,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:144,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:145,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:150,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:150,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:151,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:151,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:154,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:155,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:155,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:157,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:164,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:165,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - empty
    - first
    - EXPECT_TRUE
    - EXPECT_EQ
    - remove
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - ASSERT_FALSE
    - last
    - length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendPushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:171,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:172,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:172,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:176,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:177,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:179,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:180,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:182,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:182,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:183,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:197,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:197,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:198,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:198,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:201,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:202,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:202,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:204,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:211,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:211,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:212,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - first
    - EXPECT_TRUE
    - EXPECT_EQ
    - remove
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - ASSERT_FALSE
    - prepend
    - last
    - length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, PrependPushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:221,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:222,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:224,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:231,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:231,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:232,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:232,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:241,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:242,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - std::shuffle
    - empty
    - absl::BitGen
    - remove
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - std::vector::begin
    - ASSERT_FALSE
    - length
    - std::vector::end
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendRandomRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:47,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:47,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:48,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:48,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:51,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:53,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:57,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:57,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:58,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:62,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:62,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:63,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:63,1
    - Dst: TryPop
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:66,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:68,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:73,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:73,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:74,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - empty
    - std::vector::push_back
    - EXPECT_TRUE
    - EXPECT_EQ
    - Push
    - ASSERT_FALSE
    - TryPop
    - length
    - EXPECT_FALSE
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinkedListTest, PushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:89,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:90,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:91,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:92,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:95,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:98,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:99,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:99,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:105,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:105,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:109,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:110,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:113,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 118
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - empty
    - PushBatch
    - std::vector::push_back
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - std::vector::begin
    - ASSERT_FALSE
    - PopBatch
    - std::vector::data
    - length
    - std::vector::end
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinkedListTest, PushPopBatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:133,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:134,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:138,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:139,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:141,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:142,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:144,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:144,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:145,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:150,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:150,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:151,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:151,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:154,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:155,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:155,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:157,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:164,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:165,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - empty
    - first
    - EXPECT_TRUE
    - EXPECT_EQ
    - remove
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - ASSERT_FALSE
    - last
    - length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendPushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:171,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:172,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:172,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:176,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:177,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:179,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:180,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:182,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:182,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:183,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:197,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:197,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:198,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:198,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:201,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:202,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:202,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:204,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:211,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:211,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:212,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - first
    - EXPECT_TRUE
    - EXPECT_EQ
    - remove
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - ASSERT_FALSE
    - prepend
    - last
    - length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, PrependPushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:221,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:222,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:224,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:231,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:231,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:232,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:232,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:241,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:242,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - std::shuffle
    - empty
    - absl::BitGen
    - remove
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - std::vector::begin
    - ASSERT_FALSE
    - length
    - std::vector::end
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendRandomRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:47,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:47,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:48,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:48,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:51,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:53,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:57,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:57,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:58,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:62,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:62,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:63,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:63,1
    - Dst: TryPop
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:66,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:68,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:73,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:73,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:74,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - empty
    - std::vector::push_back
    - EXPECT_TRUE
    - EXPECT_EQ
    - Push
    - ASSERT_FALSE
    - TryPop
    - length
    - EXPECT_FALSE
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinkedListTest, PushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:89,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:90,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:91,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:92,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:95,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:98,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:99,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:99,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:105,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:105,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:109,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:110,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:113,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 118
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - empty
    - PushBatch
    - std::vector::push_back
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - std::vector::begin
    - ASSERT_FALSE
    - PopBatch
    - std::vector::data
    - length
    - std::vector::end
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinkedListTest, PushPopBatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:133,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:134,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:138,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:139,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:141,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:142,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:144,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:144,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:145,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:150,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:150,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:151,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:151,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:154,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:155,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:155,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:157,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:164,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:165,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - empty
    - first
    - EXPECT_TRUE
    - EXPECT_EQ
    - remove
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - ASSERT_FALSE
    - last
    - length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendPushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:171,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:172,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:172,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:176,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:177,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:179,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:180,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:182,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:182,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:183,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:197,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:197,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:198,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:198,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:201,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:202,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:202,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:204,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:211,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:211,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:212,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - first
    - EXPECT_TRUE
    - EXPECT_EQ
    - remove
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - ASSERT_FALSE
    - prepend
    - last
    - length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, PrependPushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:221,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:222,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:224,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:231,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:231,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:232,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:232,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:241,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:242,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - std::shuffle
    - empty
    - absl::BitGen
    - remove
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - std::vector::begin
    - ASSERT_FALSE
    - length
    - std::vector::end
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendRandomRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:47,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:47,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:48,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:48,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:51,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:53,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:57,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:57,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:58,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:62,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:62,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:63,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:63,1
    - Dst: TryPop
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:66,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:68,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:73,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:73,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:74,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - empty
    - std::vector::push_back
    - EXPECT_TRUE
    - EXPECT_EQ
    - Push
    - ASSERT_FALSE
    - TryPop
    - length
    - EXPECT_FALSE
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinkedListTest, PushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:89,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:90,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:91,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:92,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:95,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:98,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:99,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:99,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:105,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:105,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:109,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:110,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:113,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 118
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - empty
    - PushBatch
    - std::vector::push_back
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - std::vector::begin
    - ASSERT_FALSE
    - PopBatch
    - std::vector::data
    - length
    - std::vector::end
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinkedListTest, PushPopBatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:133,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:134,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:138,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:139,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:141,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:142,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:144,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:144,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:145,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:150,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:150,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:151,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:151,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:154,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:155,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:155,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:157,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:164,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:165,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - empty
    - first
    - EXPECT_TRUE
    - EXPECT_EQ
    - remove
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - ASSERT_FALSE
    - last
    - length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendPushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:171,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:172,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:172,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:176,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:177,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:179,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:180,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:182,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:182,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:183,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:197,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:197,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:198,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:198,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:201,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:202,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:202,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:204,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:211,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:211,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:212,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - first
    - EXPECT_TRUE
    - EXPECT_EQ
    - remove
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - ASSERT_FALSE
    - prepend
    - last
    - length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, PrependPushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:221,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:222,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:224,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:231,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:231,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:232,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:232,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:241,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:242,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - std::shuffle
    - empty
    - absl::BitGen
    - remove
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - std::vector::begin
    - ASSERT_FALSE
    - length
    - std::vector::end
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendRandomRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:47,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:47,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:48,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:48,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:51,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:53,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:57,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:57,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:58,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:62,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:62,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:63,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:63,1
    - Dst: TryPop
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:66,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:68,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:73,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:73,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:74,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - empty
    - std::vector::push_back
    - EXPECT_TRUE
    - EXPECT_EQ
    - Push
    - ASSERT_FALSE
    - TryPop
    - length
    - EXPECT_FALSE
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinkedListTest, PushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:89,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:90,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:91,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:92,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:95,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:98,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:99,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:99,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:105,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:105,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:109,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:110,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:113,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 118
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - empty
    - PushBatch
    - std::vector::push_back
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - std::vector::begin
    - ASSERT_FALSE
    - PopBatch
    - std::vector::data
    - length
    - std::vector::end
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinkedListTest, PushPopBatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:133,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:134,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:138,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:139,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:141,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:142,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:144,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:144,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:145,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:150,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:150,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:151,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:151,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:154,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:155,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:155,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:157,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:164,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:165,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - empty
    - first
    - EXPECT_TRUE
    - EXPECT_EQ
    - remove
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - ASSERT_FALSE
    - last
    - length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendPushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:171,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:172,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:172,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:176,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:177,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:179,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:180,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:182,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:182,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:183,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:197,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:197,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:198,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:198,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:201,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:202,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:202,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:204,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:211,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:211,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:212,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - first
    - EXPECT_TRUE
    - EXPECT_EQ
    - remove
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - ASSERT_FALSE
    - prepend
    - last
    - length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, PrependPushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:221,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:222,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:224,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:231,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:231,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:232,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:232,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:241,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:242,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - std::shuffle
    - empty
    - absl::BitGen
    - remove
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - std::vector::begin
    - ASSERT_FALSE
    - length
    - std::vector::end
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendRandomRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:47,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:47,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:48,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:48,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:51,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:53,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:57,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:57,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:58,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:62,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:62,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:63,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:63,1
    - Dst: TryPop
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:66,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:68,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:73,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:73,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:74,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - empty
    - std::vector::push_back
    - EXPECT_TRUE
    - EXPECT_EQ
    - Push
    - ASSERT_FALSE
    - TryPop
    - length
    - EXPECT_FALSE
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinkedListTest, PushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:89,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:90,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:91,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:92,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:95,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:98,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:99,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:99,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:105,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:105,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:109,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:110,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:113,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 118
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - empty
    - PushBatch
    - std::vector::push_back
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - std::vector::begin
    - ASSERT_FALSE
    - PopBatch
    - std::vector::data
    - length
    - std::vector::end
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinkedListTest, PushPopBatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:133,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:134,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:138,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:139,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:141,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:142,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:144,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:144,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:145,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:150,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:150,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:151,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:151,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:154,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:155,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:155,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:157,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:164,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:165,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - empty
    - first
    - EXPECT_TRUE
    - EXPECT_EQ
    - remove
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - ASSERT_FALSE
    - last
    - length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendPushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:171,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:172,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:172,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:176,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:177,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:179,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:180,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:182,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:182,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:183,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:197,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:197,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:198,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:198,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:201,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:202,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:202,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:204,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:211,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:211,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:212,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - first
    - EXPECT_TRUE
    - EXPECT_EQ
    - remove
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - ASSERT_FALSE
    - prepend
    - last
    - length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, PrependPushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:221,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:222,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:224,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:231,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:231,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:232,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:232,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:241,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:242,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - std::shuffle
    - empty
    - absl::BitGen
    - remove
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - std::vector::begin
    - ASSERT_FALSE
    - length
    - std::vector::end
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendRandomRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:47,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:47,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:48,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:48,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:51,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:53,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:57,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:57,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:58,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:62,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:62,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:63,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:63,1
    - Dst: TryPop
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:66,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:68,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:73,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:73,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:74,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - empty
    - std::vector::push_back
    - EXPECT_TRUE
    - EXPECT_EQ
    - Push
    - ASSERT_FALSE
    - TryPop
    - length
    - EXPECT_FALSE
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinkedListTest, PushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:89,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:90,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:91,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:92,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:95,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:98,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:99,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:99,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:105,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:105,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:109,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:110,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:113,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 118
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - empty
    - PushBatch
    - std::vector::push_back
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - std::vector::begin
    - ASSERT_FALSE
    - PopBatch
    - std::vector::data
    - length
    - std::vector::end
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinkedListTest, PushPopBatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:133,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:134,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:138,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:139,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:141,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:142,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:144,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:144,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:145,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:150,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:150,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:151,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:151,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:154,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:155,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:155,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:157,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:164,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:165,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - empty
    - first
    - EXPECT_TRUE
    - EXPECT_EQ
    - remove
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - ASSERT_FALSE
    - last
    - length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendPushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:171,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:172,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:172,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:176,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:177,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:179,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:180,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:182,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:182,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:183,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:197,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:197,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:198,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:198,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:201,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:202,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:202,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:204,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:211,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:211,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:212,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - first
    - EXPECT_TRUE
    - EXPECT_EQ
    - remove
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - ASSERT_FALSE
    - prepend
    - last
    - length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, PrependPushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:221,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:222,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:224,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:231,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:231,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:232,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:232,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:241,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:242,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - std::shuffle
    - empty
    - absl::BitGen
    - remove
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - std::vector::begin
    - ASSERT_FALSE
    - length
    - std::vector::end
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendRandomRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:47,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:47,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:48,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:48,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:51,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:53,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:57,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:57,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:58,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:62,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:62,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:63,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:63,1
    - Dst: TryPop
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:66,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:68,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:73,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:73,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:74,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - empty
    - std::vector::push_back
    - EXPECT_TRUE
    - EXPECT_EQ
    - Push
    - ASSERT_FALSE
    - TryPop
    - length
    - EXPECT_FALSE
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinkedListTest, PushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:89,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:90,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:91,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:92,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:95,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:98,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:99,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:99,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:105,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:105,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:109,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:110,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:113,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 118
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - empty
    - PushBatch
    - std::vector::push_back
    - EXPECT_EQ
    - absl::flat_hash_set::insert
    - std::vector::begin
    - ASSERT_FALSE
    - PopBatch
    - std::vector::data
    - length
    - std::vector::end
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinkedListTest, PushPopBatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:133,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:134,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:138,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:139,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:141,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:142,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:144,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:144,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:145,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:150,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:150,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:151,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:151,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:154,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:155,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:155,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:157,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:164,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:165,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 166
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - empty
    - first
    - EXPECT_TRUE
    - EXPECT_EQ
    - remove
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - ASSERT_FALSE
    - last
    - length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendPushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:171,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:172,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:172,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:176,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:177,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:179,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:180,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:182,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:182,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:183,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:197,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:197,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:198,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:198,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:201,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:202,1
    - Dst: last
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:202,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:204,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:211,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:211,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:212,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - empty
    - first
    - EXPECT_TRUE
    - EXPECT_EQ
    - remove
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - ASSERT_FALSE
    - prepend
    - last
    - length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, PrependPushPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:221,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:222,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:224,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:231,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:231,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:232,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:232,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:241,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:242,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - std::shuffle
    - empty
    - absl::BitGen
    - remove
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - std::vector::begin
    - ASSERT_FALSE
    - length
    - std::vector::end
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendRandomRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:59,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:62,1
    - Dst: GetNextHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:64,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:75,1
    - Dst: GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:75,1
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:80,1
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:84,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:89,1
    - Dst: GetNextHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:90,1
    - Dst: GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:117,1
    - Dst: Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:119,1
    - Dst: tcmalloc_internal::HintedTrackerLists::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:122,1
    - Dst: tcmalloc_internal::HintedTrackerLists::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:125,1
    - Dst: Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:130,1
    - Dst: Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:135,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:143,1
    - Dst: ring
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:145,1
    - Dst: tcmalloc_internal::HintedTrackerLists::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:147,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 157
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 0
    functionsReached:
    - absl::HashOf
    - load
    - GetFirstHash
    - fetch_add
    - tcmalloc_internal::HintedTrackerLists::Add
    - size
    - Add
    - ring
    - Decay
    - GetNextHash
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: tcmalloc_internal::StackTraceFilter::StackTraceFilter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StackTraceFilter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:59,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:62,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetNextHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - stack_trace
    argTypes:
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: tcmalloc_internal::StackTraceFilter::Contains
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 44
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetNextHash
    - load
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    linkageType: ''
    returnType: bool
    signature: bool Contains(absl::Span<void* const> stack_trace) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:75,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stack_trace
    - val
    argTypes:
    - absl::Span<void* const>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::StackTraceFilter::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - tcmalloc_internal::StackTraceFilter::Add
    linkageType: ''
    returnType: void
    signature: void Add(absl::Span<void* const> stack_trace, int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: tcmalloc_internal::StackTraceFilter::GetFirstHash
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 14
    functionsReached:
    - absl::HashOf
    linkageType: ''
    returnType: size_t
    signature: size_t GetFirstHash(absl::Span<void* const> s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prev_hash
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::StackTraceFilter::GetNextHash
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 1
    functionsReached:
    - absl::HashOf
    linkageType: ''
    returnType: size_t
    signature: size_t GetNextHash(size_t prev_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:89,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetNextHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stack_hash
    - val
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: tcmalloc_internal::StackTraceFilter::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetNextHash
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void Add(size_t stack_hash, int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::DecayingStackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:117,1
    - Dst: tcmalloc_internal::DecayingStackTraceFilter::Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:119,1
    - Dst: tcmalloc_internal::HintedTrackerLists::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:122,1
    - Dst: tcmalloc_internal::HintedTrackerLists::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - stack_trace
    - val
    argTypes:
    - absl::Span<void* const>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::DecayingStackTraceFilter::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::DecayingStackTraceFilter::Decay
    - tcmalloc_internal::HintedTrackerLists::Add
    - tcmalloc_internal::DecayingStackTraceFilter::GetFirstHash
    linkageType: ''
    returnType: void
    signature: void Add(absl::Span<void* const> stack_trace, int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::DecayingStackTraceFilter::Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::DecayingStackTraceFilter::Decay
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::DecayingStackTraceFilter::Decay
    linkageType: ''
    returnType: void
    signature: void Decay()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::DecayingStackTraceFilter::Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: tcmalloc_internal::DecayingStackTraceFilter::DecayAll
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::DecayingStackTraceFilter::Decay
    linkageType: ''
    returnType: void
    signature: void DecayAll()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:143,1
    - Dst: ring
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:145,1
    - Dst: tcmalloc_internal::HintedTrackerLists::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - replace_hash
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: tcmalloc_internal::DecayingStackTraceFilter::Decay
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::HintedTrackerLists::Add
    - fetch_add
    - ring
    linkageType: ''
    returnType: void
    signature: void Decay(size_t replace_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: '& ring(size_t pos)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: auto
    signature: auto & ring(size_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: tcmalloc_internal::StackTraceFilter::StackTraceFilter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StackTraceFilter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:59,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:62,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetNextHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - stack_trace
    argTypes:
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: tcmalloc_internal::StackTraceFilter::Contains
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 44
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetNextHash
    - load
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    linkageType: ''
    returnType: bool
    signature: bool Contains(absl::Span<void* const> stack_trace) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::StackTraceFilter::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:75,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stack_trace
    - val
    argTypes:
    - absl::Span<void* const>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::StackTraceFilter::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - tcmalloc_internal::StackTraceFilter::Add
    linkageType: ''
    returnType: void
    signature: void Add(absl::Span<void* const> stack_trace, int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: tcmalloc_internal::StackTraceFilter::GetFirstHash
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 16
    functionsReached:
    - absl::HashOf
    linkageType: ''
    returnType: size_t
    signature: size_t GetFirstHash(absl::Span<void* const> s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prev_hash
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::StackTraceFilter::GetNextHash
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 3
    functionsReached:
    - absl::HashOf
    linkageType: ''
    returnType: size_t
    signature: size_t GetNextHash(size_t prev_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:89,1
    - Dst: tcmalloc_internal::StackTraceFilter::GetNextHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stack_hash
    - val
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: tcmalloc_internal::StackTraceFilter::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::StackTraceFilter::GetNextHash
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void Add(size_t stack_hash, int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::DecayingStackTraceFilter::GetFirstHash
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:117,1
    - Dst: tcmalloc_internal::DecayingStackTraceFilter::Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:119,1
    - Dst: tcmalloc_internal::HintedTrackerLists::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:122,1
    - Dst: tcmalloc_internal::HintedTrackerLists::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - stack_trace
    - val
    argTypes:
    - absl::Span<void* const>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::DecayingStackTraceFilter::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::DecayingStackTraceFilter::Decay
    - tcmalloc_internal::HintedTrackerLists::Add
    - tcmalloc_internal::DecayingStackTraceFilter::GetFirstHash
    linkageType: ''
    returnType: void
    signature: void Add(absl::Span<void* const> stack_trace, int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::DecayingStackTraceFilter::Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::DecayingStackTraceFilter::Decay
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::DecayingStackTraceFilter::Decay
    linkageType: ''
    returnType: void
    signature: void Decay()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::DecayingStackTraceFilter::Decay
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: tcmalloc_internal::DecayingStackTraceFilter::DecayAll
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::DecayingStackTraceFilter::Decay
    linkageType: ''
    returnType: void
    signature: void DecayAll()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:143,1
    - Dst: ring
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:145,1
    - Dst: tcmalloc_internal::HintedTrackerLists::Add
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - replace_hash
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: tcmalloc_internal::DecayingStackTraceFilter::Decay
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::HintedTrackerLists::Add
    - fetch_add
    - ring
    linkageType: ''
    returnType: void
    signature: void Decay(size_t replace_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: '& ring(size_t pos)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: auto
    signature: auto & ring(size_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 62
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/proc_maps.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:73,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:76,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:316,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:317,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:356,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:391,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:394,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:407,1
    - Dst: LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:409,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:412,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,1
    - Dst: LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:420,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:421,1
    - Dst: TCMALLOC_RSEQ_SET_CS
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:523,1
    - Dst: static_cast<void* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:554,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:572,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:586,1
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:613,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:652,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:657,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:674,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:724,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:737,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:738,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:744,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:746,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:770,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:777,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:788,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:835,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:839,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:840,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:841,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:845,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:846,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:847,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:857,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:869,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:912,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:926,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:930,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:931,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:932,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:950,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:952,1
    - Dst: LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:953,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:954,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:955,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:959,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:967,1
    - Dst: CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:968,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:972,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:993,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:994,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1000,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1001,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1002,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1004,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1008,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1009,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1023,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,1
    - Dst: absl::bit_cast<Header>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    - Dst: auto*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    - Dst: auto*::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1045,1
    - Dst: std::atomic<bool>::atomic<bool>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1046,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1051,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1063,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1068,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1078,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1080,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1089,1
    - Dst: InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1090,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1102,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1124,1
    - Dst: StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1131,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1141,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1145,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1146,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1148,1
    - Dst: CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1151,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1152,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1192,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1203,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1204,1
    - Dst: StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1207,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1218,1
    - Dst: LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1228,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1229,1
    - Dst: StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1251,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1254,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1256,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1262,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1270,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1274,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1279,1
    - Dst: DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1280,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1282,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1298,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1301,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1305,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1306,1
    - Dst: InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1313,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1317,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    - Dst: DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1323,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1326,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1335,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1340,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1349,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1351,1
    - Dst: LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1352,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1354,1
    - Dst: StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1356,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1364,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    - Dst: LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1367,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1373,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1375,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1379,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1384,1
    - Dst: StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1386,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1401,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1402,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1415,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1417,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1420,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 321
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 1427
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - capacity
    - StartCpu
    - TcmallocSlab_Internal_PopBatch
    - auto*::store
    - absl::bit_cast<int32_t>
    - shrink_handler
    - NumCPUs
    - TC_CHECK_LE
    - ANNOTATE_MEMORY_IS_INITIALIZED
    - static_cast<uint16_t>
    - TSANReleaseBatch
    - static_cast<AtomicHeader*>
    - std::min<uint16_t>
    - TcmallocSlab_Internal_PushBatch
    - load
    - StoreCurrentCpu
    - static_cast<uint64_t* volatile*>
    - FenceAllCpus
    - TcmallocSlab_Internal_Push
    - DrainCpu
    - free
    - AssumeNotNull
    - alloc
    - TC_CHECK
    - StopCpu
    - update_capacity
    - GetHeader
    - ABSL_PREDICT_FALSE
    - ToUint8
    - store
    - reinterpret_cast<void*>
    - drain_handler
    - PrefetchSlabMemory
    - reinterpret_cast<void**>
    - static_cast<void* volatile*>
    - PrefetchWT0
    - reinterpret_cast<uintptr_t>
    - static_cast<std::atomic<uint16_t>*>
    - TC_ASSERT_NE
    - absl::countr_zero
    - static_cast<Shift>
    - TSANRelease
    - GetSlabsAndShift
    - CpuMemoryStart
    - static_cast<size_t>
    - TCMALLOC_RSEQ_PROLOGUE
    - auto*::load
    - CompilerBarrier
    - GetSlabsAllocSize
    - PrefetchNextObject
    - reinterpret_cast<char*>
    - LoadHeader
    - FenceCpu
    - InitSlabs
    - CacheCpuSlabSlow
    - TC_ASSERT
    - tcmalloc_internal::MInCore::residence
    - static_cast<ssize_t>
    - max_capacity
    - static_cast<char*>
    - TC_CHECK_EQ
    - populated
    - __builtin_prefetch
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - TSANAcquire
    - TSANAcquireBatch
    - StoreHeader
    - std::max<ssize_t>
    - std::atomic<bool>::atomic<bool>
    - static_cast<uint32_t* volatile*>
    - TC_ASSERT_EQ
    - absl::bit_cast<Header>
    - auto::Get
    - TCMALLOC_RSEQ_SET_CS
    - InitCpuImpl
    - TC_BUG
    - TC_ASSERT_LE
    - static_cast<uint8_t>
    - DrainOldSlabs
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shift
    argTypes:
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::subtle::percpu::ToUint8
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ToUint8(Shift shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: tcmalloc_internal::subtle::percpu::ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - shift
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::subtle::percpu::ToShiftType
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 53
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToUint8
    - TC_ASSERT_EQ
    - static_cast<Shift>
    linkageType: ''
    returnType: Shift
    signature: Shift ToShiftType(size_t shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    - Dst: tcmalloc_internal::subtle::percpu::ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - shift
    - num_cpus
    argTypes:
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 17
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToUint8
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t GetSlabsAllocSize(Shift shift, int num_cpus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::TcmallocSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    - ToUint8
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetShift() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlabsAndShift() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - slabs
    - shift
    argTypes:
    - void*
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - TC_ASSERT_EQ
    - ToUint8
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void SlabsAndShift(const void* slabs, Shift shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:316,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - static_cast<Shift>
    linkageType: ''
    returnType: std::pair<void*, Shift>
    signature: std::pair<void*, Shift> Get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlabsAndShift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: operator!=(const SlabsAndShift& other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const SlabsAndShift& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: std::pair<void*, Shift>
    signature: "std::pair<void*, Shift> GetSlabsAndShift(\n      std::memory_order
      order) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' slab'
    - cpu
    argTypes:
    - TcmallocSlab<NumClasses>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void ScopedSlabCpuStop(TcmallocSlab<NumClasses>& slab, int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: ~ScopedSlabCpuStop()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - StartCpu
    linkageType: ''
    returnType: void
    signature: void ~ScopedSlabCpuStop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedSlabCpuStop(const ScopedSlabCpuStop&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: '& operator=(const ScopedSlabCpuStop&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedSlabCpuStop
    signature: ScopedSlabCpuStop & operator=(const ScopedSlabCpuStop&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:407,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:409,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::max<ssize_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Length(int cpu,\n                                               size_t
      size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:420,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::max<ssize_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Capacity(int cpu,\n                                                 size_t
      size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 499
    functionName: TCMALLOC_RSEQ_PROLOGUE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_PROLOGUE(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:554,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:572,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 592
    functionName: tcmalloc_internal::subtle::percpu::StoreCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<void* volatile*>
    - static_cast<uint64_t* volatile*>
    - static_cast<uint32_t* volatile*>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE StoreCurrentCpu(volatile void* p,\n                                                         T
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - PrefetchWT0
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE PrefetchSlabMemory(uintptr_t ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:613,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:652,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 661
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    - TCMALLOC_RSEQ_PROLOGUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab_Internal_Push(\n    size_t
      size_class, void* item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:674,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 731
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TCMALLOC_RSEQ_PROLOGUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab_Internal_Push(\n    size_t
      size_class, void* item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:737,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:738,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:744,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 750
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TSANRelease
    - TC_ASSERT_NE
    - reinterpret_cast<uintptr_t>
    - TcmallocSlab_Internal_Push
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab<NumClasses>::Push(\n    size_t
      size_class, void* item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefetch_target
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 771
    functionName: tcmalloc_internal::subtle::percpu::PrefetchNextObject
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE PrefetchNextObject(\n    void* prefetch_target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:777,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:788,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:835,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:839,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:840,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:841,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:845,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:846,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 850
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - PrefetchSlabMemory
    - PrefetchNextObject
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:857,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:869,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:912,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:926,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:930,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:931,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 935
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - PrefetchNextObject
    - absl::countr_zero
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 943
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:950,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:952,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:953,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:954,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:955,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:959,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - max_capacity
    argTypes:
    - int
    - size_t
    - size_t
    - absl::FunctionRef<size_t(uint8_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 962
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<ssize_t>
    - load
    - StoreCurrentCpu
    - max_capacity
    - GetSlabsAndShift
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Grow(\n    int cpu, size_t size_class,
      size_t len,\n    absl::FunctionRef<size_t(uint8_t)> max_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:967,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:968,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 973
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> TcmallocSlab<NumClasses>::CacheCpuSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UncacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::UncacheCpuSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:993,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - size_class
    - batch
    - len
    argTypes:
    - size_t
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 995
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TSANReleaseBatch
    - TcmallocSlab_Internal_PushBatch
    - TC_ASSERT_NE
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::PushBatch(size_t size_class,\n                                                  void**
      batch, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1000,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1001,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1002,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1004,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1008,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - size_class
    - batch
    - len
    argTypes:
    - size_t
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1011
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - TcmallocSlab_Internal_PopBatch
    - TC_ASSERT_LE
    - TSANAcquireBatch
    - ANNOTATE_MEMORY_IS_INITIALIZED
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::PopBatch(size_t size_class,\n                                                 void**
      batch, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slabs
    - shift
    - cpu
    argTypes:
    - void*
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1017
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<char*>
    - ToUint8
    linkageType: ''
    returnType: void
    signature: "void * TcmallocSlab<NumClasses>::CpuMemoryStart(void* slabs, Shift
      shift,\n                                                      int cpu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1023,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - size_class
    argTypes:
    - void*
    - Shift
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1026
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 3
    functionsReached:
    - static_cast<AtomicHeader*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TC_ASSERT_NE
    linkageType: ''
    returnType: auto
    signature: "auto TcmallocSlab<NumClasses>::GetHeader(void* slabs, Shift shift,\n
      \                                               int cpu, size_t size_class)\n
      \   -> AtomicHeader*"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<Header>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    - Dst: AtomicHeader*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrp
    argTypes:
    - AtomicHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1031
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 3
    functionsReached:
    - absl::bit_cast<Header>
    - AtomicHeader*::load
    linkageType: ''
    returnType: auto
    signature: auto TcmallocSlab<NumClasses>::LoadHeader(AtomicHeader* hdrp) -> Header
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AtomicHeader*::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - hdr
    argTypes:
    - AtomicHeader*
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AtomicHeader*::store
    - absl::bit_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::StoreHeader(AtomicHeader* hdrp,\n                                                  Header
      hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1045,1
    - Dst: std::atomic<bool>::atomic<bool>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1046,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - alloc
    - slabs
    - capacity
    - shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1058
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - std::atomic<bool>::atomic<bool>
    - NumCPUs
    - store
    - alloc
    - static_cast<std::atomic<uint16_t>*>
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::Init(\n    absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc, void* slabs,\n    absl::FunctionRef<size_t(size_t)>
      capacity, Shift shift)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1063,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1068,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1078,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - slabs
    - shift
    - capacity
    argTypes:
    - void*
    - Shift
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1083
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached:
    - capacity
    - static_cast<uint16_t>
    - TC_BUG
    - ToUint8
    - TC_CHECK_EQ
    - store
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitSlabs(\n    void* slabs, Shift
      shift, absl::FunctionRef<size_t(size_t)> capacity)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1089,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - capacity
    argTypes:
    - int
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1091
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitCpu(\n    int cpu, absl::FunctionRef<size_t(size_t)>
      capacity)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1102,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1124,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1131,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - capacity
    argTypes:
    - void*
    - Shift
    - int
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1094
    functionDepth: 2
    functionLinenumber: 1094
    functionLinenumberEnd: 1136
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached:
    - load
    - capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - static_cast<uint16_t>
    - TC_BUG
    - ToUint8
    - reinterpret_cast<void**>
    - reinterpret_cast<char*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_CHECK_EQ
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - TC_CHECK_LE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitCpuImpl(\n    void* slabs, Shift
      shift, int cpu,\n    absl::FunctionRef<size_t(size_t)> capacity)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1141,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1145,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1146,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1148,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1151,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1152,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1140
    functionDepth: 2
    functionLinenumber: 1140
    functionLinenumberEnd: 1184
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached:
    - CompilerBarrier
    - load
    - StoreCurrentCpu
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - auto::Get
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> TcmallocSlab<NumClasses>::CacheCpuSlabSlow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1192,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1203,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1204,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - drain_handler
    argTypes:
    - void*
    - Shift
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1188
    functionDepth: 2
    functionLinenumber: 1188
    functionLinenumberEnd: 1209
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - TC_ASSERT
    - drain_handler
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::DrainCpu(void* slabs, Shift shift,
      int cpu,\n                                        DrainHandler drain_handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1218,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1228,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1229,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - slabs
    - shift
    - cpu
    - ' old_begins'
    - drain_handler
    argTypes:
    - void*
    - Shift
    - int
    - std::array<uint16_t, NumClasses>
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1234
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - drain_handler
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::DrainOldSlabs(\n    void* slabs, Shift
      shift, int cpu,\n    const std::array<uint16_t, NumClasses>& old_begins,\n    DrainHandler
      drain_handler)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1251,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1254,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1256,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1262,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1270,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1274,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1279,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1280,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 7
    argNames:
    - new_slabs
    - capacity
    - update_capacity
    - populated
    - drain_handler
    - new_max_capacity
    - classes_to_resize
    argTypes:
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - absl::FunctionRef<void(int, uint16_t)>
    - absl::FunctionRef<bool(size_t)>
    - DrainHandler
    - PerSizeClassMaxCapacity*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1237
    functionDepth: 3
    functionLinenumber: 1237
    functionLinenumberEnd: 1283
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - populated
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - load
    - update_capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - NumCPUs
    - store
    - FenceAllCpus
    - TC_CHECK
    linkageType: ''
    returnType: ResizeSlabsInfo
    signature: "ResizeSlabsInfo TcmallocSlab<NumClasses>::UpdateMaxCapacities(\n    void*
      new_slabs, absl::FunctionRef<size_t(size_t)> capacity,\n    absl::FunctionRef<void(int,
      uint16_t)> update_capacity,\n    absl::FunctionRef<bool(size_t)> populated,
      DrainHandler drain_handler,\n    PerSizeClassMaxCapacity* new_max_capacity,
      int classes_to_resize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1298,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1301,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1305,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1306,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1313,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1317,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1323,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - new_shift
    - new_slabs
    - capacity
    - populated
    - drain_handler
    argTypes:
    - Shift
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - absl::FunctionRef<bool(size_t)>
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1286
    functionDepth: 3
    functionLinenumber: 1286
    functionLinenumberEnd: 1327
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - populated
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - TC_ASSERT_NE
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - NumCPUs
    - store
    - FenceAllCpus
    - TC_CHECK
    linkageType: ''
    returnType: auto
    signature: "auto TcmallocSlab<NumClasses>::ResizeSlabs(\n    Shift new_shift,
      void* new_slabs,\n    absl::FunctionRef<size_t(size_t)> capacity,\n    absl::FunctionRef<bool(size_t)>
      populated, DrainHandler drain_handler)\n    -> ResizeSlabsInfo"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1335,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - free
    argTypes:
    - absl::FunctionRef<void(void*, size_t, std::align_val_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1342
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - NumCPUs
    - store
    - free
    linkageType: ''
    returnType: void
    signature: "void * TcmallocSlab<NumClasses>::Destroy(\n    absl::FunctionRef<void(void*,
      size_t, std::align_val_t)> free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1349,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1351,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1352,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1354,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - max_capacity
    argTypes:
    - int
    - size_t
    - size_t
    - absl::FunctionRef<size_t(uint8_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1358
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - max_capacity
    - GetSlabsAndShift
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::GrowOtherCache(\n    int cpu, size_t
      size_class, size_t len,\n    absl::FunctionRef<size_t(uint8_t)> max_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1364,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1367,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1373,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1375,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1379,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1384,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - shrink_handler
    argTypes:
    - int
    - size_t
    - size_t
    - ShrinkHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1361
    functionDepth: 2
    functionLinenumber: 1361
    functionLinenumberEnd: 1388
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - GetSlabsAndShift
    - shrink_handler
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::ShrinkOtherCache(\n    int cpu, size_t
      size_class, size_t len, ShrinkHandler shrink_handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - drain_handler
    argTypes:
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1391
    functionDepth: 3
    functionLinenumber: 1391
    functionLinenumberEnd: 1395
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::Drain(int cpu, DrainHandler drain_handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1401,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1403
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - NumCPUs
    - store
    - FenceCpu
    - TC_ASSERT
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StopCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1410
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - load
    - NumCPUs
    - store
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StartCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1415,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1417,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - NumCPUs
    - tcmalloc_internal::MInCore::residence
    linkageType: ''
    returnType: PerCPUMetadataState
    signature: PerCPUMetadataState TcmallocSlab<NumClasses>::MetadataMemoryUsage()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shift
    argTypes:
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::subtle::percpu::ToUint8
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 2
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ToUint8(Shift shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: tcmalloc_internal::subtle::percpu::ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - shift
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::subtle::percpu::ToShiftType
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 53
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToUint8
    - TC_ASSERT_EQ
    - static_cast<Shift>
    linkageType: ''
    returnType: Shift
    signature: Shift ToShiftType(size_t shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    - Dst: tcmalloc_internal::subtle::percpu::ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - shift
    - num_cpus
    argTypes:
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 17
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToUint8
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t GetSlabsAllocSize(Shift shift, int num_cpus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::TcmallocSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    - ToUint8
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetShift() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlabsAndShift() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - slabs
    - shift
    argTypes:
    - void*
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - TC_ASSERT_EQ
    - ToUint8
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void SlabsAndShift(const void* slabs, Shift shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:316,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - static_cast<Shift>
    linkageType: ''
    returnType: std::pair<void*, Shift>
    signature: std::pair<void*, Shift> Get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlabsAndShift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: operator!=(const SlabsAndShift& other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const SlabsAndShift& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 2
    functionsReached:
    - load
    linkageType: ''
    returnType: std::pair<void*, Shift>
    signature: "std::pair<void*, Shift> GetSlabsAndShift(\n      std::memory_order
      order) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' slab'
    - cpu
    argTypes:
    - TcmallocSlab<NumClasses>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void ScopedSlabCpuStop(TcmallocSlab<NumClasses>& slab, int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: ~ScopedSlabCpuStop()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - StartCpu
    linkageType: ''
    returnType: void
    signature: void ~ScopedSlabCpuStop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedSlabCpuStop(const ScopedSlabCpuStop&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: '& operator=(const ScopedSlabCpuStop&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedSlabCpuStop
    signature: ScopedSlabCpuStop & operator=(const ScopedSlabCpuStop&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:407,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:409,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::max<ssize_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Length(int cpu,\n                                               size_t
      size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:420,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::max<ssize_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Capacity(int cpu,\n                                                 size_t
      size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 499
    functionName: TCMALLOC_RSEQ_PROLOGUE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_PROLOGUE(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:554,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:572,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 592
    functionName: tcmalloc_internal::subtle::percpu::StoreCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<void* volatile*>
    - static_cast<uint64_t* volatile*>
    - static_cast<uint32_t* volatile*>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE StoreCurrentCpu(volatile void* p,\n                                                         T
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<void*>
    - PrefetchWT0
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE PrefetchSlabMemory(uintptr_t ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:613,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:652,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 661
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    - TCMALLOC_RSEQ_PROLOGUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab_Internal_Push(\n    size_t
      size_class, void* item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:674,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 731
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TCMALLOC_RSEQ_PROLOGUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab_Internal_Push(\n    size_t
      size_class, void* item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:737,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:738,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:744,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 750
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TSANRelease
    - TC_ASSERT_NE
    - reinterpret_cast<uintptr_t>
    - TcmallocSlab_Internal_Push
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab<NumClasses>::Push(\n    size_t
      size_class, void* item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefetch_target
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 771
    functionName: tcmalloc_internal::subtle::percpu::PrefetchNextObject
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE PrefetchNextObject(\n    void* prefetch_target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:777,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:788,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:835,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:839,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:840,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:841,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:845,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:846,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 850
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - PrefetchSlabMemory
    - PrefetchNextObject
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:857,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:869,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:912,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:926,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:930,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:931,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 935
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - PrefetchNextObject
    - absl::countr_zero
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 943
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:950,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:952,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:953,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:954,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:955,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:959,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - max_capacity
    argTypes:
    - int
    - size_t
    - size_t
    - absl::FunctionRef<size_t(uint8_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 947
    functionDepth: 2
    functionLinenumber: 947
    functionLinenumberEnd: 962
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<ssize_t>
    - load
    - StoreCurrentCpu
    - max_capacity
    - GetSlabsAndShift
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Grow(\n    int cpu, size_t size_class,
      size_t len,\n    absl::FunctionRef<size_t(uint8_t)> max_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:967,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:968,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 973
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> TcmallocSlab<NumClasses>::CacheCpuSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UncacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::UncacheCpuSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:993,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - size_class
    - batch
    - len
    argTypes:
    - size_t
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 995
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TSANReleaseBatch
    - TcmallocSlab_Internal_PushBatch
    - TC_ASSERT_NE
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::PushBatch(size_t size_class,\n                                                  void**
      batch, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1000,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1001,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1002,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1004,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1008,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - size_class
    - batch
    - len
    argTypes:
    - size_t
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1011
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - TcmallocSlab_Internal_PopBatch
    - TC_ASSERT_LE
    - TSANAcquireBatch
    - ANNOTATE_MEMORY_IS_INITIALIZED
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::PopBatch(size_t size_class,\n                                                 void**
      batch, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slabs
    - shift
    - cpu
    argTypes:
    - void*
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1017
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 6
    functionsReached:
    - static_cast<char*>
    - ToUint8
    linkageType: ''
    returnType: void
    signature: "void * TcmallocSlab<NumClasses>::CpuMemoryStart(void* slabs, Shift
      shift,\n                                                      int cpu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1023,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - size_class
    argTypes:
    - void*
    - Shift
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1026
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 11
    functionsReached:
    - static_cast<AtomicHeader*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TC_ASSERT_NE
    linkageType: ''
    returnType: auto
    signature: "auto TcmallocSlab<NumClasses>::GetHeader(void* slabs, Shift shift,\n
      \                                               int cpu, size_t size_class)\n
      \   -> AtomicHeader*"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<Header>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    - Dst: AtomicHeader*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrp
    argTypes:
    - AtomicHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1031
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 10
    functionsReached:
    - absl::bit_cast<Header>
    - AtomicHeader*::load
    linkageType: ''
    returnType: auto
    signature: auto TcmallocSlab<NumClasses>::LoadHeader(AtomicHeader* hdrp) -> Header
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AtomicHeader*::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - hdr
    argTypes:
    - AtomicHeader*
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 5
    functionsReached:
    - AtomicHeader*::store
    - absl::bit_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::StoreHeader(AtomicHeader* hdrp,\n                                                  Header
      hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1045,1
    - Dst: std::atomic<bool>::atomic<bool>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1046,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - alloc
    - slabs
    - capacity
    - shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1040
    functionDepth: 2
    functionLinenumber: 1040
    functionLinenumberEnd: 1058
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - std::atomic<bool>::atomic<bool>
    - NumCPUs
    - store
    - alloc
    - static_cast<std::atomic<uint16_t>*>
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::Init(\n    absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc, void* slabs,\n    absl::FunctionRef<size_t(size_t)>
      capacity, Shift shift)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1063,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1068,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1078,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - slabs
    - shift
    - capacity
    argTypes:
    - void*
    - Shift
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1083
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 4
    functionsReached:
    - capacity
    - static_cast<uint16_t>
    - TC_BUG
    - ToUint8
    - TC_CHECK_EQ
    - store
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitSlabs(\n    void* slabs, Shift
      shift, absl::FunctionRef<size_t(size_t)> capacity)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1089,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - capacity
    argTypes:
    - int
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1091
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitCpu(\n    int cpu, absl::FunctionRef<size_t(size_t)>
      capacity)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1102,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1124,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1131,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - capacity
    argTypes:
    - void*
    - Shift
    - int
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1094
    functionDepth: 2
    functionLinenumber: 1094
    functionLinenumberEnd: 1136
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 4
    functionsReached:
    - load
    - capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - static_cast<uint16_t>
    - TC_BUG
    - ToUint8
    - reinterpret_cast<void**>
    - reinterpret_cast<char*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_CHECK_EQ
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - TC_CHECK_LE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitCpuImpl(\n    void* slabs, Shift
      shift, int cpu,\n    absl::FunctionRef<size_t(size_t)> capacity)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1141,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1145,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1146,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1148,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1151,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1152,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1140
    functionDepth: 2
    functionLinenumber: 1140
    functionLinenumberEnd: 1184
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 2
    functionsReached:
    - CompilerBarrier
    - load
    - StoreCurrentCpu
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - auto::Get
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> TcmallocSlab<NumClasses>::CacheCpuSlabSlow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1192,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1203,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1204,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - drain_handler
    argTypes:
    - void*
    - Shift
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1188
    functionDepth: 2
    functionLinenumber: 1188
    functionLinenumberEnd: 1209
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - TC_ASSERT
    - drain_handler
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::DrainCpu(void* slabs, Shift shift,
      int cpu,\n                                        DrainHandler drain_handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1218,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1228,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1229,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - slabs
    - shift
    - cpu
    - ' old_begins'
    - drain_handler
    argTypes:
    - void*
    - Shift
    - int
    - std::array<uint16_t, NumClasses>
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1234
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - drain_handler
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::DrainOldSlabs(\n    void* slabs, Shift
      shift, int cpu,\n    const std::array<uint16_t, NumClasses>& old_begins,\n    DrainHandler
      drain_handler)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1251,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1254,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1256,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1262,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1270,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1274,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1279,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1280,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 7
    argNames:
    - new_slabs
    - capacity
    - update_capacity
    - populated
    - drain_handler
    - new_max_capacity
    - classes_to_resize
    argTypes:
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - absl::FunctionRef<void(int, uint16_t)>
    - absl::FunctionRef<bool(size_t)>
    - DrainHandler
    - PerSizeClassMaxCapacity*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1237
    functionDepth: 3
    functionLinenumber: 1237
    functionLinenumberEnd: 1283
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - populated
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - load
    - update_capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - NumCPUs
    - store
    - FenceAllCpus
    - TC_CHECK
    linkageType: ''
    returnType: ResizeSlabsInfo
    signature: "ResizeSlabsInfo TcmallocSlab<NumClasses>::UpdateMaxCapacities(\n    void*
      new_slabs, absl::FunctionRef<size_t(size_t)> capacity,\n    absl::FunctionRef<void(int,
      uint16_t)> update_capacity,\n    absl::FunctionRef<bool(size_t)> populated,
      DrainHandler drain_handler,\n    PerSizeClassMaxCapacity* new_max_capacity,
      int classes_to_resize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1298,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1301,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1305,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1306,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1313,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1317,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1323,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - new_shift
    - new_slabs
    - capacity
    - populated
    - drain_handler
    argTypes:
    - Shift
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - absl::FunctionRef<bool(size_t)>
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1286
    functionDepth: 3
    functionLinenumber: 1286
    functionLinenumberEnd: 1327
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - populated
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - TC_ASSERT_NE
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - NumCPUs
    - store
    - FenceAllCpus
    - TC_CHECK
    linkageType: ''
    returnType: auto
    signature: "auto TcmallocSlab<NumClasses>::ResizeSlabs(\n    Shift new_shift,
      void* new_slabs,\n    absl::FunctionRef<size_t(size_t)> capacity,\n    absl::FunctionRef<bool(size_t)>
      populated, DrainHandler drain_handler)\n    -> ResizeSlabsInfo"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1335,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - free
    argTypes:
    - absl::FunctionRef<void(void*, size_t, std::align_val_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1342
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - NumCPUs
    - store
    - free
    linkageType: ''
    returnType: void
    signature: "void * TcmallocSlab<NumClasses>::Destroy(\n    absl::FunctionRef<void(void*,
      size_t, std::align_val_t)> free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1349,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1351,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1352,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1354,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - max_capacity
    argTypes:
    - int
    - size_t
    - size_t
    - absl::FunctionRef<size_t(uint8_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1358
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - max_capacity
    - GetSlabsAndShift
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::GrowOtherCache(\n    int cpu, size_t
      size_class, size_t len,\n    absl::FunctionRef<size_t(uint8_t)> max_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1364,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1367,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1373,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1375,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1379,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1384,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - shrink_handler
    argTypes:
    - int
    - size_t
    - size_t
    - ShrinkHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1361
    functionDepth: 2
    functionLinenumber: 1361
    functionLinenumberEnd: 1388
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - GetSlabsAndShift
    - shrink_handler
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::ShrinkOtherCache(\n    int cpu, size_t
      size_class, size_t len, ShrinkHandler shrink_handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - drain_handler
    argTypes:
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1391
    functionDepth: 3
    functionLinenumber: 1391
    functionLinenumberEnd: 1395
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::Drain(int cpu, DrainHandler drain_handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1401,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1403
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - NumCPUs
    - store
    - FenceCpu
    - TC_ASSERT
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StopCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1410
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - load
    - NumCPUs
    - store
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StartCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1415,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1417,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - NumCPUs
    - tcmalloc_internal::MInCore::residence
    linkageType: ''
    returnType: PerCPUMetadataState
    signature: PerCPUMetadataState TcmallocSlab<NumClasses>::MetadataMemoryUsage()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shift
    argTypes:
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::subtle::percpu::ToUint8
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 4
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ToUint8(Shift shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: tcmalloc_internal::subtle::percpu::ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - shift
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::subtle::percpu::ToShiftType
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 53
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToUint8
    - TC_ASSERT_EQ
    - static_cast<Shift>
    linkageType: ''
    returnType: Shift
    signature: Shift ToShiftType(size_t shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    - Dst: tcmalloc_internal::subtle::percpu::ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - shift
    - num_cpus
    argTypes:
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 17
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToUint8
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t GetSlabsAllocSize(Shift shift, int num_cpus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::TcmallocSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    - ToUint8
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetShift() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlabsAndShift() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - slabs
    - shift
    argTypes:
    - void*
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - TC_ASSERT_EQ
    - ToUint8
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void SlabsAndShift(const void* slabs, Shift shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:316,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - static_cast<Shift>
    linkageType: ''
    returnType: std::pair<void*, Shift>
    signature: std::pair<void*, Shift> Get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlabsAndShift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: operator!=(const SlabsAndShift& other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const SlabsAndShift& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 3
    functionsReached:
    - load
    linkageType: ''
    returnType: std::pair<void*, Shift>
    signature: "std::pair<void*, Shift> GetSlabsAndShift(\n      std::memory_order
      order) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' slab'
    - cpu
    argTypes:
    - TcmallocSlab<NumClasses>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void ScopedSlabCpuStop(TcmallocSlab<NumClasses>& slab, int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: ~ScopedSlabCpuStop()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - StartCpu
    linkageType: ''
    returnType: void
    signature: void ~ScopedSlabCpuStop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedSlabCpuStop(const ScopedSlabCpuStop&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: '& operator=(const ScopedSlabCpuStop&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedSlabCpuStop
    signature: ScopedSlabCpuStop & operator=(const ScopedSlabCpuStop&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:407,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:409,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::max<ssize_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Length(int cpu,\n                                               size_t
      size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:420,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::max<ssize_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Capacity(int cpu,\n                                                 size_t
      size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 499
    functionName: TCMALLOC_RSEQ_PROLOGUE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_PROLOGUE(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:554,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:572,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 592
    functionName: tcmalloc_internal::subtle::percpu::StoreCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<void* volatile*>
    - static_cast<uint64_t* volatile*>
    - static_cast<uint32_t* volatile*>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE StoreCurrentCpu(volatile void* p,\n                                                         T
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<void*>
    - PrefetchWT0
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE PrefetchSlabMemory(uintptr_t ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:613,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:652,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 661
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    - TCMALLOC_RSEQ_PROLOGUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab_Internal_Push(\n    size_t
      size_class, void* item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:674,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 731
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TCMALLOC_RSEQ_PROLOGUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab_Internal_Push(\n    size_t
      size_class, void* item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:737,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:738,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:744,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 750
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TSANRelease
    - TC_ASSERT_NE
    - reinterpret_cast<uintptr_t>
    - TcmallocSlab_Internal_Push
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab<NumClasses>::Push(\n    size_t
      size_class, void* item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefetch_target
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 771
    functionName: tcmalloc_internal::subtle::percpu::PrefetchNextObject
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE PrefetchNextObject(\n    void* prefetch_target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:777,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:788,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:835,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:839,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:840,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:841,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:845,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:846,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 850
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - PrefetchSlabMemory
    - PrefetchNextObject
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:857,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:869,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:912,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:926,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:930,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:931,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 935
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - PrefetchNextObject
    - absl::countr_zero
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 943
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:950,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:952,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:953,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:954,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:955,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:959,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - max_capacity
    argTypes:
    - int
    - size_t
    - size_t
    - absl::FunctionRef<size_t(uint8_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 947
    functionDepth: 2
    functionLinenumber: 947
    functionLinenumberEnd: 962
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<ssize_t>
    - load
    - StoreCurrentCpu
    - max_capacity
    - GetSlabsAndShift
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Grow(\n    int cpu, size_t size_class,
      size_t len,\n    absl::FunctionRef<size_t(uint8_t)> max_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:967,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:968,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 973
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> TcmallocSlab<NumClasses>::CacheCpuSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UncacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::UncacheCpuSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:993,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - size_class
    - batch
    - len
    argTypes:
    - size_t
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 995
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TSANReleaseBatch
    - TcmallocSlab_Internal_PushBatch
    - TC_ASSERT_NE
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::PushBatch(size_t size_class,\n                                                  void**
      batch, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1000,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1001,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1002,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1004,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1008,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - size_class
    - batch
    - len
    argTypes:
    - size_t
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1011
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - TcmallocSlab_Internal_PopBatch
    - TC_ASSERT_LE
    - TSANAcquireBatch
    - ANNOTATE_MEMORY_IS_INITIALIZED
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::PopBatch(size_t size_class,\n                                                 void**
      batch, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slabs
    - shift
    - cpu
    argTypes:
    - void*
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1017
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 12
    functionsReached:
    - static_cast<char*>
    - ToUint8
    linkageType: ''
    returnType: void
    signature: "void * TcmallocSlab<NumClasses>::CpuMemoryStart(void* slabs, Shift
      shift,\n                                                      int cpu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1023,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - size_class
    argTypes:
    - void*
    - Shift
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1026
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 19
    functionsReached:
    - static_cast<AtomicHeader*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TC_ASSERT_NE
    linkageType: ''
    returnType: auto
    signature: "auto TcmallocSlab<NumClasses>::GetHeader(void* slabs, Shift shift,\n
      \                                               int cpu, size_t size_class)\n
      \   -> AtomicHeader*"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<Header>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    - Dst: AtomicHeader*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrp
    argTypes:
    - AtomicHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1031
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 17
    functionsReached:
    - absl::bit_cast<Header>
    - AtomicHeader*::load
    linkageType: ''
    returnType: auto
    signature: auto TcmallocSlab<NumClasses>::LoadHeader(AtomicHeader* hdrp) -> Header
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AtomicHeader*::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - hdr
    argTypes:
    - AtomicHeader*
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 10
    functionsReached:
    - AtomicHeader*::store
    - absl::bit_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::StoreHeader(AtomicHeader* hdrp,\n                                                  Header
      hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1045,1
    - Dst: std::atomic<bool>::atomic<bool>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1046,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - alloc
    - slabs
    - capacity
    - shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1040
    functionDepth: 2
    functionLinenumber: 1040
    functionLinenumberEnd: 1058
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - std::atomic<bool>::atomic<bool>
    - NumCPUs
    - store
    - alloc
    - static_cast<std::atomic<uint16_t>*>
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::Init(\n    absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc, void* slabs,\n    absl::FunctionRef<size_t(size_t)>
      capacity, Shift shift)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1063,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1068,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1078,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - slabs
    - shift
    - capacity
    argTypes:
    - void*
    - Shift
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1083
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 7
    functionsReached:
    - capacity
    - static_cast<uint16_t>
    - TC_BUG
    - ToUint8
    - TC_CHECK_EQ
    - store
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitSlabs(\n    void* slabs, Shift
      shift, absl::FunctionRef<size_t(size_t)> capacity)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1089,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - capacity
    argTypes:
    - int
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1091
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitCpu(\n    int cpu, absl::FunctionRef<size_t(size_t)>
      capacity)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1102,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1124,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1131,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - capacity
    argTypes:
    - void*
    - Shift
    - int
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1094
    functionDepth: 2
    functionLinenumber: 1094
    functionLinenumberEnd: 1136
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 7
    functionsReached:
    - load
    - capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - static_cast<uint16_t>
    - TC_BUG
    - ToUint8
    - reinterpret_cast<void**>
    - reinterpret_cast<char*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_CHECK_EQ
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - TC_CHECK_LE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitCpuImpl(\n    void* slabs, Shift
      shift, int cpu,\n    absl::FunctionRef<size_t(size_t)> capacity)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1141,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1145,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1146,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1148,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1151,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1152,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1140
    functionDepth: 2
    functionLinenumber: 1140
    functionLinenumberEnd: 1184
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 3
    functionsReached:
    - CompilerBarrier
    - load
    - StoreCurrentCpu
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - auto::Get
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> TcmallocSlab<NumClasses>::CacheCpuSlabSlow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1192,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1203,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1204,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - drain_handler
    argTypes:
    - void*
    - Shift
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1188
    functionDepth: 2
    functionLinenumber: 1188
    functionLinenumberEnd: 1209
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 2
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - TC_ASSERT
    - drain_handler
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::DrainCpu(void* slabs, Shift shift,
      int cpu,\n                                        DrainHandler drain_handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1218,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1228,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1229,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - slabs
    - shift
    - cpu
    - ' old_begins'
    - drain_handler
    argTypes:
    - void*
    - Shift
    - int
    - std::array<uint16_t, NumClasses>
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1234
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - drain_handler
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::DrainOldSlabs(\n    void* slabs, Shift
      shift, int cpu,\n    const std::array<uint16_t, NumClasses>& old_begins,\n    DrainHandler
      drain_handler)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1251,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1254,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1256,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1262,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1270,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1274,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1279,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1280,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 7
    argNames:
    - new_slabs
    - capacity
    - update_capacity
    - populated
    - drain_handler
    - new_max_capacity
    - classes_to_resize
    argTypes:
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - absl::FunctionRef<void(int, uint16_t)>
    - absl::FunctionRef<bool(size_t)>
    - DrainHandler
    - PerSizeClassMaxCapacity*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1237
    functionDepth: 3
    functionLinenumber: 1237
    functionLinenumberEnd: 1283
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - populated
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - load
    - update_capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - NumCPUs
    - store
    - FenceAllCpus
    - TC_CHECK
    linkageType: ''
    returnType: ResizeSlabsInfo
    signature: "ResizeSlabsInfo TcmallocSlab<NumClasses>::UpdateMaxCapacities(\n    void*
      new_slabs, absl::FunctionRef<size_t(size_t)> capacity,\n    absl::FunctionRef<void(int,
      uint16_t)> update_capacity,\n    absl::FunctionRef<bool(size_t)> populated,
      DrainHandler drain_handler,\n    PerSizeClassMaxCapacity* new_max_capacity,
      int classes_to_resize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1298,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1301,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1305,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1306,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1313,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1317,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1323,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - new_shift
    - new_slabs
    - capacity
    - populated
    - drain_handler
    argTypes:
    - Shift
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - absl::FunctionRef<bool(size_t)>
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1286
    functionDepth: 3
    functionLinenumber: 1286
    functionLinenumberEnd: 1327
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - populated
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - TC_ASSERT_NE
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - NumCPUs
    - store
    - FenceAllCpus
    - TC_CHECK
    linkageType: ''
    returnType: auto
    signature: "auto TcmallocSlab<NumClasses>::ResizeSlabs(\n    Shift new_shift,
      void* new_slabs,\n    absl::FunctionRef<size_t(size_t)> capacity,\n    absl::FunctionRef<bool(size_t)>
      populated, DrainHandler drain_handler)\n    -> ResizeSlabsInfo"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1335,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - free
    argTypes:
    - absl::FunctionRef<void(void*, size_t, std::align_val_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1342
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - NumCPUs
    - store
    - free
    linkageType: ''
    returnType: void
    signature: "void * TcmallocSlab<NumClasses>::Destroy(\n    absl::FunctionRef<void(void*,
      size_t, std::align_val_t)> free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1349,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1351,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1352,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1354,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - max_capacity
    argTypes:
    - int
    - size_t
    - size_t
    - absl::FunctionRef<size_t(uint8_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1358
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - max_capacity
    - GetSlabsAndShift
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::GrowOtherCache(\n    int cpu, size_t
      size_class, size_t len,\n    absl::FunctionRef<size_t(uint8_t)> max_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1364,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1367,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1373,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1375,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1379,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1384,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - shrink_handler
    argTypes:
    - int
    - size_t
    - size_t
    - ShrinkHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1361
    functionDepth: 2
    functionLinenumber: 1361
    functionLinenumberEnd: 1388
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - GetSlabsAndShift
    - shrink_handler
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::ShrinkOtherCache(\n    int cpu, size_t
      size_class, size_t len, ShrinkHandler shrink_handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - drain_handler
    argTypes:
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1391
    functionDepth: 3
    functionLinenumber: 1391
    functionLinenumberEnd: 1395
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::Drain(int cpu, DrainHandler drain_handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1401,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1403
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - NumCPUs
    - store
    - FenceCpu
    - TC_ASSERT
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StopCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1410
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - load
    - NumCPUs
    - store
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StartCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1415,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1417,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - NumCPUs
    - tcmalloc_internal::MInCore::residence
    linkageType: ''
    returnType: PerCPUMetadataState
    signature: PerCPUMetadataState TcmallocSlab<NumClasses>::MetadataMemoryUsage()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shift
    argTypes:
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::subtle::percpu::ToUint8
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 6
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ToUint8(Shift shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: tcmalloc_internal::subtle::percpu::ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - shift
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::subtle::percpu::ToShiftType
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 53
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToUint8
    - TC_ASSERT_EQ
    - static_cast<Shift>
    linkageType: ''
    returnType: Shift
    signature: Shift ToShiftType(size_t shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    - Dst: tcmalloc_internal::subtle::percpu::ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - shift
    - num_cpus
    argTypes:
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 17
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToUint8
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t GetSlabsAllocSize(Shift shift, int num_cpus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::TcmallocSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    - ToUint8
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetShift() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlabsAndShift() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - slabs
    - shift
    argTypes:
    - void*
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - TC_ASSERT_EQ
    - ToUint8
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void SlabsAndShift(const void* slabs, Shift shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:316,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - static_cast<Shift>
    linkageType: ''
    returnType: std::pair<void*, Shift>
    signature: std::pair<void*, Shift> Get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlabsAndShift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: operator!=(const SlabsAndShift& other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const SlabsAndShift& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 4
    functionsReached:
    - load
    linkageType: ''
    returnType: std::pair<void*, Shift>
    signature: "std::pair<void*, Shift> GetSlabsAndShift(\n      std::memory_order
      order) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' slab'
    - cpu
    argTypes:
    - TcmallocSlab<NumClasses>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void ScopedSlabCpuStop(TcmallocSlab<NumClasses>& slab, int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: ~ScopedSlabCpuStop()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - StartCpu
    linkageType: ''
    returnType: void
    signature: void ~ScopedSlabCpuStop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedSlabCpuStop(const ScopedSlabCpuStop&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: '& operator=(const ScopedSlabCpuStop&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedSlabCpuStop
    signature: ScopedSlabCpuStop & operator=(const ScopedSlabCpuStop&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:407,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:409,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::max<ssize_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Length(int cpu,\n                                               size_t
      size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:420,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::max<ssize_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Capacity(int cpu,\n                                                 size_t
      size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 499
    functionName: TCMALLOC_RSEQ_PROLOGUE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_PROLOGUE(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:554,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:572,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 592
    functionName: tcmalloc_internal::subtle::percpu::StoreCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<void* volatile*>
    - static_cast<uint64_t* volatile*>
    - static_cast<uint32_t* volatile*>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE StoreCurrentCpu(volatile void* p,\n                                                         T
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<void*>
    - PrefetchWT0
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE PrefetchSlabMemory(uintptr_t ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:613,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:652,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 661
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    - TCMALLOC_RSEQ_PROLOGUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab_Internal_Push(\n    size_t
      size_class, void* item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:674,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 731
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TCMALLOC_RSEQ_PROLOGUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab_Internal_Push(\n    size_t
      size_class, void* item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:737,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:738,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:744,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 750
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TSANRelease
    - TC_ASSERT_NE
    - reinterpret_cast<uintptr_t>
    - TcmallocSlab_Internal_Push
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab<NumClasses>::Push(\n    size_t
      size_class, void* item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefetch_target
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 771
    functionName: tcmalloc_internal::subtle::percpu::PrefetchNextObject
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE PrefetchNextObject(\n    void* prefetch_target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:777,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:788,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:835,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:839,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:840,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:841,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:845,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:846,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 850
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - PrefetchSlabMemory
    - PrefetchNextObject
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:857,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:869,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:912,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:926,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:930,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:931,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 935
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - PrefetchNextObject
    - absl::countr_zero
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 943
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:950,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:952,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:953,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:954,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:955,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:959,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - max_capacity
    argTypes:
    - int
    - size_t
    - size_t
    - absl::FunctionRef<size_t(uint8_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 947
    functionDepth: 2
    functionLinenumber: 947
    functionLinenumberEnd: 962
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<ssize_t>
    - load
    - StoreCurrentCpu
    - max_capacity
    - GetSlabsAndShift
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Grow(\n    int cpu, size_t size_class,
      size_t len,\n    absl::FunctionRef<size_t(uint8_t)> max_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:967,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:968,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 973
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> TcmallocSlab<NumClasses>::CacheCpuSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UncacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::UncacheCpuSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:993,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - size_class
    - batch
    - len
    argTypes:
    - size_t
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 995
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TSANReleaseBatch
    - TcmallocSlab_Internal_PushBatch
    - TC_ASSERT_NE
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::PushBatch(size_t size_class,\n                                                  void**
      batch, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1000,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1001,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1002,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1004,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1008,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - size_class
    - batch
    - len
    argTypes:
    - size_t
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1011
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - TcmallocSlab_Internal_PopBatch
    - TC_ASSERT_LE
    - TSANAcquireBatch
    - ANNOTATE_MEMORY_IS_INITIALIZED
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::PopBatch(size_t size_class,\n                                                 void**
      batch, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slabs
    - shift
    - cpu
    argTypes:
    - void*
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1017
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 18
    functionsReached:
    - static_cast<char*>
    - ToUint8
    linkageType: ''
    returnType: void
    signature: "void * TcmallocSlab<NumClasses>::CpuMemoryStart(void* slabs, Shift
      shift,\n                                                      int cpu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1023,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - size_class
    argTypes:
    - void*
    - Shift
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1026
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 27
    functionsReached:
    - static_cast<AtomicHeader*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TC_ASSERT_NE
    linkageType: ''
    returnType: auto
    signature: "auto TcmallocSlab<NumClasses>::GetHeader(void* slabs, Shift shift,\n
      \                                               int cpu, size_t size_class)\n
      \   -> AtomicHeader*"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<Header>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    - Dst: AtomicHeader*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrp
    argTypes:
    - AtomicHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1031
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 24
    functionsReached:
    - absl::bit_cast<Header>
    - AtomicHeader*::load
    linkageType: ''
    returnType: auto
    signature: auto TcmallocSlab<NumClasses>::LoadHeader(AtomicHeader* hdrp) -> Header
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AtomicHeader*::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - hdr
    argTypes:
    - AtomicHeader*
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 15
    functionsReached:
    - AtomicHeader*::store
    - absl::bit_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::StoreHeader(AtomicHeader* hdrp,\n                                                  Header
      hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1045,1
    - Dst: std::atomic<bool>::atomic<bool>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1046,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - alloc
    - slabs
    - capacity
    - shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1040
    functionDepth: 2
    functionLinenumber: 1040
    functionLinenumberEnd: 1058
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - std::atomic<bool>::atomic<bool>
    - NumCPUs
    - store
    - alloc
    - static_cast<std::atomic<uint16_t>*>
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::Init(\n    absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc, void* slabs,\n    absl::FunctionRef<size_t(size_t)>
      capacity, Shift shift)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1063,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1068,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1078,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - slabs
    - shift
    - capacity
    argTypes:
    - void*
    - Shift
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1083
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 10
    functionsReached:
    - capacity
    - static_cast<uint16_t>
    - TC_BUG
    - ToUint8
    - TC_CHECK_EQ
    - store
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitSlabs(\n    void* slabs, Shift
      shift, absl::FunctionRef<size_t(size_t)> capacity)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1089,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - capacity
    argTypes:
    - int
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1091
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitCpu(\n    int cpu, absl::FunctionRef<size_t(size_t)>
      capacity)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1102,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1124,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1131,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - capacity
    argTypes:
    - void*
    - Shift
    - int
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1094
    functionDepth: 2
    functionLinenumber: 1094
    functionLinenumberEnd: 1136
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 10
    functionsReached:
    - load
    - capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - static_cast<uint16_t>
    - TC_BUG
    - ToUint8
    - reinterpret_cast<void**>
    - reinterpret_cast<char*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_CHECK_EQ
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - TC_CHECK_LE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitCpuImpl(\n    void* slabs, Shift
      shift, int cpu,\n    absl::FunctionRef<size_t(size_t)> capacity)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1141,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1145,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1146,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1148,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1151,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1152,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1140
    functionDepth: 2
    functionLinenumber: 1140
    functionLinenumberEnd: 1184
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 4
    functionsReached:
    - CompilerBarrier
    - load
    - StoreCurrentCpu
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - auto::Get
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> TcmallocSlab<NumClasses>::CacheCpuSlabSlow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1192,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1203,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1204,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - drain_handler
    argTypes:
    - void*
    - Shift
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1188
    functionDepth: 2
    functionLinenumber: 1188
    functionLinenumberEnd: 1209
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 3
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - TC_ASSERT
    - drain_handler
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::DrainCpu(void* slabs, Shift shift,
      int cpu,\n                                        DrainHandler drain_handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1218,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1228,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1229,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - slabs
    - shift
    - cpu
    - ' old_begins'
    - drain_handler
    argTypes:
    - void*
    - Shift
    - int
    - std::array<uint16_t, NumClasses>
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1234
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - drain_handler
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::DrainOldSlabs(\n    void* slabs, Shift
      shift, int cpu,\n    const std::array<uint16_t, NumClasses>& old_begins,\n    DrainHandler
      drain_handler)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1251,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1254,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1256,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1262,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1270,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1274,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1279,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1280,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 7
    argNames:
    - new_slabs
    - capacity
    - update_capacity
    - populated
    - drain_handler
    - new_max_capacity
    - classes_to_resize
    argTypes:
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - absl::FunctionRef<void(int, uint16_t)>
    - absl::FunctionRef<bool(size_t)>
    - DrainHandler
    - PerSizeClassMaxCapacity*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1237
    functionDepth: 3
    functionLinenumber: 1237
    functionLinenumberEnd: 1283
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - populated
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - load
    - update_capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - NumCPUs
    - store
    - FenceAllCpus
    - TC_CHECK
    linkageType: ''
    returnType: ResizeSlabsInfo
    signature: "ResizeSlabsInfo TcmallocSlab<NumClasses>::UpdateMaxCapacities(\n    void*
      new_slabs, absl::FunctionRef<size_t(size_t)> capacity,\n    absl::FunctionRef<void(int,
      uint16_t)> update_capacity,\n    absl::FunctionRef<bool(size_t)> populated,
      DrainHandler drain_handler,\n    PerSizeClassMaxCapacity* new_max_capacity,
      int classes_to_resize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1298,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1301,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1305,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1306,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1313,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1317,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1323,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - new_shift
    - new_slabs
    - capacity
    - populated
    - drain_handler
    argTypes:
    - Shift
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - absl::FunctionRef<bool(size_t)>
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1286
    functionDepth: 3
    functionLinenumber: 1286
    functionLinenumberEnd: 1327
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - populated
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - TC_ASSERT_NE
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - NumCPUs
    - store
    - FenceAllCpus
    - TC_CHECK
    linkageType: ''
    returnType: auto
    signature: "auto TcmallocSlab<NumClasses>::ResizeSlabs(\n    Shift new_shift,
      void* new_slabs,\n    absl::FunctionRef<size_t(size_t)> capacity,\n    absl::FunctionRef<bool(size_t)>
      populated, DrainHandler drain_handler)\n    -> ResizeSlabsInfo"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1335,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - free
    argTypes:
    - absl::FunctionRef<void(void*, size_t, std::align_val_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1342
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - NumCPUs
    - store
    - free
    linkageType: ''
    returnType: void
    signature: "void * TcmallocSlab<NumClasses>::Destroy(\n    absl::FunctionRef<void(void*,
      size_t, std::align_val_t)> free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1349,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1351,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1352,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1354,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - max_capacity
    argTypes:
    - int
    - size_t
    - size_t
    - absl::FunctionRef<size_t(uint8_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1358
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - max_capacity
    - GetSlabsAndShift
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::GrowOtherCache(\n    int cpu, size_t
      size_class, size_t len,\n    absl::FunctionRef<size_t(uint8_t)> max_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1364,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1367,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1373,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1375,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1379,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1384,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - shrink_handler
    argTypes:
    - int
    - size_t
    - size_t
    - ShrinkHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1361
    functionDepth: 2
    functionLinenumber: 1361
    functionLinenumberEnd: 1388
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - GetSlabsAndShift
    - shrink_handler
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::ShrinkOtherCache(\n    int cpu, size_t
      size_class, size_t len, ShrinkHandler shrink_handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - drain_handler
    argTypes:
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1391
    functionDepth: 3
    functionLinenumber: 1391
    functionLinenumberEnd: 1395
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::Drain(int cpu, DrainHandler drain_handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1401,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1403
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - NumCPUs
    - store
    - FenceCpu
    - TC_ASSERT
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StopCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1410
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - load
    - NumCPUs
    - store
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StartCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1415,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1417,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - NumCPUs
    - tcmalloc_internal::MInCore::residence
    linkageType: ''
    returnType: PerCPUMetadataState
    signature: PerCPUMetadataState TcmallocSlab<NumClasses>::MetadataMemoryUsage()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shift
    argTypes:
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::subtle::percpu::ToUint8
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 8
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ToUint8(Shift shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: tcmalloc_internal::subtle::percpu::ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - shift
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::subtle::percpu::ToShiftType
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 53
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToUint8
    - TC_ASSERT_EQ
    - static_cast<Shift>
    linkageType: ''
    returnType: Shift
    signature: Shift ToShiftType(size_t shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    - Dst: tcmalloc_internal::subtle::percpu::ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - shift
    - num_cpus
    argTypes:
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 17
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToUint8
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t GetSlabsAllocSize(Shift shift, int num_cpus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::TcmallocSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    - ToUint8
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetShift() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlabsAndShift() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - slabs
    - shift
    argTypes:
    - void*
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - TC_ASSERT_EQ
    - ToUint8
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void SlabsAndShift(const void* slabs, Shift shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:316,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - static_cast<Shift>
    linkageType: ''
    returnType: std::pair<void*, Shift>
    signature: std::pair<void*, Shift> Get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlabsAndShift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: operator!=(const SlabsAndShift& other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const SlabsAndShift& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 5
    functionsReached:
    - load
    linkageType: ''
    returnType: std::pair<void*, Shift>
    signature: "std::pair<void*, Shift> GetSlabsAndShift(\n      std::memory_order
      order) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' slab'
    - cpu
    argTypes:
    - TcmallocSlab<NumClasses>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void ScopedSlabCpuStop(TcmallocSlab<NumClasses>& slab, int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: ~ScopedSlabCpuStop()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - StartCpu
    linkageType: ''
    returnType: void
    signature: void ~ScopedSlabCpuStop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedSlabCpuStop(const ScopedSlabCpuStop&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: '& operator=(const ScopedSlabCpuStop&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedSlabCpuStop
    signature: ScopedSlabCpuStop & operator=(const ScopedSlabCpuStop&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:407,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:409,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::max<ssize_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Length(int cpu,\n                                               size_t
      size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:420,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::max<ssize_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Capacity(int cpu,\n                                                 size_t
      size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 499
    functionName: TCMALLOC_RSEQ_PROLOGUE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_PROLOGUE(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:554,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:572,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 592
    functionName: tcmalloc_internal::subtle::percpu::StoreCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<void* volatile*>
    - static_cast<uint64_t* volatile*>
    - static_cast<uint32_t* volatile*>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE StoreCurrentCpu(volatile void* p,\n                                                         T
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<void*>
    - PrefetchWT0
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE PrefetchSlabMemory(uintptr_t ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:613,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:652,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 661
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    - TCMALLOC_RSEQ_PROLOGUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab_Internal_Push(\n    size_t
      size_class, void* item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:674,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 731
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TCMALLOC_RSEQ_PROLOGUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab_Internal_Push(\n    size_t
      size_class, void* item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:737,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:738,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:744,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 750
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TSANRelease
    - TC_ASSERT_NE
    - reinterpret_cast<uintptr_t>
    - TcmallocSlab_Internal_Push
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab<NumClasses>::Push(\n    size_t
      size_class, void* item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefetch_target
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 771
    functionName: tcmalloc_internal::subtle::percpu::PrefetchNextObject
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE PrefetchNextObject(\n    void* prefetch_target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:777,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:788,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:835,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:839,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:840,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:841,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:845,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:846,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 850
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - PrefetchSlabMemory
    - PrefetchNextObject
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:857,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:869,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:912,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:926,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:930,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:931,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 935
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - PrefetchNextObject
    - absl::countr_zero
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 943
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:950,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:952,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:953,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:954,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:955,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:959,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - max_capacity
    argTypes:
    - int
    - size_t
    - size_t
    - absl::FunctionRef<size_t(uint8_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 947
    functionDepth: 2
    functionLinenumber: 947
    functionLinenumberEnd: 962
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<ssize_t>
    - load
    - StoreCurrentCpu
    - max_capacity
    - GetSlabsAndShift
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Grow(\n    int cpu, size_t size_class,
      size_t len,\n    absl::FunctionRef<size_t(uint8_t)> max_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:967,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:968,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 973
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> TcmallocSlab<NumClasses>::CacheCpuSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UncacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::UncacheCpuSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:993,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - size_class
    - batch
    - len
    argTypes:
    - size_t
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 995
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TSANReleaseBatch
    - TcmallocSlab_Internal_PushBatch
    - TC_ASSERT_NE
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::PushBatch(size_t size_class,\n                                                  void**
      batch, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1000,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1001,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1002,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1004,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1008,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - size_class
    - batch
    - len
    argTypes:
    - size_t
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1011
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - TcmallocSlab_Internal_PopBatch
    - TC_ASSERT_LE
    - TSANAcquireBatch
    - ANNOTATE_MEMORY_IS_INITIALIZED
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::PopBatch(size_t size_class,\n                                                 void**
      batch, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slabs
    - shift
    - cpu
    argTypes:
    - void*
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1017
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 24
    functionsReached:
    - static_cast<char*>
    - ToUint8
    linkageType: ''
    returnType: void
    signature: "void * TcmallocSlab<NumClasses>::CpuMemoryStart(void* slabs, Shift
      shift,\n                                                      int cpu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1023,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - size_class
    argTypes:
    - void*
    - Shift
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1026
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 35
    functionsReached:
    - static_cast<AtomicHeader*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TC_ASSERT_NE
    linkageType: ''
    returnType: auto
    signature: "auto TcmallocSlab<NumClasses>::GetHeader(void* slabs, Shift shift,\n
      \                                               int cpu, size_t size_class)\n
      \   -> AtomicHeader*"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<Header>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    - Dst: AtomicHeader*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrp
    argTypes:
    - AtomicHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1031
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 31
    functionsReached:
    - absl::bit_cast<Header>
    - AtomicHeader*::load
    linkageType: ''
    returnType: auto
    signature: auto TcmallocSlab<NumClasses>::LoadHeader(AtomicHeader* hdrp) -> Header
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AtomicHeader*::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - hdr
    argTypes:
    - AtomicHeader*
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 20
    functionsReached:
    - AtomicHeader*::store
    - absl::bit_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::StoreHeader(AtomicHeader* hdrp,\n                                                  Header
      hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1045,1
    - Dst: std::atomic<bool>::atomic<bool>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1046,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - alloc
    - slabs
    - capacity
    - shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1040
    functionDepth: 2
    functionLinenumber: 1040
    functionLinenumberEnd: 1058
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - std::atomic<bool>::atomic<bool>
    - NumCPUs
    - store
    - alloc
    - static_cast<std::atomic<uint16_t>*>
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::Init(\n    absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc, void* slabs,\n    absl::FunctionRef<size_t(size_t)>
      capacity, Shift shift)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1063,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1068,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1078,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - slabs
    - shift
    - capacity
    argTypes:
    - void*
    - Shift
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1083
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 13
    functionsReached:
    - capacity
    - static_cast<uint16_t>
    - TC_BUG
    - ToUint8
    - TC_CHECK_EQ
    - store
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitSlabs(\n    void* slabs, Shift
      shift, absl::FunctionRef<size_t(size_t)> capacity)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1089,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - capacity
    argTypes:
    - int
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1091
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitCpu(\n    int cpu, absl::FunctionRef<size_t(size_t)>
      capacity)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1102,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1124,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1131,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - capacity
    argTypes:
    - void*
    - Shift
    - int
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1094
    functionDepth: 2
    functionLinenumber: 1094
    functionLinenumberEnd: 1136
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 13
    functionsReached:
    - load
    - capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - static_cast<uint16_t>
    - TC_BUG
    - ToUint8
    - reinterpret_cast<void**>
    - reinterpret_cast<char*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_CHECK_EQ
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - TC_CHECK_LE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitCpuImpl(\n    void* slabs, Shift
      shift, int cpu,\n    absl::FunctionRef<size_t(size_t)> capacity)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1141,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1145,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1146,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1148,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1151,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1152,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1140
    functionDepth: 2
    functionLinenumber: 1140
    functionLinenumberEnd: 1184
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 5
    functionsReached:
    - CompilerBarrier
    - load
    - StoreCurrentCpu
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - auto::Get
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> TcmallocSlab<NumClasses>::CacheCpuSlabSlow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1192,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1203,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1204,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - drain_handler
    argTypes:
    - void*
    - Shift
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1188
    functionDepth: 2
    functionLinenumber: 1188
    functionLinenumberEnd: 1209
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 4
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - TC_ASSERT
    - drain_handler
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::DrainCpu(void* slabs, Shift shift,
      int cpu,\n                                        DrainHandler drain_handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1218,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1228,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1229,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - slabs
    - shift
    - cpu
    - ' old_begins'
    - drain_handler
    argTypes:
    - void*
    - Shift
    - int
    - std::array<uint16_t, NumClasses>
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1234
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - drain_handler
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::DrainOldSlabs(\n    void* slabs, Shift
      shift, int cpu,\n    const std::array<uint16_t, NumClasses>& old_begins,\n    DrainHandler
      drain_handler)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1251,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1254,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1256,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1262,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1270,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1274,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1279,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1280,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 7
    argNames:
    - new_slabs
    - capacity
    - update_capacity
    - populated
    - drain_handler
    - new_max_capacity
    - classes_to_resize
    argTypes:
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - absl::FunctionRef<void(int, uint16_t)>
    - absl::FunctionRef<bool(size_t)>
    - DrainHandler
    - PerSizeClassMaxCapacity*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1237
    functionDepth: 3
    functionLinenumber: 1237
    functionLinenumberEnd: 1283
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - populated
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - load
    - update_capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - NumCPUs
    - store
    - FenceAllCpus
    - TC_CHECK
    linkageType: ''
    returnType: ResizeSlabsInfo
    signature: "ResizeSlabsInfo TcmallocSlab<NumClasses>::UpdateMaxCapacities(\n    void*
      new_slabs, absl::FunctionRef<size_t(size_t)> capacity,\n    absl::FunctionRef<void(int,
      uint16_t)> update_capacity,\n    absl::FunctionRef<bool(size_t)> populated,
      DrainHandler drain_handler,\n    PerSizeClassMaxCapacity* new_max_capacity,
      int classes_to_resize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1298,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1301,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1305,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1306,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1313,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1317,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1323,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - new_shift
    - new_slabs
    - capacity
    - populated
    - drain_handler
    argTypes:
    - Shift
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - absl::FunctionRef<bool(size_t)>
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1286
    functionDepth: 3
    functionLinenumber: 1286
    functionLinenumberEnd: 1327
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - populated
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - TC_ASSERT_NE
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - NumCPUs
    - store
    - FenceAllCpus
    - TC_CHECK
    linkageType: ''
    returnType: auto
    signature: "auto TcmallocSlab<NumClasses>::ResizeSlabs(\n    Shift new_shift,
      void* new_slabs,\n    absl::FunctionRef<size_t(size_t)> capacity,\n    absl::FunctionRef<bool(size_t)>
      populated, DrainHandler drain_handler)\n    -> ResizeSlabsInfo"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1335,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - free
    argTypes:
    - absl::FunctionRef<void(void*, size_t, std::align_val_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1342
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - NumCPUs
    - store
    - free
    linkageType: ''
    returnType: void
    signature: "void * TcmallocSlab<NumClasses>::Destroy(\n    absl::FunctionRef<void(void*,
      size_t, std::align_val_t)> free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1349,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1351,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1352,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1354,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - max_capacity
    argTypes:
    - int
    - size_t
    - size_t
    - absl::FunctionRef<size_t(uint8_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1358
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - max_capacity
    - GetSlabsAndShift
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::GrowOtherCache(\n    int cpu, size_t
      size_class, size_t len,\n    absl::FunctionRef<size_t(uint8_t)> max_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1364,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1367,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1373,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1375,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1379,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1384,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - shrink_handler
    argTypes:
    - int
    - size_t
    - size_t
    - ShrinkHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1361
    functionDepth: 2
    functionLinenumber: 1361
    functionLinenumberEnd: 1388
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - GetSlabsAndShift
    - shrink_handler
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::ShrinkOtherCache(\n    int cpu, size_t
      size_class, size_t len, ShrinkHandler shrink_handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - drain_handler
    argTypes:
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1391
    functionDepth: 3
    functionLinenumber: 1391
    functionLinenumberEnd: 1395
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::Drain(int cpu, DrainHandler drain_handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1401,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1403
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - NumCPUs
    - store
    - FenceCpu
    - TC_ASSERT
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StopCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1410
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - load
    - NumCPUs
    - store
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StartCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1415,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1417,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - NumCPUs
    - tcmalloc_internal::MInCore::residence
    linkageType: ''
    returnType: PerCPUMetadataState
    signature: PerCPUMetadataState TcmallocSlab<NumClasses>::MetadataMemoryUsage()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shift
    argTypes:
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::subtle::percpu::ToUint8
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 10
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ToUint8(Shift shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: tcmalloc_internal::subtle::percpu::ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - shift
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::subtle::percpu::ToShiftType
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 53
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToUint8
    - TC_ASSERT_EQ
    - static_cast<Shift>
    linkageType: ''
    returnType: Shift
    signature: Shift ToShiftType(size_t shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    - Dst: tcmalloc_internal::subtle::percpu::ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - shift
    - num_cpus
    argTypes:
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 17
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToUint8
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t GetSlabsAllocSize(Shift shift, int num_cpus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::TcmallocSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    - ToUint8
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetShift() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlabsAndShift() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - slabs
    - shift
    argTypes:
    - void*
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - TC_ASSERT_EQ
    - ToUint8
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void SlabsAndShift(const void* slabs, Shift shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:316,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - static_cast<Shift>
    linkageType: ''
    returnType: std::pair<void*, Shift>
    signature: std::pair<void*, Shift> Get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlabsAndShift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: operator!=(const SlabsAndShift& other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const SlabsAndShift& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 6
    functionsReached:
    - load
    linkageType: ''
    returnType: std::pair<void*, Shift>
    signature: "std::pair<void*, Shift> GetSlabsAndShift(\n      std::memory_order
      order) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' slab'
    - cpu
    argTypes:
    - TcmallocSlab<NumClasses>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void ScopedSlabCpuStop(TcmallocSlab<NumClasses>& slab, int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: ~ScopedSlabCpuStop()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - StartCpu
    linkageType: ''
    returnType: void
    signature: void ~ScopedSlabCpuStop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedSlabCpuStop(const ScopedSlabCpuStop&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: '& operator=(const ScopedSlabCpuStop&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedSlabCpuStop
    signature: ScopedSlabCpuStop & operator=(const ScopedSlabCpuStop&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:407,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:409,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::max<ssize_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Length(int cpu,\n                                               size_t
      size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:420,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::max<ssize_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Capacity(int cpu,\n                                                 size_t
      size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 499
    functionName: TCMALLOC_RSEQ_PROLOGUE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_PROLOGUE(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:554,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:572,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 592
    functionName: tcmalloc_internal::subtle::percpu::StoreCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<void* volatile*>
    - static_cast<uint64_t* volatile*>
    - static_cast<uint32_t* volatile*>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE StoreCurrentCpu(volatile void* p,\n                                                         T
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<void*>
    - PrefetchWT0
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE PrefetchSlabMemory(uintptr_t ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:613,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:652,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 661
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    - TCMALLOC_RSEQ_PROLOGUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab_Internal_Push(\n    size_t
      size_class, void* item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:674,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 731
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TCMALLOC_RSEQ_PROLOGUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab_Internal_Push(\n    size_t
      size_class, void* item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:737,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:738,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:744,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 750
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TSANRelease
    - TC_ASSERT_NE
    - reinterpret_cast<uintptr_t>
    - TcmallocSlab_Internal_Push
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab<NumClasses>::Push(\n    size_t
      size_class, void* item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefetch_target
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 771
    functionName: tcmalloc_internal::subtle::percpu::PrefetchNextObject
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE PrefetchNextObject(\n    void* prefetch_target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:777,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:788,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:835,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:839,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:840,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:841,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:845,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:846,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 850
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - PrefetchSlabMemory
    - PrefetchNextObject
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:857,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:869,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:912,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:926,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:930,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:931,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 935
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - PrefetchNextObject
    - absl::countr_zero
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 943
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:950,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:952,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:953,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:954,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:955,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:959,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - max_capacity
    argTypes:
    - int
    - size_t
    - size_t
    - absl::FunctionRef<size_t(uint8_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 947
    functionDepth: 2
    functionLinenumber: 947
    functionLinenumberEnd: 962
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<ssize_t>
    - load
    - StoreCurrentCpu
    - max_capacity
    - GetSlabsAndShift
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Grow(\n    int cpu, size_t size_class,
      size_t len,\n    absl::FunctionRef<size_t(uint8_t)> max_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:967,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:968,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 973
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> TcmallocSlab<NumClasses>::CacheCpuSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UncacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::UncacheCpuSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:993,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - size_class
    - batch
    - len
    argTypes:
    - size_t
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 995
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TSANReleaseBatch
    - TcmallocSlab_Internal_PushBatch
    - TC_ASSERT_NE
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::PushBatch(size_t size_class,\n                                                  void**
      batch, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1000,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1001,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1002,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1004,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1008,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - size_class
    - batch
    - len
    argTypes:
    - size_t
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1011
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - TcmallocSlab_Internal_PopBatch
    - TC_ASSERT_LE
    - TSANAcquireBatch
    - ANNOTATE_MEMORY_IS_INITIALIZED
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::PopBatch(size_t size_class,\n                                                 void**
      batch, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slabs
    - shift
    - cpu
    argTypes:
    - void*
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1017
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 30
    functionsReached:
    - static_cast<char*>
    - ToUint8
    linkageType: ''
    returnType: void
    signature: "void * TcmallocSlab<NumClasses>::CpuMemoryStart(void* slabs, Shift
      shift,\n                                                      int cpu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1023,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - size_class
    argTypes:
    - void*
    - Shift
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1026
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 43
    functionsReached:
    - static_cast<AtomicHeader*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TC_ASSERT_NE
    linkageType: ''
    returnType: auto
    signature: "auto TcmallocSlab<NumClasses>::GetHeader(void* slabs, Shift shift,\n
      \                                               int cpu, size_t size_class)\n
      \   -> AtomicHeader*"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<Header>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    - Dst: AtomicHeader*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrp
    argTypes:
    - AtomicHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1031
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 38
    functionsReached:
    - absl::bit_cast<Header>
    - AtomicHeader*::load
    linkageType: ''
    returnType: auto
    signature: auto TcmallocSlab<NumClasses>::LoadHeader(AtomicHeader* hdrp) -> Header
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AtomicHeader*::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - hdr
    argTypes:
    - AtomicHeader*
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 25
    functionsReached:
    - AtomicHeader*::store
    - absl::bit_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::StoreHeader(AtomicHeader* hdrp,\n                                                  Header
      hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1045,1
    - Dst: std::atomic<bool>::atomic<bool>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1046,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - alloc
    - slabs
    - capacity
    - shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1040
    functionDepth: 2
    functionLinenumber: 1040
    functionLinenumberEnd: 1058
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - std::atomic<bool>::atomic<bool>
    - NumCPUs
    - store
    - alloc
    - static_cast<std::atomic<uint16_t>*>
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::Init(\n    absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc, void* slabs,\n    absl::FunctionRef<size_t(size_t)>
      capacity, Shift shift)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1063,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1068,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1078,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - slabs
    - shift
    - capacity
    argTypes:
    - void*
    - Shift
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1083
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 16
    functionsReached:
    - capacity
    - static_cast<uint16_t>
    - TC_BUG
    - ToUint8
    - TC_CHECK_EQ
    - store
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitSlabs(\n    void* slabs, Shift
      shift, absl::FunctionRef<size_t(size_t)> capacity)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1089,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - capacity
    argTypes:
    - int
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1091
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitCpu(\n    int cpu, absl::FunctionRef<size_t(size_t)>
      capacity)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1102,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1124,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1131,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - capacity
    argTypes:
    - void*
    - Shift
    - int
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1094
    functionDepth: 2
    functionLinenumber: 1094
    functionLinenumberEnd: 1136
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 16
    functionsReached:
    - load
    - capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - static_cast<uint16_t>
    - TC_BUG
    - ToUint8
    - reinterpret_cast<void**>
    - reinterpret_cast<char*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_CHECK_EQ
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - TC_CHECK_LE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitCpuImpl(\n    void* slabs, Shift
      shift, int cpu,\n    absl::FunctionRef<size_t(size_t)> capacity)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1141,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1145,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1146,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1148,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1151,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1152,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1140
    functionDepth: 2
    functionLinenumber: 1140
    functionLinenumberEnd: 1184
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 6
    functionsReached:
    - CompilerBarrier
    - load
    - StoreCurrentCpu
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - auto::Get
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> TcmallocSlab<NumClasses>::CacheCpuSlabSlow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1192,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1203,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1204,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - drain_handler
    argTypes:
    - void*
    - Shift
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1188
    functionDepth: 2
    functionLinenumber: 1188
    functionLinenumberEnd: 1209
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 5
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - TC_ASSERT
    - drain_handler
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::DrainCpu(void* slabs, Shift shift,
      int cpu,\n                                        DrainHandler drain_handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1218,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1228,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1229,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - slabs
    - shift
    - cpu
    - ' old_begins'
    - drain_handler
    argTypes:
    - void*
    - Shift
    - int
    - std::array<uint16_t, NumClasses>
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1234
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 10
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - drain_handler
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::DrainOldSlabs(\n    void* slabs, Shift
      shift, int cpu,\n    const std::array<uint16_t, NumClasses>& old_begins,\n    DrainHandler
      drain_handler)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1251,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1254,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1256,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1262,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1270,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1274,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1279,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1280,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 7
    argNames:
    - new_slabs
    - capacity
    - update_capacity
    - populated
    - drain_handler
    - new_max_capacity
    - classes_to_resize
    argTypes:
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - absl::FunctionRef<void(int, uint16_t)>
    - absl::FunctionRef<bool(size_t)>
    - DrainHandler
    - PerSizeClassMaxCapacity*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1237
    functionDepth: 3
    functionLinenumber: 1237
    functionLinenumberEnd: 1283
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - populated
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - load
    - update_capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - NumCPUs
    - store
    - FenceAllCpus
    - TC_CHECK
    linkageType: ''
    returnType: ResizeSlabsInfo
    signature: "ResizeSlabsInfo TcmallocSlab<NumClasses>::UpdateMaxCapacities(\n    void*
      new_slabs, absl::FunctionRef<size_t(size_t)> capacity,\n    absl::FunctionRef<void(int,
      uint16_t)> update_capacity,\n    absl::FunctionRef<bool(size_t)> populated,
      DrainHandler drain_handler,\n    PerSizeClassMaxCapacity* new_max_capacity,
      int classes_to_resize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1298,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1301,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1305,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1306,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1313,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1317,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1323,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - new_shift
    - new_slabs
    - capacity
    - populated
    - drain_handler
    argTypes:
    - Shift
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - absl::FunctionRef<bool(size_t)>
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1286
    functionDepth: 3
    functionLinenumber: 1286
    functionLinenumberEnd: 1327
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - populated
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - TC_ASSERT_NE
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - NumCPUs
    - store
    - FenceAllCpus
    - TC_CHECK
    linkageType: ''
    returnType: auto
    signature: "auto TcmallocSlab<NumClasses>::ResizeSlabs(\n    Shift new_shift,
      void* new_slabs,\n    absl::FunctionRef<size_t(size_t)> capacity,\n    absl::FunctionRef<bool(size_t)>
      populated, DrainHandler drain_handler)\n    -> ResizeSlabsInfo"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1335,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - free
    argTypes:
    - absl::FunctionRef<void(void*, size_t, std::align_val_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1342
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - NumCPUs
    - store
    - free
    linkageType: ''
    returnType: void
    signature: "void * TcmallocSlab<NumClasses>::Destroy(\n    absl::FunctionRef<void(void*,
      size_t, std::align_val_t)> free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1349,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1351,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1352,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1354,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - max_capacity
    argTypes:
    - int
    - size_t
    - size_t
    - absl::FunctionRef<size_t(uint8_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1358
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - max_capacity
    - GetSlabsAndShift
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::GrowOtherCache(\n    int cpu, size_t
      size_class, size_t len,\n    absl::FunctionRef<size_t(uint8_t)> max_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1364,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1367,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1373,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1375,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1379,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1384,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - shrink_handler
    argTypes:
    - int
    - size_t
    - size_t
    - ShrinkHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1361
    functionDepth: 2
    functionLinenumber: 1361
    functionLinenumberEnd: 1388
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - GetSlabsAndShift
    - shrink_handler
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::ShrinkOtherCache(\n    int cpu, size_t
      size_class, size_t len, ShrinkHandler shrink_handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - drain_handler
    argTypes:
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1391
    functionDepth: 3
    functionLinenumber: 1391
    functionLinenumberEnd: 1395
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::Drain(int cpu, DrainHandler drain_handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1401,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1403
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - NumCPUs
    - store
    - FenceCpu
    - TC_ASSERT
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StopCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1410
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - load
    - NumCPUs
    - store
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StartCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1415,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1417,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - NumCPUs
    - tcmalloc_internal::MInCore::residence
    linkageType: ''
    returnType: PerCPUMetadataState
    signature: PerCPUMetadataState TcmallocSlab<NumClasses>::MetadataMemoryUsage()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shift
    argTypes:
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::subtle::percpu::ToUint8
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 12
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ToUint8(Shift shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: tcmalloc_internal::subtle::percpu::ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - shift
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::subtle::percpu::ToShiftType
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 53
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToUint8
    - TC_ASSERT_EQ
    - static_cast<Shift>
    linkageType: ''
    returnType: Shift
    signature: Shift ToShiftType(size_t shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    - Dst: tcmalloc_internal::subtle::percpu::ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - shift
    - num_cpus
    argTypes:
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 17
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToUint8
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t GetSlabsAllocSize(Shift shift, int num_cpus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::TcmallocSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    - ToUint8
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetShift() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlabsAndShift() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - slabs
    - shift
    argTypes:
    - void*
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - TC_ASSERT_EQ
    - ToUint8
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void SlabsAndShift(const void* slabs, Shift shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:316,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - static_cast<Shift>
    linkageType: ''
    returnType: std::pair<void*, Shift>
    signature: std::pair<void*, Shift> Get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlabsAndShift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: operator!=(const SlabsAndShift& other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const SlabsAndShift& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 7
    functionsReached:
    - load
    linkageType: ''
    returnType: std::pair<void*, Shift>
    signature: "std::pair<void*, Shift> GetSlabsAndShift(\n      std::memory_order
      order) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' slab'
    - cpu
    argTypes:
    - TcmallocSlab<NumClasses>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void ScopedSlabCpuStop(TcmallocSlab<NumClasses>& slab, int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: ~ScopedSlabCpuStop()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - StartCpu
    linkageType: ''
    returnType: void
    signature: void ~ScopedSlabCpuStop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedSlabCpuStop(const ScopedSlabCpuStop&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: '& operator=(const ScopedSlabCpuStop&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedSlabCpuStop
    signature: ScopedSlabCpuStop & operator=(const ScopedSlabCpuStop&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:407,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:409,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::max<ssize_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Length(int cpu,\n                                               size_t
      size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:420,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::max<ssize_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Capacity(int cpu,\n                                                 size_t
      size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 499
    functionName: TCMALLOC_RSEQ_PROLOGUE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_PROLOGUE(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:554,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:572,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 592
    functionName: tcmalloc_internal::subtle::percpu::StoreCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<void* volatile*>
    - static_cast<uint64_t* volatile*>
    - static_cast<uint32_t* volatile*>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE StoreCurrentCpu(volatile void* p,\n                                                         T
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<void*>
    - PrefetchWT0
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE PrefetchSlabMemory(uintptr_t ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:613,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:652,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 661
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    - TCMALLOC_RSEQ_PROLOGUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab_Internal_Push(\n    size_t
      size_class, void* item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:674,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 731
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TCMALLOC_RSEQ_PROLOGUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab_Internal_Push(\n    size_t
      size_class, void* item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:737,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:738,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:744,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 750
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TSANRelease
    - TC_ASSERT_NE
    - reinterpret_cast<uintptr_t>
    - TcmallocSlab_Internal_Push
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab<NumClasses>::Push(\n    size_t
      size_class, void* item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefetch_target
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 771
    functionName: tcmalloc_internal::subtle::percpu::PrefetchNextObject
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE PrefetchNextObject(\n    void* prefetch_target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:777,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:788,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:835,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:839,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:840,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:841,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:845,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:846,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 850
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - PrefetchSlabMemory
    - PrefetchNextObject
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:857,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:869,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:912,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:926,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:930,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:931,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 935
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - PrefetchNextObject
    - absl::countr_zero
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 943
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:950,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:952,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:953,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:954,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:955,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:959,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - max_capacity
    argTypes:
    - int
    - size_t
    - size_t
    - absl::FunctionRef<size_t(uint8_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 947
    functionDepth: 2
    functionLinenumber: 947
    functionLinenumberEnd: 962
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<ssize_t>
    - load
    - StoreCurrentCpu
    - max_capacity
    - GetSlabsAndShift
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Grow(\n    int cpu, size_t size_class,
      size_t len,\n    absl::FunctionRef<size_t(uint8_t)> max_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:967,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:968,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 973
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> TcmallocSlab<NumClasses>::CacheCpuSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UncacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::UncacheCpuSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:993,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - size_class
    - batch
    - len
    argTypes:
    - size_t
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 995
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TSANReleaseBatch
    - TcmallocSlab_Internal_PushBatch
    - TC_ASSERT_NE
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::PushBatch(size_t size_class,\n                                                  void**
      batch, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1000,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1001,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1002,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1004,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1008,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - size_class
    - batch
    - len
    argTypes:
    - size_t
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1011
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - TcmallocSlab_Internal_PopBatch
    - TC_ASSERT_LE
    - TSANAcquireBatch
    - ANNOTATE_MEMORY_IS_INITIALIZED
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::PopBatch(size_t size_class,\n                                                 void**
      batch, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slabs
    - shift
    - cpu
    argTypes:
    - void*
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1017
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 36
    functionsReached:
    - static_cast<char*>
    - ToUint8
    linkageType: ''
    returnType: void
    signature: "void * TcmallocSlab<NumClasses>::CpuMemoryStart(void* slabs, Shift
      shift,\n                                                      int cpu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1023,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - size_class
    argTypes:
    - void*
    - Shift
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1026
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 51
    functionsReached:
    - static_cast<AtomicHeader*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TC_ASSERT_NE
    linkageType: ''
    returnType: auto
    signature: "auto TcmallocSlab<NumClasses>::GetHeader(void* slabs, Shift shift,\n
      \                                               int cpu, size_t size_class)\n
      \   -> AtomicHeader*"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<Header>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    - Dst: AtomicHeader*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrp
    argTypes:
    - AtomicHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1031
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 45
    functionsReached:
    - absl::bit_cast<Header>
    - AtomicHeader*::load
    linkageType: ''
    returnType: auto
    signature: auto TcmallocSlab<NumClasses>::LoadHeader(AtomicHeader* hdrp) -> Header
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AtomicHeader*::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - hdr
    argTypes:
    - AtomicHeader*
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 30
    functionsReached:
    - AtomicHeader*::store
    - absl::bit_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::StoreHeader(AtomicHeader* hdrp,\n                                                  Header
      hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1045,1
    - Dst: std::atomic<bool>::atomic<bool>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1046,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - alloc
    - slabs
    - capacity
    - shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1040
    functionDepth: 2
    functionLinenumber: 1040
    functionLinenumberEnd: 1058
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - std::atomic<bool>::atomic<bool>
    - NumCPUs
    - store
    - alloc
    - static_cast<std::atomic<uint16_t>*>
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::Init(\n    absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc, void* slabs,\n    absl::FunctionRef<size_t(size_t)>
      capacity, Shift shift)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1063,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1068,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1078,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - slabs
    - shift
    - capacity
    argTypes:
    - void*
    - Shift
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1083
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 19
    functionsReached:
    - capacity
    - static_cast<uint16_t>
    - TC_BUG
    - ToUint8
    - TC_CHECK_EQ
    - store
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitSlabs(\n    void* slabs, Shift
      shift, absl::FunctionRef<size_t(size_t)> capacity)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1089,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - capacity
    argTypes:
    - int
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1091
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitCpu(\n    int cpu, absl::FunctionRef<size_t(size_t)>
      capacity)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1102,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1124,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1131,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - capacity
    argTypes:
    - void*
    - Shift
    - int
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1094
    functionDepth: 2
    functionLinenumber: 1094
    functionLinenumberEnd: 1136
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 19
    functionsReached:
    - load
    - capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - static_cast<uint16_t>
    - TC_BUG
    - ToUint8
    - reinterpret_cast<void**>
    - reinterpret_cast<char*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_CHECK_EQ
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - TC_CHECK_LE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitCpuImpl(\n    void* slabs, Shift
      shift, int cpu,\n    absl::FunctionRef<size_t(size_t)> capacity)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1141,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1145,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1146,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1148,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1151,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1152,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1140
    functionDepth: 2
    functionLinenumber: 1140
    functionLinenumberEnd: 1184
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 7
    functionsReached:
    - CompilerBarrier
    - load
    - StoreCurrentCpu
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - auto::Get
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> TcmallocSlab<NumClasses>::CacheCpuSlabSlow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1192,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1203,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1204,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - drain_handler
    argTypes:
    - void*
    - Shift
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1188
    functionDepth: 2
    functionLinenumber: 1188
    functionLinenumberEnd: 1209
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 6
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - TC_ASSERT
    - drain_handler
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::DrainCpu(void* slabs, Shift shift,
      int cpu,\n                                        DrainHandler drain_handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1218,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1228,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1229,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - slabs
    - shift
    - cpu
    - ' old_begins'
    - drain_handler
    argTypes:
    - void*
    - Shift
    - int
    - std::array<uint16_t, NumClasses>
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1234
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - drain_handler
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::DrainOldSlabs(\n    void* slabs, Shift
      shift, int cpu,\n    const std::array<uint16_t, NumClasses>& old_begins,\n    DrainHandler
      drain_handler)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1251,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1254,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1256,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1262,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1270,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1274,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1279,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1280,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 7
    argNames:
    - new_slabs
    - capacity
    - update_capacity
    - populated
    - drain_handler
    - new_max_capacity
    - classes_to_resize
    argTypes:
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - absl::FunctionRef<void(int, uint16_t)>
    - absl::FunctionRef<bool(size_t)>
    - DrainHandler
    - PerSizeClassMaxCapacity*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1237
    functionDepth: 3
    functionLinenumber: 1237
    functionLinenumberEnd: 1283
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - populated
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - load
    - update_capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - NumCPUs
    - store
    - FenceAllCpus
    - TC_CHECK
    linkageType: ''
    returnType: ResizeSlabsInfo
    signature: "ResizeSlabsInfo TcmallocSlab<NumClasses>::UpdateMaxCapacities(\n    void*
      new_slabs, absl::FunctionRef<size_t(size_t)> capacity,\n    absl::FunctionRef<void(int,
      uint16_t)> update_capacity,\n    absl::FunctionRef<bool(size_t)> populated,
      DrainHandler drain_handler,\n    PerSizeClassMaxCapacity* new_max_capacity,
      int classes_to_resize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1298,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1301,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1305,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1306,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1313,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1317,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1323,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - new_shift
    - new_slabs
    - capacity
    - populated
    - drain_handler
    argTypes:
    - Shift
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - absl::FunctionRef<bool(size_t)>
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1286
    functionDepth: 3
    functionLinenumber: 1286
    functionLinenumberEnd: 1327
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - populated
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - TC_ASSERT_NE
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - NumCPUs
    - store
    - FenceAllCpus
    - TC_CHECK
    linkageType: ''
    returnType: auto
    signature: "auto TcmallocSlab<NumClasses>::ResizeSlabs(\n    Shift new_shift,
      void* new_slabs,\n    absl::FunctionRef<size_t(size_t)> capacity,\n    absl::FunctionRef<bool(size_t)>
      populated, DrainHandler drain_handler)\n    -> ResizeSlabsInfo"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1335,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - free
    argTypes:
    - absl::FunctionRef<void(void*, size_t, std::align_val_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1342
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - NumCPUs
    - store
    - free
    linkageType: ''
    returnType: void
    signature: "void * TcmallocSlab<NumClasses>::Destroy(\n    absl::FunctionRef<void(void*,
      size_t, std::align_val_t)> free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1349,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1351,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1352,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1354,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - max_capacity
    argTypes:
    - int
    - size_t
    - size_t
    - absl::FunctionRef<size_t(uint8_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1358
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - max_capacity
    - GetSlabsAndShift
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::GrowOtherCache(\n    int cpu, size_t
      size_class, size_t len,\n    absl::FunctionRef<size_t(uint8_t)> max_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1364,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1367,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1373,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1375,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1379,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1384,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - shrink_handler
    argTypes:
    - int
    - size_t
    - size_t
    - ShrinkHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1361
    functionDepth: 2
    functionLinenumber: 1361
    functionLinenumberEnd: 1388
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - GetSlabsAndShift
    - shrink_handler
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::ShrinkOtherCache(\n    int cpu, size_t
      size_class, size_t len, ShrinkHandler shrink_handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - drain_handler
    argTypes:
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1391
    functionDepth: 3
    functionLinenumber: 1391
    functionLinenumberEnd: 1395
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::Drain(int cpu, DrainHandler drain_handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1401,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1403
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - NumCPUs
    - store
    - FenceCpu
    - TC_ASSERT
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StopCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1410
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - load
    - NumCPUs
    - store
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StartCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1415,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1417,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - NumCPUs
    - tcmalloc_internal::MInCore::residence
    linkageType: ''
    returnType: PerCPUMetadataState
    signature: PerCPUMetadataState TcmallocSlab<NumClasses>::MetadataMemoryUsage()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shift
    argTypes:
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::subtle::percpu::ToUint8
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 14
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ToUint8(Shift shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: tcmalloc_internal::subtle::percpu::ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:75,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - shift
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: tcmalloc_internal::subtle::percpu::ToShiftType
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 53
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToUint8
    - TC_ASSERT_EQ
    - static_cast<Shift>
    linkageType: ''
    returnType: Shift
    signature: Shift ToShiftType(size_t shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    - Dst: tcmalloc_internal::subtle::percpu::ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - shift
    - num_cpus
    argTypes:
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 17
    functionsReached:
    - tcmalloc_internal::subtle::percpu::ToUint8
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t GetSlabsAllocSize(Shift shift, int num_cpus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::TcmallocSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    - ToUint8
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetShift() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlabsAndShift() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:304,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:305,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - slabs
    - shift
    argTypes:
    - void*
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - TC_ASSERT_EQ
    - ToUint8
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void SlabsAndShift(const void* slabs, Shift shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:316,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - static_cast<Shift>
    linkageType: ''
    returnType: std::pair<void*, Shift>
    signature: std::pair<void*, Shift> Get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlabsAndShift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: operator!=(const SlabsAndShift& other) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const SlabsAndShift& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 8
    functionsReached:
    - load
    linkageType: ''
    returnType: std::pair<void*, Shift>
    signature: "std::pair<void*, Shift> GetSlabsAndShift(\n      std::memory_order
      order) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' slab'
    - cpu
    argTypes:
    - TcmallocSlab<NumClasses>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - StopCpu
    linkageType: ''
    returnType: void
    signature: void ScopedSlabCpuStop(TcmallocSlab<NumClasses>& slab, int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: ~ScopedSlabCpuStop()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - StartCpu
    linkageType: ''
    returnType: void
    signature: void ~ScopedSlabCpuStop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedSlabCpuStop(const ScopedSlabCpuStop&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: '& operator=(const ScopedSlabCpuStop&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedSlabCpuStop
    signature: ScopedSlabCpuStop & operator=(const ScopedSlabCpuStop&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:407,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:409,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::max<ssize_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Length(int cpu,\n                                               size_t
      size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:419,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:420,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::max<ssize_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Capacity(int cpu,\n                                                 size_t
      size_class) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: TCMALLOC_RSEQ_SET_CS
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_SET_CS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 499
    functionName: TCMALLOC_RSEQ_PROLOGUE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCMALLOC_RSEQ_PROLOGUE(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:554,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:572,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 592
    functionName: tcmalloc_internal::subtle::percpu::StoreCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<void* volatile*>
    - static_cast<uint64_t* volatile*>
    - static_cast<uint32_t* volatile*>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE StoreCurrentCpu(volatile void* p,\n                                                         T
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 7
    functionsReached:
    - reinterpret_cast<void*>
    - PrefetchWT0
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE PrefetchSlabMemory(uintptr_t ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:613,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:652,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 661
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    - TCMALLOC_RSEQ_PROLOGUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab_Internal_Push(\n    size_t
      size_class, void* item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:674,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 731
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TCMALLOC_RSEQ_PROLOGUE
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab_Internal_Push(\n    size_t
      size_class, void* item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:737,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:738,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:739,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:744,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 750
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TSANRelease
    - TC_ASSERT_NE
    - reinterpret_cast<uintptr_t>
    - TcmallocSlab_Internal_Push
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE TcmallocSlab<NumClasses>::Push(\n    size_t
      size_class, void* item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefetch_target
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 771
    functionName: tcmalloc_internal::subtle::percpu::PrefetchNextObject
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - __builtin_prefetch
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE PrefetchNextObject(\n    void* prefetch_target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:777,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:788,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:835,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:839,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:840,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:841,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:845,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:846,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 850
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - PrefetchSlabMemory
    - PrefetchNextObject
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:857,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:869,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:912,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:926,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:930,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:931,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 935
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - PrefetchNextObject
    - absl::countr_zero
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 943
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * TcmallocSlab<NumClasses>::Pop(\n    size_t
      size_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:950,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:951,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:952,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:953,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:954,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:955,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:959,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - max_capacity
    argTypes:
    - int
    - size_t
    - size_t
    - absl::FunctionRef<size_t(uint8_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 947
    functionDepth: 2
    functionLinenumber: 947
    functionLinenumberEnd: 962
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<ssize_t>
    - load
    - StoreCurrentCpu
    - max_capacity
    - GetSlabsAndShift
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::Grow(\n    int cpu, size_t size_class,
      size_t len,\n    absl::FunctionRef<size_t(uint8_t)> max_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:967,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:968,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 973
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> TcmallocSlab<NumClasses>::CacheCpuSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UncacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::UncacheCpuSlab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:993,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - size_class
    - batch
    - len
    argTypes:
    - size_t
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 995
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TSANReleaseBatch
    - TcmallocSlab_Internal_PushBatch
    - TC_ASSERT_NE
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::PushBatch(size_t size_class,\n                                                  void**
      batch, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1000,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1001,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1002,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1004,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1008,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - size_class
    - batch
    - len
    argTypes:
    - size_t
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1011
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_NE
    - TcmallocSlab_Internal_PopBatch
    - TC_ASSERT_LE
    - TSANAcquireBatch
    - ANNOTATE_MEMORY_IS_INITIALIZED
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::PopBatch(size_t size_class,\n                                                 void**
      batch, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slabs
    - shift
    - cpu
    argTypes:
    - void*
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1017
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 42
    functionsReached:
    - static_cast<char*>
    - ToUint8
    linkageType: ''
    returnType: void
    signature: "void * TcmallocSlab<NumClasses>::CpuMemoryStart(void* slabs, Shift
      shift,\n                                                      int cpu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1023,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - size_class
    argTypes:
    - void*
    - Shift
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1026
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 59
    functionsReached:
    - static_cast<AtomicHeader*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TC_ASSERT_NE
    linkageType: ''
    returnType: auto
    signature: "auto TcmallocSlab<NumClasses>::GetHeader(void* slabs, Shift shift,\n
      \                                               int cpu, size_t size_class)\n
      \   -> AtomicHeader*"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<Header>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    - Dst: AtomicHeader*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrp
    argTypes:
    - AtomicHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1031
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 52
    functionsReached:
    - absl::bit_cast<Header>
    - AtomicHeader*::load
    linkageType: ''
    returnType: auto
    signature: auto TcmallocSlab<NumClasses>::LoadHeader(AtomicHeader* hdrp) -> Header
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AtomicHeader*::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - hdr
    argTypes:
    - AtomicHeader*
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 35
    functionsReached:
    - AtomicHeader*::store
    - absl::bit_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::StoreHeader(AtomicHeader* hdrp,\n                                                  Header
      hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1045,1
    - Dst: std::atomic<bool>::atomic<bool>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1046,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1049,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - alloc
    - slabs
    - capacity
    - shift
    argTypes:
    - absl::FunctionRef<void*(size_t, std::align_val_t)>
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1040
    functionDepth: 2
    functionLinenumber: 1040
    functionLinenumberEnd: 1058
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - std::atomic<bool>::atomic<bool>
    - NumCPUs
    - store
    - alloc
    - static_cast<std::atomic<uint16_t>*>
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::Init(\n    absl::FunctionRef<void*(size_t,
      std::align_val_t)> alloc, void* slabs,\n    absl::FunctionRef<size_t(size_t)>
      capacity, Shift shift)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1063,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1068,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1069,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1078,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - slabs
    - shift
    - capacity
    argTypes:
    - void*
    - Shift
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1083
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 22
    functionsReached:
    - capacity
    - static_cast<uint16_t>
    - TC_BUG
    - ToUint8
    - TC_CHECK_EQ
    - store
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitSlabs(\n    void* slabs, Shift
      shift, absl::FunctionRef<size_t(size_t)> capacity)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1089,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - capacity
    argTypes:
    - int
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1091
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitCpu(\n    int cpu, absl::FunctionRef<size_t(size_t)>
      capacity)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1097,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1102,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1104,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1117,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1124,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1130,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1131,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - capacity
    argTypes:
    - void*
    - Shift
    - int
    - absl::FunctionRef<size_t(size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1094
    functionDepth: 2
    functionLinenumber: 1094
    functionLinenumberEnd: 1136
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 22
    functionsReached:
    - load
    - capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - static_cast<uint16_t>
    - TC_BUG
    - ToUint8
    - reinterpret_cast<void**>
    - reinterpret_cast<char*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_CHECK_EQ
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - TC_CHECK_LE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::InitCpuImpl(\n    void* slabs, Shift
      shift, int cpu,\n    absl::FunctionRef<size_t(size_t)> capacity)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1141,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1145,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1146,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1148,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1151,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1152,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1140
    functionDepth: 2
    functionLinenumber: 1140
    functionLinenumberEnd: 1184
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 8
    functionsReached:
    - CompilerBarrier
    - load
    - StoreCurrentCpu
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - auto::Get
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    linkageType: ''
    returnType: std::pair<int, bool>
    signature: std::pair<int, bool> TcmallocSlab<NumClasses>::CacheCpuSlabSlow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1190,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1192,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1202,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1203,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1204,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - slabs
    - shift
    - cpu
    - drain_handler
    argTypes:
    - void*
    - Shift
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1188
    functionDepth: 2
    functionLinenumber: 1188
    functionLinenumberEnd: 1209
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 7
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - TC_ASSERT
    - drain_handler
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::DrainCpu(void* slabs, Shift shift,
      int cpu,\n                                        DrainHandler drain_handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1218,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1227,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1228,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1229,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - slabs
    - shift
    - cpu
    - ' old_begins'
    - drain_handler
    argTypes:
    - void*
    - Shift
    - int
    - std::array<uint16_t, NumClasses>
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1234
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 14
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - drain_handler
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::DrainOldSlabs(\n    void* slabs, Shift
      shift, int cpu,\n    const std::array<uint16_t, NumClasses>& old_begins,\n    DrainHandler
      drain_handler)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1248,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1251,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1253,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1254,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1256,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1262,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1270,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1274,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1279,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1280,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 7
    argNames:
    - new_slabs
    - capacity
    - update_capacity
    - populated
    - drain_handler
    - new_max_capacity
    - classes_to_resize
    argTypes:
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - absl::FunctionRef<void(int, uint16_t)>
    - absl::FunctionRef<bool(size_t)>
    - DrainHandler
    - PerSizeClassMaxCapacity*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1237
    functionDepth: 3
    functionLinenumber: 1237
    functionLinenumberEnd: 1283
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - populated
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - load
    - update_capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - NumCPUs
    - store
    - FenceAllCpus
    - TC_CHECK
    linkageType: ''
    returnType: ResizeSlabsInfo
    signature: "ResizeSlabsInfo TcmallocSlab<NumClasses>::UpdateMaxCapacities(\n    void*
      new_slabs, absl::FunctionRef<size_t(size_t)> capacity,\n    absl::FunctionRef<void(int,
      uint16_t)> update_capacity,\n    absl::FunctionRef<bool(size_t)> populated,
      DrainHandler drain_handler,\n    PerSizeClassMaxCapacity* new_max_capacity,
      int classes_to_resize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1298,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1301,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1304,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1305,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1306,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1313,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1317,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1323,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - new_shift
    - new_slabs
    - capacity
    - populated
    - drain_handler
    argTypes:
    - Shift
    - void*
    - absl::FunctionRef<size_t(size_t)>
    - absl::FunctionRef<bool(size_t)>
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1286
    functionDepth: 3
    functionLinenumber: 1286
    functionLinenumberEnd: 1327
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - populated
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - TC_ASSERT_NE
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - NumCPUs
    - store
    - FenceAllCpus
    - TC_CHECK
    linkageType: ''
    returnType: auto
    signature: "auto TcmallocSlab<NumClasses>::ResizeSlabs(\n    Shift new_shift,
      void* new_slabs,\n    absl::FunctionRef<size_t(size_t)> capacity,\n    absl::FunctionRef<bool(size_t)>
      populated, DrainHandler drain_handler)\n    -> ResizeSlabsInfo"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1332,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1335,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1339,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - free
    argTypes:
    - absl::FunctionRef<void(void*, size_t, std::align_val_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1342
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - NumCPUs
    - store
    - free
    linkageType: ''
    returnType: void
    signature: "void * TcmallocSlab<NumClasses>::Destroy(\n    absl::FunctionRef<void(void*,
      size_t, std::align_val_t)> free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1348,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1349,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1351,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1352,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1354,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - max_capacity
    argTypes:
    - int
    - size_t
    - size_t
    - absl::FunctionRef<size_t(uint8_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1358
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - max_capacity
    - GetSlabsAndShift
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::GrowOtherCache(\n    int cpu, size_t
      size_class, size_t len,\n    absl::FunctionRef<size_t(uint8_t)> max_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1364,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1367,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1373,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1375,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1376,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1379,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1384,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cpu
    - size_class
    - len
    - shrink_handler
    argTypes:
    - int
    - size_t
    - size_t
    - ShrinkHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1361
    functionDepth: 2
    functionLinenumber: 1361
    functionLinenumberEnd: 1388
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - GetSlabsAndShift
    - shrink_handler
    - reinterpret_cast<void**>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TSANAcquireBatch
    - TC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab<NumClasses>::ShrinkOtherCache(\n    int cpu, size_t
      size_class, size_t len, ShrinkHandler shrink_handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - drain_handler
    argTypes:
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1391
    functionDepth: 3
    functionLinenumber: 1391
    functionLinenumberEnd: 1395
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAndShift
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::Drain(int cpu, DrainHandler drain_handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1400,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1401,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1403
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - load
    - NumCPUs
    - store
    - FenceCpu
    - TC_ASSERT
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StopCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1408,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1410
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - load
    - NumCPUs
    - store
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StartCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1415,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1417,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - GetSlabsAllocSize
    - GetSlabsAndShift
    - NumCPUs
    - tcmalloc_internal::MInCore::residence
    linkageType: ''
    returnType: PerCPUMetadataState
    signature: PerCPUMetadataState TcmallocSlab<NumClasses>::MetadataMemoryUsage()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchNta
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:26,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchNta
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT2
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT2
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityLow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT1
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT1
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityMedium)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT0
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT0
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityHigh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchW
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, PrefetchForWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWNta
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWNta
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT2
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT2
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityLow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT1
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT1
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityMedium)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT0
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityHigh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchNta
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:26,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchNta
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT2
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT2
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityLow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT1
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT1
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityMedium)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT0
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT0
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityHigh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchW
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, PrefetchForWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWNta
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWNta
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT2
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT2
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityLow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT1
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT1
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityMedium)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT0
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityHigh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchNta
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:26,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchNta
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT2
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT2
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityLow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT1
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT1
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityMedium)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT0
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT0
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityHigh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchW
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, PrefetchForWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWNta
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWNta
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT2
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT2
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityLow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT1
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT1
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityMedium)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT0
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityHigh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchNta
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:26,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchNta
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT2
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT2
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityLow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT1
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT1
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityMedium)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT0
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT0
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityHigh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchW
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, PrefetchForWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWNta
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWNta
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT2
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT2
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityLow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT1
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT1
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityMedium)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT0
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityHigh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchNta
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:26,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchNta
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT2
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT2
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityLow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT1
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT1
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityMedium)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT0
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT0
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityHigh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchW
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, PrefetchForWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWNta
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWNta
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT2
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT2
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityLow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT1
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT1
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityMedium)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT0
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityHigh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchNta
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:26,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchNta
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT2
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT2
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityLow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT1
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT1
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityMedium)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT0
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT0
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityHigh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchW
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, PrefetchForWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWNta
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWNta
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT2
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT2
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityLow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT1
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT1
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityMedium)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT0
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityHigh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchNta
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:26,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchNta
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT2
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT2
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityLow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT1
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT1
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityMedium)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT0
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT0
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityHigh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchW
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, PrefetchForWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWNta
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWNta
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT2
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT2
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityLow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT1
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT1
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityMedium)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT0
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityHigh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchNta
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:26,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchNta
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT2
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT2
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityLow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT1
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT1
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityMedium)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchT0
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchT0
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, TemporalLocalityHigh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchW
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, PrefetchForWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWNta
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWNta
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT2
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT2
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityLow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT1
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT1
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityMedium)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PrefetchWT0
    linkageType: ''
    returnType: void
    signature: void TEST(Prefetch, WriteTemporalLocalityHigh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::OsMInCore::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:35,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:49,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:51,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:66,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:66,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:80,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:81,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:81,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:109,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:110,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:110,1
    - Dst: residence_impl
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:129,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 133
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.cc
    functionUses: 0
    functionsReached:
    - std::min
    - GetPageSize
    - mincore
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - tcmalloc_internal::OsMInCore::mincore
    - residence_impl
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::OsMInCore::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - addr
    - length
    - result
    argTypes:
    - void*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: tcmalloc_internal::OsMInCore::mincore
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::OsMInCore::mincore
    linkageType: ''
    returnType: int
    signature: int mincore(void* addr, size_t length, unsigned char* result) final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~OsMInCore() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OsMInCore() override
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:49,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:51,1
    - Dst: MInCoreInterface*::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:66,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:66,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:80,1
    - Dst: MInCoreInterface*::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:81,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:81,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:109,1
    - Dst: MInCoreInterface*::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:110,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - addr
    - size
    - mincore
    argTypes:
    - void*
    - size_t
    - MInCoreInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 124
    functionName: tcmalloc_internal::MInCore::residence_impl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.cc
    functionUses: 0
    functionsReached:
    - GetPageSize
    - MInCoreInterface*::mincore
    - reinterpret_cast<uintptr_t>
    - std::min
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: size_t
    signature: "size_t MInCore::residence_impl(void* addr, size_t size,\n                               MInCoreInterface*
      mincore)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MInCore::residence_impl
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::MInCore::residence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.cc
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::MInCore::residence_impl
    linkageType: ''
    returnType: size_t
    signature: size_t MInCore::residence(void* addr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::OsMInCore::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - addr
    - length
    - result
    argTypes:
    - void*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: tcmalloc_internal::OsMInCore::mincore
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.cc
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::OsMInCore::mincore
    linkageType: ''
    returnType: int
    signature: int mincore(void* addr, size_t length, unsigned char* result) final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~OsMInCore() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OsMInCore() override
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:49,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:51,1
    - Dst: MInCoreInterface*::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:66,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:66,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:80,1
    - Dst: MInCoreInterface*::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:81,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:81,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:109,1
    - Dst: MInCoreInterface*::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:110,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - addr
    - size
    - mincore
    argTypes:
    - void*
    - size_t
    - MInCoreInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 124
    functionName: tcmalloc_internal::MInCore::residence_impl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.cc
    functionUses: 1
    functionsReached:
    - GetPageSize
    - MInCoreInterface*::mincore
    - reinterpret_cast<uintptr_t>
    - std::min
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: size_t
    signature: "size_t MInCore::residence_impl(void* addr, size_t size,\n                               MInCoreInterface*
      mincore)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MInCore::residence_impl
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: tcmalloc_internal::MInCore::residence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.cc
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::MInCore::residence_impl
    linkageType: ''
    returnType: size_t
    signature: size_t MInCore::residence(void* addr, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:28,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:29,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:32,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:33,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::ParseInput
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - ParseCpulist
    - memcpy
    - std::min
    linkageType: ''
    returnType: void
    signature: void ParseInput(const std::string& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:28,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:29,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:32,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:33,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::ParseInput
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - ParseCpulist
    - memcpy
    - std::min
    linkageType: ''
    returnType: void
    signature: void ParseInput(const std::string& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:28,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:29,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:32,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:33,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::ParseInput
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - ParseCpulist
    - memcpy
    - std::min
    linkageType: ''
    returnType: void
    signature: void ParseInput(const std::string& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:28,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:29,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:32,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:33,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::ParseInput
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - ParseCpulist
    - memcpy
    - std::min
    linkageType: ''
    returnType: void
    signature: void ParseInput(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_always_lock_free
      Src: /src/tcmalloc/tcmalloc/internal/atomic_danger.h:50,1
    - Dst: reinterpret_cast<IntType*>
      Src: /src/tcmalloc/tcmalloc/internal/atomic_danger.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 58
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_danger.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<IntType*>
    - __atomic_always_lock_free
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_always_lock_free
      Src: /src/tcmalloc/tcmalloc/internal/atomic_danger.h:50,1
    - Dst: reinterpret_cast<IntType*>
      Src: /src/tcmalloc/tcmalloc/internal/atomic_danger.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - atomic_for_syscall
    argTypes:
    - std::atomic<IntType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: tcmalloc_internal::atomic_danger::CastToIntegral
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_danger.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<IntType*>
    - __atomic_always_lock_free
    linkageType: ''
    returnType: IntType
    signature: IntType * CastToIntegral(std::atomic<IntType>* atomic_for_syscall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_always_lock_free
      Src: /src/tcmalloc/tcmalloc/internal/atomic_danger.h:50,1
    - Dst: reinterpret_cast<IntType*>
      Src: /src/tcmalloc/tcmalloc/internal/atomic_danger.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - atomic_for_syscall
    argTypes:
    - std::atomic<IntType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: tcmalloc_internal::atomic_danger::CastToIntegral
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_danger.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<IntType*>
    - __atomic_always_lock_free
    linkageType: ''
    returnType: IntType
    signature: IntType * CastToIntegral(std::atomic<IntType>* atomic_for_syscall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_always_lock_free
      Src: /src/tcmalloc/tcmalloc/internal/atomic_danger.h:50,1
    - Dst: reinterpret_cast<IntType*>
      Src: /src/tcmalloc/tcmalloc/internal/atomic_danger.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - atomic_for_syscall
    argTypes:
    - std::atomic<IntType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: tcmalloc_internal::atomic_danger::CastToIntegral
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_danger.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<IntType*>
    - __atomic_always_lock_free
    linkageType: ''
    returnType: IntType
    signature: IntType * CastToIntegral(std::atomic<IntType>* atomic_for_syscall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_always_lock_free
      Src: /src/tcmalloc/tcmalloc/internal/atomic_danger.h:50,1
    - Dst: reinterpret_cast<IntType*>
      Src: /src/tcmalloc/tcmalloc/internal/atomic_danger.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - atomic_for_syscall
    argTypes:
    - std::atomic<IntType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: tcmalloc_internal::atomic_danger::CastToIntegral
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/atomic_danger.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<IntType*>
    - __atomic_always_lock_free
    linkageType: ''
    returnType: IntType
    signature: IntType * CastToIntegral(std::atomic<IntType>* atomic_for_syscall)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MallocHook::AddNewHook
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:34,1
    - Dst: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:43,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:50,1
    - Dst: IsCooperative
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:64,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:65,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 78
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard.h
    functionUses: 0
    functionsReached:
    - IsCooperative
    - abort
    - MallocHook::AddNewHook
    - AllocationGuard::AllocationGuard
    - MallocHook::RemoveNewHook
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocHook::AddNewHook
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: AllocationGuard::AllocationGuard
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard.h
    functionUses: 27
    functionsReached:
    - MallocHook::AddNewHook
    linkageType: ''
    returnType: void
    signature: void AllocationGuard()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ~AllocationGuard()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard.h
    functionUses: 0
    functionsReached:
    - MallocHook::RemoveNewHook
    linkageType: ''
    returnType: void
    signature: void ~AllocationGuard()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - MallocHook::NewInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: AllocationGuard::Hook
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard.h
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void Hook(const MallocHook::NewInfo& info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsCooperative
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:64,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:65,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: AllocationGuardSpinLockHolder
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard.h
    functionUses: 0
    functionsReached:
    - abort
    - IsCooperative
    - AllocationGuard::AllocationGuard
    linkageType: ''
    returnType: class ABSL_SCOPED_LOCKABLE
    signature: class ABSL_SCOPED_LOCKABLE AllocationGuardSpinLockHolder
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsCooperative
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:64,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: ABSL_EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard.h
    functionUses: 0
    functionsReached:
    - abort
    - IsCooperative
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCK_FUNCTION(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ABSL_UNLOCK_FUNCTION
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ABSL_UNLOCK_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/page_size.cc:33,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/page_size.cc:35,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/page_size.cc:35,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/page_size.cc:37,1
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/internal/page_size.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 44
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/page_size.cc
    functionUses: 0
    functionsReached:
    - sysconf
    - absl::base_internal::LowLevelCallOnce
    - static_cast<size_t>
    - getpagesize
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/page_size.cc:33,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/page_size.cc:35,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/page_size.cc:35,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/page_size.cc:37,1
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/internal/page_size.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::GetPageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/page_size.cc
    functionUses: 22
    functionsReached:
    - sysconf
    - absl::base_internal::LowLevelCallOnce
    - static_cast<size_t>
    - getpagesize
    linkageType: ''
    returnType: size_t
    signature: size_t GetPageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/page_size.cc:33,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/page_size.cc:35,1
    - Dst: getpagesize
      Src: /src/tcmalloc/tcmalloc/internal/page_size.cc:35,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/page_size.cc:37,1
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/internal/page_size.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: tcmalloc_internal::GetPageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/page_size.cc
    functionUses: 22
    functionsReached:
    - sysconf
    - absl::base_internal::LowLevelCallOnce
    - static_cast<size_t>
    - getpagesize
    linkageType: ''
    returnType: size_t
    signature: size_t GetPageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:30,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:31,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:33,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:35,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:42,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::ParseBuildID
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - ElfW
    - tcmalloc::tcmalloc_internal::GetBuildId
    - size
    - reinterpret_cast<ElfW(Addr)>
    linkageType: ''
    returnType: void
    signature: void ParseBuildID(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:30,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:31,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:33,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:35,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:42,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::ParseBuildID
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - ElfW
    - tcmalloc::tcmalloc_internal::GetBuildId
    - size
    - reinterpret_cast<ElfW(Addr)>
    linkageType: ''
    returnType: void
    signature: void ParseBuildID(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:30,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:31,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:33,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:35,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:42,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::ParseBuildID
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - ElfW
    - tcmalloc::tcmalloc_internal::GetBuildId
    - size
    - reinterpret_cast<ElfW(Addr)>
    linkageType: ''
    returnType: void
    signature: void ParseBuildID(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:30,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:31,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:33,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:35,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:42,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::ParseBuildID
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - ElfW
    - tcmalloc::tcmalloc_internal::GetBuildId
    - size
    - reinterpret_cast<ElfW(Addr)>
    linkageType: ''
    returnType: void
    signature: void ParseBuildID(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 62
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: tcmalloc_internal::MInCoreInterface::MInCoreInterface
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MInCoreInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~MInCoreInterface()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MInCoreInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: tcmalloc_internal::MInCoreInterface::MInCoreInterface
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MInCoreInterface(const MInCoreInterface&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(const MInCoreInterface&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MInCoreInterface
    signature: MInCoreInterface & operator=(const MInCoreInterface&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::MInCore::MInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MInCore()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: tcmalloc_internal::MInCoreInterface::MInCoreInterface
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MInCoreInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~MInCoreInterface()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MInCoreInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: tcmalloc_internal::MInCoreInterface::MInCoreInterface
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MInCoreInterface(const MInCoreInterface&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(const MInCoreInterface&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MInCoreInterface
    signature: MInCoreInterface & operator=(const MInCoreInterface&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::MInCore::MInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MInCore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h:44,1
    - Dst: T::T
      Src: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h:44,1
    - Dst: reinterpret_cast<T&>
      Src: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 59
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T&>
    - std::forward<Args>
    - T::T
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h:44,1
    - Dst: T::T
      Src: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::ExplicitlyConstructed::Construct
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - T::T
    linkageType: ''
    returnType: void
    signature: void Construct(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T&>
      Src: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& get_mutable()'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T&>
    linkageType: ''
    returnType: T
    signature: T & get_mutable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::ExplicitlyConstructed::AlignedUnion
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignedUnion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h:44,1
    - Dst: T::T
      Src: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::ExplicitlyConstructed::Construct
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - T::T
    linkageType: ''
    returnType: void
    signature: void Construct(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T&>
      Src: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& get_mutable()'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T&>
    linkageType: ''
    returnType: T
    signature: T & get_mutable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::ExplicitlyConstructed::AlignedUnion
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignedUnion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: tcmalloc::tcmalloc_internal::MockSpan::MockSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mock_span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockSpan::MockSpan
      Src: /src/tcmalloc/tcmalloc/internal/mock_span.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tcmalloc::tcmalloc_internal::MockSpan::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mock_span.h
    functionUses: 24
    functionsReached:
    - MockSpan::MockSpan
    linkageType: ''
    returnType: MockSpan
    signature: MockSpan * New(int idx = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: tcmalloc::tcmalloc_internal::MockSpan::MockSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mock_span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockSpan::MockSpan
      Src: /src/tcmalloc/tcmalloc/internal/mock_span.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tcmalloc::tcmalloc_internal::MockSpan::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mock_span.h
    functionUses: 24
    functionsReached:
    - MockSpan::MockSpan
    linkageType: ''
    returnType: MockSpan
    signature: MockSpan * New(int idx = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: tcmalloc::tcmalloc_internal::MockSpan::MockSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mock_span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockSpan::MockSpan
      Src: /src/tcmalloc/tcmalloc/internal/mock_span.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tcmalloc::tcmalloc_internal::MockSpan::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mock_span.h
    functionUses: 24
    functionsReached:
    - MockSpan::MockSpan
    linkageType: ''
    returnType: MockSpan
    signature: MockSpan * New(int idx = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: tcmalloc::tcmalloc_internal::MockSpan::MockSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mock_span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockSpan::MockSpan
      Src: /src/tcmalloc/tcmalloc/internal/mock_span.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tcmalloc::tcmalloc_internal::MockSpan::New
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mock_span.h
    functionUses: 24
    functionsReached:
    - MockSpan::MockSpan
    linkageType: ''
    returnType: MockSpan
    signature: MockSpan * New(int idx = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestEntry
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Nil
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - TestEntry
    linkageType: ''
    returnType: TestEntry
    signature: TestEntry Nil()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Report(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:48,1
    - Dst: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:73,1
    - Dst: TimeSeriesTracker::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:75,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:76,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:76,1
    - Dst: TimeSeriesTracker::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:77,1
    - Dst: TimeSeriesTracker::Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:82,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:87,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:90,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:90,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:97,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - ElementsAre
    - TimeSeriesTracker::Iter
    - ASSERT_LT
    - EXPECT_THAT
    - EXPECT_GE
    - EXPECT_LE
    - TimeSeriesTracker::Report
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void TEST(TimeSeriesTest, CycleClock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:102,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:104,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:105,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:105,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:106,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:107,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:108,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:113,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:118,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:121,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:128,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:130,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:135,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:142,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:144,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:145,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:146,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:150,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:155,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:155,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:157,1
    - Dst: values_::empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:159,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:165,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:169,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:170,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:170,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:173,1
    - Dst: UpdateTimeBase
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:174,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:175,1
    - Dst: FAIL
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:181,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - IterBackwards
    - GetEpochAtOffset
    - FAIL
    - ElementsAre
    - EXPECT_EQ
    - ASSERT_LT
    - EXPECT_TRUE
    - values_::empty
    - UpdateTimeBase
    - Advance
    - EXPECT_THAT
    - Iter
    - Report
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeSeriesTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestEntry
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Nil
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - TestEntry
    linkageType: ''
    returnType: TestEntry
    signature: TestEntry Nil()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Report(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:48,1
    - Dst: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:73,1
    - Dst: TimeSeriesTracker::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:75,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:76,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:76,1
    - Dst: TimeSeriesTracker::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:77,1
    - Dst: TimeSeriesTracker::Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:82,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:87,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:90,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:90,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:97,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - ElementsAre
    - TimeSeriesTracker::Iter
    - ASSERT_LT
    - EXPECT_THAT
    - EXPECT_GE
    - EXPECT_LE
    - TimeSeriesTracker::Report
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void TEST(TimeSeriesTest, CycleClock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:102,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:104,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:105,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:105,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:106,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:107,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:108,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:113,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:118,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:121,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:128,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:130,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:135,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:142,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:144,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:145,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:146,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:150,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:155,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:155,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:157,1
    - Dst: values_::empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:159,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:165,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:169,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:170,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:170,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:173,1
    - Dst: UpdateTimeBase
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:174,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:175,1
    - Dst: FAIL
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:181,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - IterBackwards
    - GetEpochAtOffset
    - FAIL
    - ElementsAre
    - EXPECT_EQ
    - ASSERT_LT
    - EXPECT_TRUE
    - values_::empty
    - UpdateTimeBase
    - Advance
    - EXPECT_THAT
    - Iter
    - Report
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeSeriesTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestEntry
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Nil
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - TestEntry
    linkageType: ''
    returnType: TestEntry
    signature: TestEntry Nil()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Report(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:48,1
    - Dst: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:73,1
    - Dst: TimeSeriesTracker::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:75,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:76,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:76,1
    - Dst: TimeSeriesTracker::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:77,1
    - Dst: TimeSeriesTracker::Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:82,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:87,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:90,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:90,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:97,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - ElementsAre
    - TimeSeriesTracker::Iter
    - ASSERT_LT
    - EXPECT_THAT
    - EXPECT_GE
    - EXPECT_LE
    - TimeSeriesTracker::Report
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void TEST(TimeSeriesTest, CycleClock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:102,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:104,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:105,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:105,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:106,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:107,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:108,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:113,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:118,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:121,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:128,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:130,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:135,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:142,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:144,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:145,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:146,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:150,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:155,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:155,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:157,1
    - Dst: values_::empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:159,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:165,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:169,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:170,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:170,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:173,1
    - Dst: UpdateTimeBase
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:174,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:175,1
    - Dst: FAIL
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:181,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - IterBackwards
    - GetEpochAtOffset
    - FAIL
    - ElementsAre
    - EXPECT_EQ
    - ASSERT_LT
    - EXPECT_TRUE
    - values_::empty
    - UpdateTimeBase
    - Advance
    - EXPECT_THAT
    - Iter
    - Report
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeSeriesTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestEntry
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Nil
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - TestEntry
    linkageType: ''
    returnType: TestEntry
    signature: TestEntry Nil()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Report(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:48,1
    - Dst: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:73,1
    - Dst: TimeSeriesTracker::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:75,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:76,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:76,1
    - Dst: TimeSeriesTracker::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:77,1
    - Dst: TimeSeriesTracker::Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:82,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:87,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:90,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:90,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:97,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - ElementsAre
    - TimeSeriesTracker::Iter
    - ASSERT_LT
    - EXPECT_THAT
    - EXPECT_GE
    - EXPECT_LE
    - TimeSeriesTracker::Report
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void TEST(TimeSeriesTest, CycleClock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:102,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:104,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:105,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:105,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:106,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:107,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:108,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:113,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:118,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:121,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:128,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:130,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:135,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:142,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:144,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:145,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:146,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:150,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:155,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:155,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:157,1
    - Dst: values_::empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:159,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:165,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:169,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:170,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:170,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:173,1
    - Dst: UpdateTimeBase
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:174,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:175,1
    - Dst: FAIL
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:181,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - IterBackwards
    - GetEpochAtOffset
    - FAIL
    - ElementsAre
    - EXPECT_EQ
    - ASSERT_LT
    - EXPECT_TRUE
    - values_::empty
    - UpdateTimeBase
    - Advance
    - EXPECT_THAT
    - Iter
    - Report
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeSeriesTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestEntry
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Nil
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - TestEntry
    linkageType: ''
    returnType: TestEntry
    signature: TestEntry Nil()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Report(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:48,1
    - Dst: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:73,1
    - Dst: TimeSeriesTracker::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:75,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:76,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:76,1
    - Dst: TimeSeriesTracker::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:77,1
    - Dst: TimeSeriesTracker::Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:82,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:87,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:90,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:90,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:97,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - ElementsAre
    - TimeSeriesTracker::Iter
    - ASSERT_LT
    - EXPECT_THAT
    - EXPECT_GE
    - EXPECT_LE
    - TimeSeriesTracker::Report
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void TEST(TimeSeriesTest, CycleClock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:102,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:104,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:105,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:105,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:106,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:107,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:108,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:113,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:118,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:121,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:128,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:130,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:135,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:142,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:144,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:145,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:146,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:150,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:155,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:155,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:157,1
    - Dst: values_::empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:159,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:165,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:169,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:170,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:170,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:173,1
    - Dst: UpdateTimeBase
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:174,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:175,1
    - Dst: FAIL
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:181,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - IterBackwards
    - GetEpochAtOffset
    - FAIL
    - ElementsAre
    - EXPECT_EQ
    - ASSERT_LT
    - EXPECT_TRUE
    - values_::empty
    - UpdateTimeBase
    - Advance
    - EXPECT_THAT
    - Iter
    - Report
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeSeriesTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestEntry
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Nil
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - TestEntry
    linkageType: ''
    returnType: TestEntry
    signature: TestEntry Nil()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Report(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:48,1
    - Dst: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:73,1
    - Dst: TimeSeriesTracker::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:75,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:76,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:76,1
    - Dst: TimeSeriesTracker::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:77,1
    - Dst: TimeSeriesTracker::Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:82,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:87,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:90,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:90,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:97,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - ElementsAre
    - TimeSeriesTracker::Iter
    - ASSERT_LT
    - EXPECT_THAT
    - EXPECT_GE
    - EXPECT_LE
    - TimeSeriesTracker::Report
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void TEST(TimeSeriesTest, CycleClock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:102,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:104,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:105,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:105,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:106,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:107,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:108,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:113,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:118,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:121,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:128,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:130,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:135,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:142,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:144,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:145,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:146,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:150,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:155,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:155,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:157,1
    - Dst: values_::empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:159,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:165,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:169,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:170,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:170,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:173,1
    - Dst: UpdateTimeBase
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:174,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:175,1
    - Dst: FAIL
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:181,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - IterBackwards
    - GetEpochAtOffset
    - FAIL
    - ElementsAre
    - EXPECT_EQ
    - ASSERT_LT
    - EXPECT_TRUE
    - values_::empty
    - UpdateTimeBase
    - Advance
    - EXPECT_THAT
    - Iter
    - Report
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeSeriesTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestEntry
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Nil
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - TestEntry
    linkageType: ''
    returnType: TestEntry
    signature: TestEntry Nil()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Report(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:48,1
    - Dst: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:73,1
    - Dst: TimeSeriesTracker::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:75,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:76,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:76,1
    - Dst: TimeSeriesTracker::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:77,1
    - Dst: TimeSeriesTracker::Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:82,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:87,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:90,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:90,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:97,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - ElementsAre
    - TimeSeriesTracker::Iter
    - ASSERT_LT
    - EXPECT_THAT
    - EXPECT_GE
    - EXPECT_LE
    - TimeSeriesTracker::Report
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void TEST(TimeSeriesTest, CycleClock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:102,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:104,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:105,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:105,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:106,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:107,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:108,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:113,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:118,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:121,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:128,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:130,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:135,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:142,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:144,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:145,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:146,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:150,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:155,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:155,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:157,1
    - Dst: values_::empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:159,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:165,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:169,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:170,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:170,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:173,1
    - Dst: UpdateTimeBase
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:174,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:175,1
    - Dst: FAIL
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:181,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - IterBackwards
    - GetEpochAtOffset
    - FAIL
    - ElementsAre
    - EXPECT_EQ
    - ASSERT_LT
    - EXPECT_TRUE
    - values_::empty
    - UpdateTimeBase
    - Advance
    - EXPECT_THAT
    - Iter
    - Report
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeSeriesTrackerTest, Works)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestEntry
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Nil
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - TestEntry
    linkageType: ''
    returnType: TestEntry
    signature: TestEntry Nil()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Report(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:48,1
    - Dst: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
    - absl::ToDoubleSeconds
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double GetFakeClockFrequency()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:73,1
    - Dst: TimeSeriesTracker::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:75,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:76,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:76,1
    - Dst: TimeSeriesTracker::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:77,1
    - Dst: TimeSeriesTracker::Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:82,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:87,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:90,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:90,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:97,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - ElementsAre
    - TimeSeriesTracker::Iter
    - ASSERT_LT
    - EXPECT_THAT
    - EXPECT_GE
    - EXPECT_LE
    - TimeSeriesTracker::Report
    - absl::Milliseconds
    linkageType: ''
    returnType: void
    signature: void TEST(TimeSeriesTest, CycleClock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:102,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:104,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:105,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:105,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:106,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:107,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:108,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:113,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:118,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:121,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:128,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:130,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:135,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:142,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:144,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:145,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:146,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:150,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:155,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:155,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:157,1
    - Dst: values_::empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:159,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:165,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:168,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:169,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:170,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:170,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:173,1
    - Dst: UpdateTimeBase
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:174,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:175,1
    - Dst: FAIL
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:181,1
    - Dst: GetEpochAtOffset
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    functionUses: 0
    functionsReached:
    - IterBackwards
    - GetEpochAtOffset
    - FAIL
    - ElementsAre
    - EXPECT_EQ
    - ASSERT_LT
    - EXPECT_TRUE
    - values_::empty
    - UpdateTimeBase
    - Advance
    - EXPECT_THAT
    - Iter
    - Report
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeSeriesTrackerTest, Works)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:37,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:39,1
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:44,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:45,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:52,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:54,1
    - Dst: CpuSet::FindFirstSet
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:58,1
    - Dst: OpenSysfsCacheList
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:62,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:66,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:84,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:85,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:87,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:89,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:89,1
    - Dst: CLR
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:91,1
    - Dst: CpuSet::CLR
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:92,1
    - Dst: FindFirstSet
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:99,1
    - Dst: CLR
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:103,1
    - Dst: CpuSet::CLR
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 111
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - OpenSysfsCacheList
    - CpuSet::Set
    - signal_safe_close
    - std::optional::has_value
    - signal_safe_read
    - FindFirstSet
    - auto::has_value
    - TC_CHECK_EQ
    - ParseCpulist
    - CpuSet::Zero
    - NumCPUsMaybe
    - CLR
    - snprintf
    - TC_CHECK
    - CpuSet::FindFirstSet
    - CpuSet::CLR
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:37,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::OpenSysfsCacheList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - tcmalloc_internal::signal_safe_open
    linkageType: ''
    returnType: int
    signature: int OpenSysfsCacheList(size_t cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:37,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::OpenSysfsCacheList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - tcmalloc_internal::signal_safe_open
    linkageType: ''
    returnType: int
    signature: int OpenSysfsCacheList(size_t cpu)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:44,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:45,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:52,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:54,1
    - Dst: CpuSet::FindFirstSet
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:58,1
    - Dst: OpenSysfsCacheList
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:62,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:66,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:84,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:85,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:87,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:89,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:89,1
    - Dst: CLR
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:91,1
    - Dst: CpuSet::CLR
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:92,1
    - Dst: FindFirstSet
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:99,1
    - Dst: CLR
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:103,1
    - Dst: CpuSet::CLR
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::CacheTopology::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology.cc
    functionUses: 0
    functionsReached:
    - OpenSysfsCacheList
    - CpuSet::Set
    - signal_safe_close
    - std::optional::has_value
    - signal_safe_read
    - FindFirstSet
    - auto::has_value
    - TC_CHECK_EQ
    - ParseCpulist
    - CpuSet::Zero
    - NumCPUsMaybe
    - CLR
    - TC_CHECK
    - CpuSet::FindFirstSet
    - CpuSet::CLR
    linkageType: ''
    returnType: void
    signature: void CacheTopology::Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:37,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::OpenSysfsCacheList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - tcmalloc_internal::signal_safe_open
    linkageType: ''
    returnType: int
    signature: int OpenSysfsCacheList(size_t cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:37,1
    - Dst: tcmalloc_internal::signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::OpenSysfsCacheList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - tcmalloc_internal::signal_safe_open
    linkageType: ''
    returnType: int
    signature: int OpenSysfsCacheList(size_t cpu)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:44,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:45,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:52,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:54,1
    - Dst: CpuSet::FindFirstSet
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:58,1
    - Dst: OpenSysfsCacheList
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:62,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:66,1
    - Dst: ParseCpulist
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:84,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:85,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:87,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:89,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:89,1
    - Dst: CLR
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:91,1
    - Dst: CpuSet::CLR
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:92,1
    - Dst: FindFirstSet
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:99,1
    - Dst: CLR
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:103,1
    - Dst: CpuSet::CLR
      Src: /src/tcmalloc/tcmalloc/internal/cache_topology.cc:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::CacheTopology::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology.cc
    functionUses: 0
    functionsReached:
    - OpenSysfsCacheList
    - CpuSet::Set
    - signal_safe_close
    - std::optional::has_value
    - signal_safe_read
    - FindFirstSet
    - auto::has_value
    - TC_CHECK_EQ
    - ParseCpulist
    - CpuSet::Zero
    - NumCPUsMaybe
    - CLR
    - TC_CHECK
    - CpuSet::FindFirstSet
    - CpuSet::CLR
    linkageType: ''
    returnType: void
    signature: void CacheTopology::Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindSetResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindSetResults(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindClearResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindClearResults(const Bitmap<N>& map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:52,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:52,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:53,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:54,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:55,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 2
    functionsReached:
    - FindClear
    - std::vector::push_back
    - EXPECT_GE
    - EXPECT_LE
    - FindSet
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindResults(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindSetResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindSetResultsBackwards(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindClearResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindClearResultsBackwards(const Bitmap<N>& map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:80,1
    - Dst: FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:80,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:81,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:82,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:83,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - FindSetBackwards
    - FindClearBackwards
    - EXPECT_GE
    - EXPECT_LE
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindResultsBackwards(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:97,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Bitmap::size
    - Bitmap::GetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, GetBitEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:103,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:103,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:104,1
    - Dst: Bitmap::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:106,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:106,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:108,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::IsZero
    - Bitmap::SetBit
    - EXPECT_EQ
    - Bitmap::Clear
    - Bitmap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckIsZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:114,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:115,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:117,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:119,1
    - Dst: Bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::ClearLowestBit
    - EXPECT_EQ
    - Bitmap::FindSet
    - Bitmap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckClearLowestBit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:128,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:130,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::size
    - EXPECT_EQ
    - Bitmap::GetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, GetBitOneSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:139,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:142,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:146,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:149,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:156,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:156,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - FindSetResults
    - ElementsAre
    - FindSetResultsBackwards
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, FindSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:168,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:176,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:183,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:183,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 185
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetRange
    - FindClearResults
    - ElementsAre
    - EXPECT_THAT
    - FindClearResultsBackwards
    - Bitmap::ClearBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, FindClear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:190,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:191,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:192,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:193,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:193,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:197,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:198,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:203,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:204,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:204,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:208,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:213,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:214,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:214,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:218,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:220,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:221,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - EXPECT_EQ
    - Bitmap::CountBits
    - Bitmap::SetRange
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:231,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:234,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:239,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:243,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:253,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::CountBits
    - absl::Bernoulli
    - absl::Uniform
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBitsFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:262,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - NextFreeRange
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::pair<size_t, size_t>>
    signature: std::vector<std::pair<size_t, size_t>> FreeRanges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:273,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:274,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:275,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:275,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:278,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:288,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - used
    - ElementsAre
    - EXPECT_EQ
    - Unmark
    - FreeRanges
    - EXPECT_THAT
    - size
    - FindAndMark
    - ASSERT_EQ
    - longest_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(RangeTrackerTest, Trivial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:297,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:297,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:299,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - used
    - ElementsAre
    - EXPECT_EQ
    - Unmark
    - FreeRanges
    - EXPECT_THAT
    - Mark
    - longest_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(RangeTrackerTest, Mark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindSetResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindSetResults(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindClearResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindClearResults(const Bitmap<N>& map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:52,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:52,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:53,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:54,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:55,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 4
    functionsReached:
    - FindClear
    - std::vector::push_back
    - EXPECT_GE
    - EXPECT_LE
    - FindSet
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindResults(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindSetResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindSetResultsBackwards(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindClearResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindClearResultsBackwards(const Bitmap<N>& map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:80,1
    - Dst: FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:80,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:81,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:82,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:83,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 4
    functionsReached:
    - std::vector::push_back
    - FindSetBackwards
    - FindClearBackwards
    - EXPECT_GE
    - EXPECT_LE
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindResultsBackwards(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:97,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Bitmap::size
    - Bitmap::GetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, GetBitEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:103,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:103,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:104,1
    - Dst: Bitmap::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:106,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:106,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:108,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::IsZero
    - Bitmap::SetBit
    - EXPECT_EQ
    - Bitmap::Clear
    - Bitmap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckIsZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:114,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:115,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:117,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:119,1
    - Dst: Bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::ClearLowestBit
    - EXPECT_EQ
    - Bitmap::FindSet
    - Bitmap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckClearLowestBit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:128,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:130,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::size
    - EXPECT_EQ
    - Bitmap::GetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, GetBitOneSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:139,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:142,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:146,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:149,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:156,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:156,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - FindSetResults
    - ElementsAre
    - FindSetResultsBackwards
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, FindSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:168,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:176,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:183,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:183,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 185
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetRange
    - FindClearResults
    - ElementsAre
    - EXPECT_THAT
    - FindClearResultsBackwards
    - Bitmap::ClearBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, FindClear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:190,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:191,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:192,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:193,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:193,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:197,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:198,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:203,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:204,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:204,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:208,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:213,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:214,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:214,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:218,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:220,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:221,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - EXPECT_EQ
    - Bitmap::CountBits
    - Bitmap::SetRange
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:231,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:234,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:239,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:243,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:253,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::CountBits
    - absl::Bernoulli
    - absl::Uniform
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBitsFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:262,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - NextFreeRange
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::pair<size_t, size_t>>
    signature: std::vector<std::pair<size_t, size_t>> FreeRanges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:273,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:274,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:275,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:275,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:278,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:288,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - used
    - ElementsAre
    - EXPECT_EQ
    - Unmark
    - FreeRanges
    - EXPECT_THAT
    - size
    - FindAndMark
    - ASSERT_EQ
    - longest_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(RangeTrackerTest, Trivial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:297,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:297,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:299,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - used
    - ElementsAre
    - EXPECT_EQ
    - Unmark
    - FreeRanges
    - EXPECT_THAT
    - Mark
    - longest_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(RangeTrackerTest, Mark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindSetResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindSetResults(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindClearResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindClearResults(const Bitmap<N>& map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:52,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:52,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:53,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:54,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:55,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 6
    functionsReached:
    - FindClear
    - std::vector::push_back
    - EXPECT_GE
    - EXPECT_LE
    - FindSet
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindResults(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindSetResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindSetResultsBackwards(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindClearResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindClearResultsBackwards(const Bitmap<N>& map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:80,1
    - Dst: FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:80,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:81,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:82,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:83,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - FindSetBackwards
    - FindClearBackwards
    - EXPECT_GE
    - EXPECT_LE
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindResultsBackwards(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:97,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Bitmap::size
    - Bitmap::GetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, GetBitEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:103,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:103,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:104,1
    - Dst: Bitmap::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:106,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:106,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:108,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::IsZero
    - Bitmap::SetBit
    - EXPECT_EQ
    - Bitmap::Clear
    - Bitmap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckIsZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:114,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:115,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:117,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:119,1
    - Dst: Bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::ClearLowestBit
    - EXPECT_EQ
    - Bitmap::FindSet
    - Bitmap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckClearLowestBit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:128,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:130,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::size
    - EXPECT_EQ
    - Bitmap::GetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, GetBitOneSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:139,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:142,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:146,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:149,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:156,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:156,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - FindSetResults
    - ElementsAre
    - FindSetResultsBackwards
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, FindSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:168,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:176,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:183,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:183,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 185
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetRange
    - FindClearResults
    - ElementsAre
    - EXPECT_THAT
    - FindClearResultsBackwards
    - Bitmap::ClearBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, FindClear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:190,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:191,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:192,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:193,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:193,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:197,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:198,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:203,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:204,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:204,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:208,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:213,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:214,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:214,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:218,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:220,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:221,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - EXPECT_EQ
    - Bitmap::CountBits
    - Bitmap::SetRange
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:231,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:234,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:239,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:243,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:253,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::CountBits
    - absl::Bernoulli
    - absl::Uniform
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBitsFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:262,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - NextFreeRange
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::pair<size_t, size_t>>
    signature: std::vector<std::pair<size_t, size_t>> FreeRanges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:273,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:274,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:275,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:275,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:278,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:288,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - used
    - ElementsAre
    - EXPECT_EQ
    - Unmark
    - FreeRanges
    - EXPECT_THAT
    - size
    - FindAndMark
    - ASSERT_EQ
    - longest_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(RangeTrackerTest, Trivial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:297,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:297,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:299,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - used
    - ElementsAre
    - EXPECT_EQ
    - Unmark
    - FreeRanges
    - EXPECT_THAT
    - Mark
    - longest_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(RangeTrackerTest, Mark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindSetResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindSetResults(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindClearResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindClearResults(const Bitmap<N>& map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:52,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:52,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:53,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:54,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:55,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 8
    functionsReached:
    - FindClear
    - std::vector::push_back
    - EXPECT_GE
    - EXPECT_LE
    - FindSet
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindResults(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindSetResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindSetResultsBackwards(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindClearResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindClearResultsBackwards(const Bitmap<N>& map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:80,1
    - Dst: FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:80,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:81,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:82,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:83,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 8
    functionsReached:
    - std::vector::push_back
    - FindSetBackwards
    - FindClearBackwards
    - EXPECT_GE
    - EXPECT_LE
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindResultsBackwards(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:97,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Bitmap::size
    - Bitmap::GetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, GetBitEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:103,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:103,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:104,1
    - Dst: Bitmap::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:106,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:106,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:108,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::IsZero
    - Bitmap::SetBit
    - EXPECT_EQ
    - Bitmap::Clear
    - Bitmap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckIsZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:114,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:115,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:117,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:119,1
    - Dst: Bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::ClearLowestBit
    - EXPECT_EQ
    - Bitmap::FindSet
    - Bitmap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckClearLowestBit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:128,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:130,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::size
    - EXPECT_EQ
    - Bitmap::GetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, GetBitOneSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:139,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:142,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:146,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:149,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:156,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:156,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - FindSetResults
    - ElementsAre
    - FindSetResultsBackwards
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, FindSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:168,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:176,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:183,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:183,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 185
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetRange
    - FindClearResults
    - ElementsAre
    - EXPECT_THAT
    - FindClearResultsBackwards
    - Bitmap::ClearBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, FindClear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:190,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:191,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:192,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:193,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:193,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:197,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:198,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:203,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:204,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:204,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:208,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:213,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:214,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:214,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:218,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:220,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:221,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - EXPECT_EQ
    - Bitmap::CountBits
    - Bitmap::SetRange
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:231,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:234,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:239,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:243,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:253,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::CountBits
    - absl::Bernoulli
    - absl::Uniform
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBitsFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:262,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - NextFreeRange
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::pair<size_t, size_t>>
    signature: std::vector<std::pair<size_t, size_t>> FreeRanges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:273,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:274,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:275,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:275,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:278,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:288,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - used
    - ElementsAre
    - EXPECT_EQ
    - Unmark
    - FreeRanges
    - EXPECT_THAT
    - size
    - FindAndMark
    - ASSERT_EQ
    - longest_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(RangeTrackerTest, Trivial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:297,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:297,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:299,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - used
    - ElementsAre
    - EXPECT_EQ
    - Unmark
    - FreeRanges
    - EXPECT_THAT
    - Mark
    - longest_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(RangeTrackerTest, Mark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindSetResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindSetResults(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindClearResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindClearResults(const Bitmap<N>& map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:52,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:52,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:53,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:54,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:55,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 10
    functionsReached:
    - FindClear
    - std::vector::push_back
    - EXPECT_GE
    - EXPECT_LE
    - FindSet
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindResults(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindSetResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindSetResultsBackwards(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindClearResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindClearResultsBackwards(const Bitmap<N>& map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:80,1
    - Dst: FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:80,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:81,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:82,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:83,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 10
    functionsReached:
    - std::vector::push_back
    - FindSetBackwards
    - FindClearBackwards
    - EXPECT_GE
    - EXPECT_LE
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindResultsBackwards(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:97,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Bitmap::size
    - Bitmap::GetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, GetBitEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:103,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:103,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:104,1
    - Dst: Bitmap::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:106,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:106,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:108,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::IsZero
    - Bitmap::SetBit
    - EXPECT_EQ
    - Bitmap::Clear
    - Bitmap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckIsZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:114,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:115,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:117,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:119,1
    - Dst: Bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::ClearLowestBit
    - EXPECT_EQ
    - Bitmap::FindSet
    - Bitmap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckClearLowestBit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:128,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:130,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::size
    - EXPECT_EQ
    - Bitmap::GetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, GetBitOneSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:139,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:142,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:146,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:149,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:156,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:156,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - FindSetResults
    - ElementsAre
    - FindSetResultsBackwards
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, FindSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:168,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:176,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:183,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:183,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 185
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetRange
    - FindClearResults
    - ElementsAre
    - EXPECT_THAT
    - FindClearResultsBackwards
    - Bitmap::ClearBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, FindClear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:190,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:191,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:192,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:193,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:193,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:197,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:198,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:203,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:204,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:204,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:208,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:213,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:214,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:214,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:218,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:220,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:221,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - EXPECT_EQ
    - Bitmap::CountBits
    - Bitmap::SetRange
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:231,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:234,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:239,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:243,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:253,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::CountBits
    - absl::Bernoulli
    - absl::Uniform
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBitsFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:262,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - NextFreeRange
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::pair<size_t, size_t>>
    signature: std::vector<std::pair<size_t, size_t>> FreeRanges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:273,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:274,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:275,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:275,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:278,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:288,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - used
    - ElementsAre
    - EXPECT_EQ
    - Unmark
    - FreeRanges
    - EXPECT_THAT
    - size
    - FindAndMark
    - ASSERT_EQ
    - longest_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(RangeTrackerTest, Trivial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:297,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:297,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:299,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - used
    - ElementsAre
    - EXPECT_EQ
    - Unmark
    - FreeRanges
    - EXPECT_THAT
    - Mark
    - longest_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(RangeTrackerTest, Mark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindSetResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindSetResults(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindClearResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindClearResults(const Bitmap<N>& map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:52,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:52,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:53,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:54,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:55,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 12
    functionsReached:
    - FindClear
    - std::vector::push_back
    - EXPECT_GE
    - EXPECT_LE
    - FindSet
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindResults(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindSetResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindSetResultsBackwards(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindClearResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindClearResultsBackwards(const Bitmap<N>& map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:80,1
    - Dst: FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:80,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:81,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:82,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:83,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 12
    functionsReached:
    - std::vector::push_back
    - FindSetBackwards
    - FindClearBackwards
    - EXPECT_GE
    - EXPECT_LE
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindResultsBackwards(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:97,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Bitmap::size
    - Bitmap::GetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, GetBitEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:103,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:103,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:104,1
    - Dst: Bitmap::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:106,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:106,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:108,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::IsZero
    - Bitmap::SetBit
    - EXPECT_EQ
    - Bitmap::Clear
    - Bitmap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckIsZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:114,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:115,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:117,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:119,1
    - Dst: Bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::ClearLowestBit
    - EXPECT_EQ
    - Bitmap::FindSet
    - Bitmap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckClearLowestBit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:128,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:130,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::size
    - EXPECT_EQ
    - Bitmap::GetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, GetBitOneSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:139,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:142,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:146,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:149,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:156,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:156,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - FindSetResults
    - ElementsAre
    - FindSetResultsBackwards
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, FindSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:168,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:176,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:183,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:183,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 185
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetRange
    - FindClearResults
    - ElementsAre
    - EXPECT_THAT
    - FindClearResultsBackwards
    - Bitmap::ClearBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, FindClear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:190,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:191,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:192,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:193,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:193,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:197,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:198,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:203,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:204,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:204,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:208,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:213,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:214,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:214,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:218,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:220,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:221,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - EXPECT_EQ
    - Bitmap::CountBits
    - Bitmap::SetRange
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:231,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:234,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:239,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:243,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:253,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::CountBits
    - absl::Bernoulli
    - absl::Uniform
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBitsFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:262,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - NextFreeRange
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::pair<size_t, size_t>>
    signature: std::vector<std::pair<size_t, size_t>> FreeRanges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:273,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:274,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:275,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:275,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:278,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:288,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - used
    - ElementsAre
    - EXPECT_EQ
    - Unmark
    - FreeRanges
    - EXPECT_THAT
    - size
    - FindAndMark
    - ASSERT_EQ
    - longest_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(RangeTrackerTest, Trivial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:297,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:297,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:299,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - used
    - ElementsAre
    - EXPECT_EQ
    - Unmark
    - FreeRanges
    - EXPECT_THAT
    - Mark
    - longest_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(RangeTrackerTest, Mark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindSetResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindSetResults(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindClearResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindClearResults(const Bitmap<N>& map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:52,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:52,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:53,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:54,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:55,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 14
    functionsReached:
    - FindClear
    - std::vector::push_back
    - EXPECT_GE
    - EXPECT_LE
    - FindSet
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindResults(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindSetResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindSetResultsBackwards(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindClearResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindClearResultsBackwards(const Bitmap<N>& map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:80,1
    - Dst: FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:80,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:81,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:82,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:83,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 14
    functionsReached:
    - std::vector::push_back
    - FindSetBackwards
    - FindClearBackwards
    - EXPECT_GE
    - EXPECT_LE
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindResultsBackwards(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:97,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Bitmap::size
    - Bitmap::GetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, GetBitEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:103,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:103,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:104,1
    - Dst: Bitmap::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:106,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:106,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:108,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::IsZero
    - Bitmap::SetBit
    - EXPECT_EQ
    - Bitmap::Clear
    - Bitmap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckIsZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:114,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:115,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:117,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:119,1
    - Dst: Bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::ClearLowestBit
    - EXPECT_EQ
    - Bitmap::FindSet
    - Bitmap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckClearLowestBit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:128,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:130,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::size
    - EXPECT_EQ
    - Bitmap::GetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, GetBitOneSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:139,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:142,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:146,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:149,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:156,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:156,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - FindSetResults
    - ElementsAre
    - FindSetResultsBackwards
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, FindSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:168,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:176,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:183,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:183,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 185
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetRange
    - FindClearResults
    - ElementsAre
    - EXPECT_THAT
    - FindClearResultsBackwards
    - Bitmap::ClearBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, FindClear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:190,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:191,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:192,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:193,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:193,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:197,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:198,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:203,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:204,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:204,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:208,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:213,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:214,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:214,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:218,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:220,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:221,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - EXPECT_EQ
    - Bitmap::CountBits
    - Bitmap::SetRange
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:231,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:234,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:239,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:243,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:253,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::CountBits
    - absl::Bernoulli
    - absl::Uniform
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBitsFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:262,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - NextFreeRange
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::pair<size_t, size_t>>
    signature: std::vector<std::pair<size_t, size_t>> FreeRanges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:273,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:274,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:275,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:275,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:278,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:288,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - used
    - ElementsAre
    - EXPECT_EQ
    - Unmark
    - FreeRanges
    - EXPECT_THAT
    - size
    - FindAndMark
    - ASSERT_EQ
    - longest_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(RangeTrackerTest, Trivial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:297,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:297,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:299,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - used
    - ElementsAre
    - EXPECT_EQ
    - Unmark
    - FreeRanges
    - EXPECT_THAT
    - Mark
    - longest_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(RangeTrackerTest, Mark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindSetResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindSetResults(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindClearResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindClearResults(const Bitmap<N>& map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:52,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:52,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:53,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:54,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:55,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindResults
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 16
    functionsReached:
    - FindClear
    - std::vector::push_back
    - EXPECT_GE
    - EXPECT_LE
    - FindSet
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindResults(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindSetResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindSetResultsBackwards(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindClearResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindClearResultsBackwards(const Bitmap<N>& map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:80,1
    - Dst: FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:80,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:81,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:82,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:83,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - Bitmap<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 16
    functionsReached:
    - std::vector::push_back
    - FindSetBackwards
    - FindClearBackwards
    - EXPECT_GE
    - EXPECT_LE
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindResultsBackwards(const Bitmap<N>& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:97,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Bitmap::size
    - Bitmap::GetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, GetBitEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:103,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:103,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:104,1
    - Dst: Bitmap::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:106,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:106,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:108,1
    - Dst: Bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::IsZero
    - Bitmap::SetBit
    - EXPECT_EQ
    - Bitmap::Clear
    - Bitmap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckIsZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:114,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:115,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:117,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:119,1
    - Dst: Bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::ClearLowestBit
    - EXPECT_EQ
    - Bitmap::FindSet
    - Bitmap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckClearLowestBit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:128,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:130,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::size
    - EXPECT_EQ
    - Bitmap::GetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, GetBitOneSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:138,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:139,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:142,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:146,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:149,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:156,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:156,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - FindSetResults
    - ElementsAre
    - FindSetResultsBackwards
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, FindSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:164,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:168,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:176,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:183,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:183,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 185
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetRange
    - FindClearResults
    - ElementsAre
    - EXPECT_THAT
    - FindClearResultsBackwards
    - Bitmap::ClearBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, FindClear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:190,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:191,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:192,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:193,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:193,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:197,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:198,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:203,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:204,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:204,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:208,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:213,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:214,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:214,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:218,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:220,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:221,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 222
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - EXPECT_EQ
    - Bitmap::CountBits
    - Bitmap::SetRange
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:231,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:234,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:239,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:243,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:253,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::CountBits
    - absl::Bernoulli
    - absl::Uniform
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBitsFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:262,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - NextFreeRange
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::pair<size_t, size_t>>
    signature: std::vector<std::pair<size_t, size_t>> FreeRanges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:273,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:274,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:275,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:275,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:278,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:288,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 294
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - used
    - ElementsAre
    - EXPECT_EQ
    - Unmark
    - FreeRanges
    - EXPECT_THAT
    - size
    - FindAndMark
    - ASSERT_EQ
    - longest_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(RangeTrackerTest, Trivial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:297,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:297,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:299,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Pair
    - used
    - ElementsAre
    - EXPECT_EQ
    - Unmark
    - FreeRanges
    - EXPECT_THAT
    - Mark
    - longest_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(RangeTrackerTest, Mark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:36,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:41,1
    - Dst: std::make_unique<unsigned char[]>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:42,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:44,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:51,1
    - Dst: tcmalloc_internal::OsMInCore::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:52,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:52,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:52,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 60
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::OsMInCore::mincore
    - BENCHMARK
    - range
    - auto::get
    - std::min
    - tcmalloc_internal::GetPageSize
    - TC_CHECK_LE
    - std::make_unique<unsigned char[]>
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:36,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:41,1
    - Dst: std::make_unique<unsigned char[]>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:42,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:44,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:51,1
    - Dst: tcmalloc_internal::OsMInCore::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:52,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:52,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: BM_mincore
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::OsMInCore::mincore
    - range
    - auto::get
    - std::min
    - tcmalloc_internal::GetPageSize
    - TC_CHECK_LE
    - std::make_unique<unsigned char[]>
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: void BM_mincore(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:36,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:41,1
    - Dst: std::make_unique<unsigned char[]>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:42,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:44,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:51,1
    - Dst: tcmalloc_internal::OsMInCore::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:52,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:52,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: BM_mincore
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::OsMInCore::mincore
    - range
    - auto::get
    - std::min
    - tcmalloc_internal::GetPageSize
    - TC_CHECK_LE
    - std::make_unique<unsigned char[]>
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: void BM_mincore(benchmark::State& state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:55,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:56,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:60,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:62,1
    - Dst: google::protobuf::io::GzipInputStream::Next
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:72,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:79,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:80,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:80,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:84,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:84,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:86,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:87,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:88,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:89,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:93,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:93,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:97,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:98,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/config_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - absl::StrAppend
    - GTEST_SKIP
    - absl::string_view
    - google::protobuf::io::GzipInputStream::Next
    - ASSERT_THAT
    - ASSERT_GE
    - std::string::find
    - reinterpret_cast<const char*>
    - testing::HasSubstr
    - ASSERT_TRUE
    - absl::SimpleAtoi
    - std::min
    - absl::string_view::size
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AddressBits, CpuVirtualBits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:55,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:56,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:60,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:62,1
    - Dst: google::protobuf::io::GzipInputStream::Next
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:72,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:79,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:80,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:80,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:84,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:84,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:86,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:87,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:88,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:89,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:93,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:93,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:97,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:98,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/config_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - absl::StrAppend
    - GTEST_SKIP
    - absl::string_view
    - google::protobuf::io::GzipInputStream::Next
    - ASSERT_THAT
    - ASSERT_GE
    - std::string::find
    - reinterpret_cast<const char*>
    - testing::HasSubstr
    - ASSERT_TRUE
    - absl::SimpleAtoi
    - std::min
    - absl::string_view::size
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AddressBits, CpuVirtualBits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:55,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:56,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:60,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:62,1
    - Dst: google::protobuf::io::GzipInputStream::Next
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:72,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:79,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:80,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:80,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:84,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:84,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:86,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:87,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:88,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:89,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:93,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:93,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:97,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:98,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/config_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - absl::StrAppend
    - GTEST_SKIP
    - absl::string_view
    - google::protobuf::io::GzipInputStream::Next
    - ASSERT_THAT
    - ASSERT_GE
    - std::string::find
    - reinterpret_cast<const char*>
    - testing::HasSubstr
    - ASSERT_TRUE
    - absl::SimpleAtoi
    - std::min
    - absl::string_view::size
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AddressBits, CpuVirtualBits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:55,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:56,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:60,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:62,1
    - Dst: google::protobuf::io::GzipInputStream::Next
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:72,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:79,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:80,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:80,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:84,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:84,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:86,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:87,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:88,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:89,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:93,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:93,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:97,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:98,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/config_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - absl::StrAppend
    - GTEST_SKIP
    - absl::string_view
    - google::protobuf::io::GzipInputStream::Next
    - ASSERT_THAT
    - ASSERT_GE
    - std::string::find
    - reinterpret_cast<const char*>
    - testing::HasSubstr
    - ASSERT_TRUE
    - absl::SimpleAtoi
    - std::min
    - absl::string_view::size
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AddressBits, CpuVirtualBits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:55,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:56,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:60,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:62,1
    - Dst: google::protobuf::io::GzipInputStream::Next
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:72,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:79,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:80,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:80,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:84,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:84,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:86,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:87,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:88,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:89,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:93,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:93,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:97,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:98,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/config_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - absl::StrAppend
    - GTEST_SKIP
    - absl::string_view
    - google::protobuf::io::GzipInputStream::Next
    - ASSERT_THAT
    - ASSERT_GE
    - std::string::find
    - reinterpret_cast<const char*>
    - testing::HasSubstr
    - ASSERT_TRUE
    - absl::SimpleAtoi
    - std::min
    - absl::string_view::size
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AddressBits, CpuVirtualBits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:55,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:56,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:60,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:62,1
    - Dst: google::protobuf::io::GzipInputStream::Next
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:72,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:79,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:80,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:80,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:84,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:84,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:86,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:87,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:88,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:89,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:93,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:93,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:97,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:98,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/config_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - absl::StrAppend
    - GTEST_SKIP
    - absl::string_view
    - google::protobuf::io::GzipInputStream::Next
    - ASSERT_THAT
    - ASSERT_GE
    - std::string::find
    - reinterpret_cast<const char*>
    - testing::HasSubstr
    - ASSERT_TRUE
    - absl::SimpleAtoi
    - std::min
    - absl::string_view::size
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AddressBits, CpuVirtualBits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:55,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:56,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:60,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:62,1
    - Dst: google::protobuf::io::GzipInputStream::Next
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:72,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:79,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:80,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:80,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:84,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:84,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:86,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:87,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:88,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:89,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:93,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:93,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:97,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:98,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/config_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - absl::StrAppend
    - GTEST_SKIP
    - absl::string_view
    - google::protobuf::io::GzipInputStream::Next
    - ASSERT_THAT
    - ASSERT_GE
    - std::string::find
    - reinterpret_cast<const char*>
    - testing::HasSubstr
    - ASSERT_TRUE
    - absl::SimpleAtoi
    - std::min
    - absl::string_view::size
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AddressBits, CpuVirtualBits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:55,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:56,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:60,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:62,1
    - Dst: google::protobuf::io::GzipInputStream::Next
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:72,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:79,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:80,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:80,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:84,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:84,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:86,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:87,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:88,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:89,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:93,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:93,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:97,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:98,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/config_test.cc:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/config_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - absl::StrAppend
    - GTEST_SKIP
    - absl::string_view
    - google::protobuf::io::GzipInputStream::Next
    - ASSERT_THAT
    - ASSERT_GE
    - std::string::find
    - reinterpret_cast<const char*>
    - testing::HasSubstr
    - ASSERT_TRUE
    - absl::SimpleAtoi
    - std::min
    - absl::string_view::size
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AddressBits, CpuVirtualBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResidencySpouse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResidencySpouse(const char* const filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    linkageType: ''
    returnType: void
    signature: void ResidencySpouse(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:55,1
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::ResidencySpouse::Get
    - std::forward<Args>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) Get(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::GetUnbackedAndSwappedBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::ResidencySpouse::GetUnbackedAndSwappedBitmaps
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) GetUnbackedAndSwappedBitmaps(const void* const addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:75,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:88,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:92,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:92,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:93,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:94,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:94,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:95,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:97,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:102,1
    - Dst: mlock
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:103,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:111,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:111,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:112,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:115,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:118,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:121,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:124,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:126,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:127,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:127,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:128,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:130,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:131,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:131,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:132,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:134,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:135,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:135,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:136,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:138,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - ResidencyPageMap::Get
    - GetPageSize
    - EXPECT_THAT
    - Optional
    - reinterpret_cast<char*>
    - mlock
    - ::benchmark::DoNotOptimize
    - memset
    - mmap
    - FieldsAre
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, ThisProcess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:144,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotOpen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:149,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:154,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotSeek)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:162,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:162,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:163,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:207,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:207,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - filename
    - case_num
    - num_pages
    argTypes:
    - absl::string_view
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - write
    - close
    - CHECK_EQ
    - CHECK_NE
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: "void GenerateHolesInSinglePage(absl::string_view filename, int case_num,\n
      \                              int num_pages)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:219,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:223,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:230,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:239,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:249,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:251,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - case_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::SetRange
    linkageType: ''
    returnType: Residency::SinglePageBitmaps
    signature: Residency::SinglePageBitmaps GenerateExpectedSinglePageBitmaps(int
      case_num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:263,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' bitmap1'
    - ' bitmap2'
    argTypes:
    - Bitmap<512>
    - Bitmap<512>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::BitmapsAreEqual
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - GetBit
    linkageType: ''
    returnType: bool
    signature: bool BitmapsAreEqual(const Bitmap<512>& bitmap1, const Bitmap<512>&
      bitmap2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:274,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:280,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:280,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:281,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:284,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:287,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:287,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:289,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:290,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:290,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:291,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_THAT
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, GetUnbackedAndSwappedBitmaps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:298,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:298,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:299,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:301,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:302,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:305,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:305,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:307,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:308,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:308,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:309,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_THAT
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, CountHolesWithAddressBeyondFirstPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:314,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:315,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:317,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:320,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:320,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - std::optional::reset
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, VerifyAddressAlignmentCheckPasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:327,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:330,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:330,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - std::optional::emplace
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, VerifyAddressAlignmentBeyondFirstPageFails)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:337,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:339,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:340,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:344,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:346,1
    - Dst: ResidencyPageMap::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:348,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:350,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:351,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:351,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:352,1
    - Dst: Residency::SinglePageBitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:358,1
    - Dst: ResidencyPageMap::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:359,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:360,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:361,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:362,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:362,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:363,1
    - Dst: Residency::SinglePageBitmaps::unbacked::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:364,1
    - Dst: Residency::SinglePageBitmaps::unbacked::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:364,1
    - Dst: Residency::SinglePageBitmaps::unbacked::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:365,1
    - Dst: Residency::SinglePageBitmaps::unbacked::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:366,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:367,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:367,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:368,1
    - Dst: Residency::SinglePageBitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - Residency::SinglePageBitmaps::unbacked::IsZero
    - std::optional::emplace
    - EXPECT_FALSE
    - EXPECT_TRUE
    - mmap
    - ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    - Residency::SinglePageBitmaps::unbacked::ClearLowestBit
    - reinterpret_cast<uint8_t*>
    - ASSERT_TRUE
    - Residency::SinglePageBitmaps::unbacked::GetBit
    - std::optional::reset
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Residency::SinglePageBitmaps::swapped::IsZero
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapIntegrationTest, WorksOnActualData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:75,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:88,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:92,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:92,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:93,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:94,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:94,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:95,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:97,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:102,1
    - Dst: mlock
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:103,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:111,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:111,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:112,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:115,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:118,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:121,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:124,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:126,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:127,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:127,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:128,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:130,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:131,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:131,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:132,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:134,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:135,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:135,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:136,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:138,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - ResidencyPageMap::Get
    - GetPageSize
    - EXPECT_THAT
    - Optional
    - reinterpret_cast<char*>
    - mlock
    - ::benchmark::DoNotOptimize
    - memset
    - mmap
    - FieldsAre
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, ThisProcess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:144,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotOpen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:149,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:154,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotSeek)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:162,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:162,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:163,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:207,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:207,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - filename
    - case_num
    - num_pages
    argTypes:
    - absl::string_view
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 3
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - write
    - close
    - CHECK_EQ
    - CHECK_NE
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: "void GenerateHolesInSinglePage(absl::string_view filename, int case_num,\n
      \                              int num_pages)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:219,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:223,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:230,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:239,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:249,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:251,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - case_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 2
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::SetRange
    linkageType: ''
    returnType: Residency::SinglePageBitmaps
    signature: Residency::SinglePageBitmaps GenerateExpectedSinglePageBitmaps(int
      case_num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:263,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' bitmap1'
    - ' bitmap2'
    argTypes:
    - Bitmap<512>
    - Bitmap<512>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::BitmapsAreEqual
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 2
    functionsReached:
    - GetBit
    linkageType: ''
    returnType: bool
    signature: bool BitmapsAreEqual(const Bitmap<512>& bitmap1, const Bitmap<512>&
      bitmap2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:274,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:280,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:280,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:281,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:284,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:287,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:287,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:289,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:290,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:290,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:291,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_THAT
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, GetUnbackedAndSwappedBitmaps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:298,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:298,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:299,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:301,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:302,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:305,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:305,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:307,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:308,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:308,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:309,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_THAT
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, CountHolesWithAddressBeyondFirstPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:314,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:315,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:317,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:320,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:320,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - std::optional::reset
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, VerifyAddressAlignmentCheckPasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:327,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:330,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:330,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - std::optional::emplace
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, VerifyAddressAlignmentBeyondFirstPageFails)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:337,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:339,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:340,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:344,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:346,1
    - Dst: ResidencyPageMap::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:348,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:350,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:351,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:351,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:352,1
    - Dst: Residency::SinglePageBitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:358,1
    - Dst: ResidencyPageMap::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:359,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:360,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:361,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:362,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:362,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:363,1
    - Dst: Residency::SinglePageBitmaps::unbacked::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:364,1
    - Dst: Residency::SinglePageBitmaps::unbacked::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:364,1
    - Dst: Residency::SinglePageBitmaps::unbacked::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:365,1
    - Dst: Residency::SinglePageBitmaps::unbacked::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:366,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:367,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:367,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:368,1
    - Dst: Residency::SinglePageBitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - Residency::SinglePageBitmaps::unbacked::IsZero
    - std::optional::emplace
    - EXPECT_FALSE
    - EXPECT_TRUE
    - mmap
    - ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    - Residency::SinglePageBitmaps::unbacked::ClearLowestBit
    - reinterpret_cast<uint8_t*>
    - ASSERT_TRUE
    - Residency::SinglePageBitmaps::unbacked::GetBit
    - std::optional::reset
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Residency::SinglePageBitmaps::swapped::IsZero
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapIntegrationTest, WorksOnActualData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResidencySpouse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResidencySpouse(const char* const filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    linkageType: ''
    returnType: void
    signature: void ResidencySpouse(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:55,1
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::ResidencySpouse::Get
    - std::forward<Args>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) Get(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::GetUnbackedAndSwappedBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::ResidencySpouse::GetUnbackedAndSwappedBitmaps
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) GetUnbackedAndSwappedBitmaps(const void* const addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:75,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:88,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:92,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:92,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:93,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:94,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:94,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:95,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:97,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:102,1
    - Dst: mlock
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:103,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:111,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:111,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:112,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:115,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:118,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:121,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:124,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:126,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:127,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:127,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:128,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:130,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:131,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:131,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:132,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:134,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:135,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:135,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:136,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:138,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - ResidencyPageMap::Get
    - GetPageSize
    - EXPECT_THAT
    - Optional
    - reinterpret_cast<char*>
    - mlock
    - ::benchmark::DoNotOptimize
    - memset
    - mmap
    - FieldsAre
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, ThisProcess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:144,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotOpen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:149,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:154,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotSeek)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:162,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:162,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:163,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:207,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:207,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - filename
    - case_num
    - num_pages
    argTypes:
    - absl::string_view
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 6
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - write
    - close
    - CHECK_EQ
    - CHECK_NE
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: "void GenerateHolesInSinglePage(absl::string_view filename, int case_num,\n
      \                              int num_pages)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:219,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:223,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:230,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:239,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:249,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:251,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - case_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 4
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::SetRange
    linkageType: ''
    returnType: Residency::SinglePageBitmaps
    signature: Residency::SinglePageBitmaps GenerateExpectedSinglePageBitmaps(int
      case_num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:263,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' bitmap1'
    - ' bitmap2'
    argTypes:
    - Bitmap<512>
    - Bitmap<512>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::BitmapsAreEqual
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 4
    functionsReached:
    - GetBit
    linkageType: ''
    returnType: bool
    signature: bool BitmapsAreEqual(const Bitmap<512>& bitmap1, const Bitmap<512>&
      bitmap2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:274,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:280,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:280,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:281,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:284,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:287,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:287,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:289,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:290,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:290,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:291,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_THAT
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, GetUnbackedAndSwappedBitmaps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:298,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:298,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:299,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:301,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:302,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:305,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:305,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:307,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:308,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:308,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:309,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_THAT
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, CountHolesWithAddressBeyondFirstPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:314,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:315,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:317,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:320,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:320,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - std::optional::reset
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, VerifyAddressAlignmentCheckPasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:327,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:330,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:330,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - std::optional::emplace
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, VerifyAddressAlignmentBeyondFirstPageFails)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:337,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:339,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:340,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:344,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:346,1
    - Dst: ResidencyPageMap::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:348,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:350,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:351,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:351,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:352,1
    - Dst: Residency::SinglePageBitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:358,1
    - Dst: ResidencyPageMap::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:359,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:360,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:361,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:362,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:362,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:363,1
    - Dst: Residency::SinglePageBitmaps::unbacked::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:364,1
    - Dst: Residency::SinglePageBitmaps::unbacked::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:364,1
    - Dst: Residency::SinglePageBitmaps::unbacked::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:365,1
    - Dst: Residency::SinglePageBitmaps::unbacked::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:366,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:367,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:367,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:368,1
    - Dst: Residency::SinglePageBitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - Residency::SinglePageBitmaps::unbacked::IsZero
    - std::optional::emplace
    - EXPECT_FALSE
    - EXPECT_TRUE
    - mmap
    - ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    - Residency::SinglePageBitmaps::unbacked::ClearLowestBit
    - reinterpret_cast<uint8_t*>
    - ASSERT_TRUE
    - Residency::SinglePageBitmaps::unbacked::GetBit
    - std::optional::reset
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Residency::SinglePageBitmaps::swapped::IsZero
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapIntegrationTest, WorksOnActualData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:75,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:88,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:92,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:92,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:93,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:94,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:94,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:95,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:97,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:102,1
    - Dst: mlock
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:103,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:111,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:111,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:112,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:115,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:118,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:121,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:124,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:126,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:127,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:127,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:128,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:130,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:131,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:131,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:132,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:134,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:135,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:135,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:136,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:138,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - ResidencyPageMap::Get
    - GetPageSize
    - EXPECT_THAT
    - Optional
    - reinterpret_cast<char*>
    - mlock
    - ::benchmark::DoNotOptimize
    - memset
    - mmap
    - FieldsAre
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, ThisProcess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:144,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotOpen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:149,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:154,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotSeek)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:162,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:162,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:163,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:207,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:207,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - filename
    - case_num
    - num_pages
    argTypes:
    - absl::string_view
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 9
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - write
    - close
    - CHECK_EQ
    - CHECK_NE
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: "void GenerateHolesInSinglePage(absl::string_view filename, int case_num,\n
      \                              int num_pages)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:219,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:223,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:230,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:239,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:249,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:251,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - case_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 6
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::SetRange
    linkageType: ''
    returnType: Residency::SinglePageBitmaps
    signature: Residency::SinglePageBitmaps GenerateExpectedSinglePageBitmaps(int
      case_num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:263,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' bitmap1'
    - ' bitmap2'
    argTypes:
    - Bitmap<512>
    - Bitmap<512>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::BitmapsAreEqual
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 6
    functionsReached:
    - GetBit
    linkageType: ''
    returnType: bool
    signature: bool BitmapsAreEqual(const Bitmap<512>& bitmap1, const Bitmap<512>&
      bitmap2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:274,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:280,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:280,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:281,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:284,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:287,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:287,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:289,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:290,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:290,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:291,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_THAT
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, GetUnbackedAndSwappedBitmaps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:298,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:298,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:299,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:301,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:302,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:305,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:305,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:307,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:308,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:308,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:309,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_THAT
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, CountHolesWithAddressBeyondFirstPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:314,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:315,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:317,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:320,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:320,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - std::optional::reset
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, VerifyAddressAlignmentCheckPasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:327,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:330,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:330,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - std::optional::emplace
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, VerifyAddressAlignmentBeyondFirstPageFails)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:337,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:339,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:340,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:344,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:346,1
    - Dst: ResidencyPageMap::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:348,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:350,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:351,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:351,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:352,1
    - Dst: Residency::SinglePageBitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:358,1
    - Dst: ResidencyPageMap::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:359,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:360,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:361,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:362,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:362,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:363,1
    - Dst: Residency::SinglePageBitmaps::unbacked::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:364,1
    - Dst: Residency::SinglePageBitmaps::unbacked::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:364,1
    - Dst: Residency::SinglePageBitmaps::unbacked::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:365,1
    - Dst: Residency::SinglePageBitmaps::unbacked::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:366,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:367,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:367,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:368,1
    - Dst: Residency::SinglePageBitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - Residency::SinglePageBitmaps::unbacked::IsZero
    - std::optional::emplace
    - EXPECT_FALSE
    - EXPECT_TRUE
    - mmap
    - ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    - Residency::SinglePageBitmaps::unbacked::ClearLowestBit
    - reinterpret_cast<uint8_t*>
    - ASSERT_TRUE
    - Residency::SinglePageBitmaps::unbacked::GetBit
    - std::optional::reset
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Residency::SinglePageBitmaps::swapped::IsZero
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapIntegrationTest, WorksOnActualData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResidencySpouse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResidencySpouse(const char* const filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    linkageType: ''
    returnType: void
    signature: void ResidencySpouse(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:55,1
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::ResidencySpouse::Get
    - std::forward<Args>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) Get(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::GetUnbackedAndSwappedBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::ResidencySpouse::GetUnbackedAndSwappedBitmaps
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) GetUnbackedAndSwappedBitmaps(const void* const addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:75,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:88,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:92,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:92,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:93,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:94,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:94,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:95,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:97,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:102,1
    - Dst: mlock
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:103,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:111,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:111,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:112,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:115,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:118,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:121,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:124,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:126,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:127,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:127,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:128,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:130,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:131,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:131,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:132,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:134,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:135,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:135,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:136,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:138,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - ResidencyPageMap::Get
    - GetPageSize
    - EXPECT_THAT
    - Optional
    - reinterpret_cast<char*>
    - mlock
    - ::benchmark::DoNotOptimize
    - memset
    - mmap
    - FieldsAre
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, ThisProcess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:144,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotOpen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:149,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:154,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotSeek)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:162,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:162,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:163,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:207,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:207,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - filename
    - case_num
    - num_pages
    argTypes:
    - absl::string_view
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 12
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - write
    - close
    - CHECK_EQ
    - CHECK_NE
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: "void GenerateHolesInSinglePage(absl::string_view filename, int case_num,\n
      \                              int num_pages)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:219,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:223,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:230,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:239,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:249,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:251,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - case_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 8
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::SetRange
    linkageType: ''
    returnType: Residency::SinglePageBitmaps
    signature: Residency::SinglePageBitmaps GenerateExpectedSinglePageBitmaps(int
      case_num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:263,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' bitmap1'
    - ' bitmap2'
    argTypes:
    - Bitmap<512>
    - Bitmap<512>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::BitmapsAreEqual
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 8
    functionsReached:
    - GetBit
    linkageType: ''
    returnType: bool
    signature: bool BitmapsAreEqual(const Bitmap<512>& bitmap1, const Bitmap<512>&
      bitmap2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:274,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:280,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:280,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:281,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:284,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:287,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:287,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:289,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:290,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:290,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:291,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_THAT
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, GetUnbackedAndSwappedBitmaps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:298,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:298,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:299,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:301,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:302,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:305,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:305,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:307,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:308,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:308,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:309,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_THAT
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, CountHolesWithAddressBeyondFirstPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:314,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:315,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:317,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:320,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:320,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - std::optional::reset
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, VerifyAddressAlignmentCheckPasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:327,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:330,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:330,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - std::optional::emplace
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, VerifyAddressAlignmentBeyondFirstPageFails)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:337,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:339,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:340,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:344,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:346,1
    - Dst: ResidencyPageMap::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:348,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:350,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:351,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:351,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:352,1
    - Dst: Residency::SinglePageBitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:358,1
    - Dst: ResidencyPageMap::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:359,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:360,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:361,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:362,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:362,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:363,1
    - Dst: Residency::SinglePageBitmaps::unbacked::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:364,1
    - Dst: Residency::SinglePageBitmaps::unbacked::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:364,1
    - Dst: Residency::SinglePageBitmaps::unbacked::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:365,1
    - Dst: Residency::SinglePageBitmaps::unbacked::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:366,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:367,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:367,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:368,1
    - Dst: Residency::SinglePageBitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - Residency::SinglePageBitmaps::unbacked::IsZero
    - std::optional::emplace
    - EXPECT_FALSE
    - EXPECT_TRUE
    - mmap
    - ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    - Residency::SinglePageBitmaps::unbacked::ClearLowestBit
    - reinterpret_cast<uint8_t*>
    - ASSERT_TRUE
    - Residency::SinglePageBitmaps::unbacked::GetBit
    - std::optional::reset
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Residency::SinglePageBitmaps::swapped::IsZero
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapIntegrationTest, WorksOnActualData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:75,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:88,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:92,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:92,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:93,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:94,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:94,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:95,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:97,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:102,1
    - Dst: mlock
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:103,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:111,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:111,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:112,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:115,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:118,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:121,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:124,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:126,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:127,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:127,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:128,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:130,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:131,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:131,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:132,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:134,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:135,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:135,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:136,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:138,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - ResidencyPageMap::Get
    - GetPageSize
    - EXPECT_THAT
    - Optional
    - reinterpret_cast<char*>
    - mlock
    - ::benchmark::DoNotOptimize
    - memset
    - mmap
    - FieldsAre
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, ThisProcess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:144,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotOpen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:149,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:154,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotSeek)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:162,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:162,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:163,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:207,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:207,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - filename
    - case_num
    - num_pages
    argTypes:
    - absl::string_view
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 15
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - write
    - close
    - CHECK_EQ
    - CHECK_NE
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: "void GenerateHolesInSinglePage(absl::string_view filename, int case_num,\n
      \                              int num_pages)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:219,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:223,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:230,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:239,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:249,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:251,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - case_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 10
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::SetRange
    linkageType: ''
    returnType: Residency::SinglePageBitmaps
    signature: Residency::SinglePageBitmaps GenerateExpectedSinglePageBitmaps(int
      case_num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:263,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' bitmap1'
    - ' bitmap2'
    argTypes:
    - Bitmap<512>
    - Bitmap<512>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::BitmapsAreEqual
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 10
    functionsReached:
    - GetBit
    linkageType: ''
    returnType: bool
    signature: bool BitmapsAreEqual(const Bitmap<512>& bitmap1, const Bitmap<512>&
      bitmap2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:274,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:280,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:280,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:281,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:284,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:287,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:287,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:289,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:290,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:290,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:291,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_THAT
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, GetUnbackedAndSwappedBitmaps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:298,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:298,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:299,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:301,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:302,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:305,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:305,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:307,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:308,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:308,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:309,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_THAT
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, CountHolesWithAddressBeyondFirstPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:314,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:315,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:317,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:320,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:320,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - std::optional::reset
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, VerifyAddressAlignmentCheckPasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:327,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:330,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:330,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - std::optional::emplace
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, VerifyAddressAlignmentBeyondFirstPageFails)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:337,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:339,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:340,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:344,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:346,1
    - Dst: ResidencyPageMap::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:348,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:350,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:351,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:351,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:352,1
    - Dst: Residency::SinglePageBitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:358,1
    - Dst: ResidencyPageMap::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:359,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:360,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:361,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:362,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:362,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:363,1
    - Dst: Residency::SinglePageBitmaps::unbacked::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:364,1
    - Dst: Residency::SinglePageBitmaps::unbacked::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:364,1
    - Dst: Residency::SinglePageBitmaps::unbacked::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:365,1
    - Dst: Residency::SinglePageBitmaps::unbacked::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:366,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:367,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:367,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:368,1
    - Dst: Residency::SinglePageBitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - Residency::SinglePageBitmaps::unbacked::IsZero
    - std::optional::emplace
    - EXPECT_FALSE
    - EXPECT_TRUE
    - mmap
    - ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    - Residency::SinglePageBitmaps::unbacked::ClearLowestBit
    - reinterpret_cast<uint8_t*>
    - ASSERT_TRUE
    - Residency::SinglePageBitmaps::unbacked::GetBit
    - std::optional::reset
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Residency::SinglePageBitmaps::swapped::IsZero
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapIntegrationTest, WorksOnActualData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResidencySpouse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResidencySpouse(const char* const filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    linkageType: ''
    returnType: void
    signature: void ResidencySpouse(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:55,1
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::ResidencySpouse::Get
    - std::forward<Args>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) Get(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::ResidencySpouse::GetUnbackedAndSwappedBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::ResidencySpouse::GetUnbackedAndSwappedBitmaps
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) GetUnbackedAndSwappedBitmaps(const void* const addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:75,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:88,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:92,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:92,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:93,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:94,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:94,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:95,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:97,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:102,1
    - Dst: mlock
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:103,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:111,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:111,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:112,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:115,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:118,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:121,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:124,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:126,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:127,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:127,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:128,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:130,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:131,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:131,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:132,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:134,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:135,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:135,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:136,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:138,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - ResidencyPageMap::Get
    - GetPageSize
    - EXPECT_THAT
    - Optional
    - reinterpret_cast<char*>
    - mlock
    - ::benchmark::DoNotOptimize
    - memset
    - mmap
    - FieldsAre
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, ThisProcess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:144,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotOpen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:149,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:154,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotSeek)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:162,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:162,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:163,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:207,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:207,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - filename
    - case_num
    - num_pages
    argTypes:
    - absl::string_view
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 18
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - write
    - close
    - CHECK_EQ
    - CHECK_NE
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: "void GenerateHolesInSinglePage(absl::string_view filename, int case_num,\n
      \                              int num_pages)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:219,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:223,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:230,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:239,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:249,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:251,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - case_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 12
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::SetRange
    linkageType: ''
    returnType: Residency::SinglePageBitmaps
    signature: Residency::SinglePageBitmaps GenerateExpectedSinglePageBitmaps(int
      case_num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:263,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' bitmap1'
    - ' bitmap2'
    argTypes:
    - Bitmap<512>
    - Bitmap<512>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::BitmapsAreEqual
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 12
    functionsReached:
    - GetBit
    linkageType: ''
    returnType: bool
    signature: bool BitmapsAreEqual(const Bitmap<512>& bitmap1, const Bitmap<512>&
      bitmap2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:274,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:280,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:280,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:281,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:284,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:287,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:287,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:289,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:290,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:290,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:291,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_THAT
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, GetUnbackedAndSwappedBitmaps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:298,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:298,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:299,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:301,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:302,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:305,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:305,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:307,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:308,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:308,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:309,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_THAT
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, CountHolesWithAddressBeyondFirstPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:314,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:315,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:317,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:320,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:320,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - std::optional::reset
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, VerifyAddressAlignmentCheckPasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:327,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:330,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:330,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - std::optional::emplace
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, VerifyAddressAlignmentBeyondFirstPageFails)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:337,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:339,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:340,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:344,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:346,1
    - Dst: ResidencyPageMap::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:348,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:350,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:351,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:351,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:352,1
    - Dst: Residency::SinglePageBitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:358,1
    - Dst: ResidencyPageMap::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:359,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:360,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:361,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:362,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:362,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:363,1
    - Dst: Residency::SinglePageBitmaps::unbacked::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:364,1
    - Dst: Residency::SinglePageBitmaps::unbacked::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:364,1
    - Dst: Residency::SinglePageBitmaps::unbacked::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:365,1
    - Dst: Residency::SinglePageBitmaps::unbacked::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:366,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:367,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:367,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:368,1
    - Dst: Residency::SinglePageBitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - Residency::SinglePageBitmaps::unbacked::IsZero
    - std::optional::emplace
    - EXPECT_FALSE
    - EXPECT_TRUE
    - mmap
    - ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    - Residency::SinglePageBitmaps::unbacked::ClearLowestBit
    - reinterpret_cast<uint8_t*>
    - ASSERT_TRUE
    - Residency::SinglePageBitmaps::unbacked::GetBit
    - std::optional::reset
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Residency::SinglePageBitmaps::swapped::IsZero
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapIntegrationTest, WorksOnActualData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:75,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:88,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:92,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:92,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:93,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:94,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:94,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:95,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:97,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:100,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:102,1
    - Dst: mlock
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:103,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:111,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:111,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:112,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:114,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:115,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:117,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:118,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:120,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:121,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:123,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:124,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:126,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:127,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:127,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:128,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:130,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:131,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:131,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:132,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:134,1
    - Dst: ResidencyPageMap::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:135,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:135,1
    - Dst: Optional
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:136,1
    - Dst: FieldsAre
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:138,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - ResidencyPageMap::Get
    - GetPageSize
    - EXPECT_THAT
    - Optional
    - reinterpret_cast<char*>
    - mlock
    - ::benchmark::DoNotOptimize
    - memset
    - mmap
    - FieldsAre
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, ThisProcess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:144,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotOpen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:149,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:154,1
    - Dst: ResidencySpouse::Get
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - ResidencySpouse::Get
    linkageType: ''
    returnType: void
    signature: void TEST(ResidenceTest, CannotSeek)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:162,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:162,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:163,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:206,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:207,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:207,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - filename
    - case_num
    - num_pages
    argTypes:
    - absl::string_view
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 21
    functionsReached:
    - signal_safe_open
    - absl::string_view::data
    - write
    - close
    - CHECK_EQ
    - CHECK_NE
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: "void GenerateHolesInSinglePage(absl::string_view filename, int case_num,\n
      \                              int num_pages)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:219,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:223,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:230,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:239,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:249,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:251,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - case_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 14
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::SetRange
    linkageType: ''
    returnType: Residency::SinglePageBitmaps
    signature: Residency::SinglePageBitmaps GenerateExpectedSinglePageBitmaps(int
      case_num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:263,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' bitmap1'
    - ' bitmap2'
    argTypes:
    - Bitmap<512>
    - Bitmap<512>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::BitmapsAreEqual
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 14
    functionsReached:
    - GetBit
    linkageType: ''
    returnType: bool
    signature: bool BitmapsAreEqual(const Bitmap<512>& bitmap1, const Bitmap<512>&
      bitmap2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:274,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:280,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:280,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:281,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:284,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:287,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:287,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:289,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:290,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:290,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:291,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_THAT
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, GetUnbackedAndSwappedBitmaps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:298,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:298,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:299,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:301,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:302,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:305,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:305,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:307,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:308,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:308,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:309,1
    - Dst: tcmalloc::tcmalloc_internal::BitmapsAreEqual
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_THAT
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, CountHolesWithAddressBeyondFirstPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:314,1
    - Dst: testing::TempDir
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:315,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:317,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:320,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:320,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - std::optional::emplace
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - std::optional::reset
    - reinterpret_cast<void*>
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, VerifyAddressAlignmentCheckPasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:327,1
    - Dst: ResidencySpouse::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:330,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:330,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - std::optional::emplace
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapTest, VerifyAddressAlignmentBeyondFirstPageFails)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:337,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:339,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:340,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:344,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:346,1
    - Dst: ResidencyPageMap::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:348,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:350,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:351,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:351,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:352,1
    - Dst: Residency::SinglePageBitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:353,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:355,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:358,1
    - Dst: ResidencyPageMap::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:359,1
    - Dst: std::optional::reset
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:360,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:361,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:362,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:362,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:363,1
    - Dst: Residency::SinglePageBitmaps::unbacked::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:364,1
    - Dst: Residency::SinglePageBitmaps::unbacked::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:364,1
    - Dst: Residency::SinglePageBitmaps::unbacked::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:365,1
    - Dst: Residency::SinglePageBitmaps::unbacked::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:366,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:367,1
    - Dst: Residency::SinglePageBitmaps::unbacked::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:367,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:368,1
    - Dst: Residency::SinglePageBitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/internal/residency_test.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency_test.cc
    functionUses: 0
    functionsReached:
    - Residency::SinglePageBitmaps::unbacked::IsZero
    - std::optional::emplace
    - EXPECT_FALSE
    - EXPECT_TRUE
    - mmap
    - ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    - Residency::SinglePageBitmaps::unbacked::ClearLowestBit
    - reinterpret_cast<uint8_t*>
    - ASSERT_TRUE
    - Residency::SinglePageBitmaps::unbacked::GetBit
    - std::optional::reset
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Residency::SinglePageBitmaps::swapped::IsZero
    - ASSERT_EQ
    - ASSERT_NE
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(PageMapIntegrationTest, WorksOnActualData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: tcmalloc::tcmalloc_internal::PrepareStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    linkageType: ''
    returnType: StackTrace
    signature: StackTrace PrepareStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:48,1
    - Dst: SampledAllocation::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:59,1
    - Dst: tcmalloc::tcmalloc_internal::PrepareStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:59,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SampledAllocation::PrepareForSampling
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PrepareStackTrace
    linkageType: ''
    returnType: void
    signature: void TEST(SampledAllocationTest, PrepareForSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: tcmalloc::tcmalloc_internal::PrepareStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    linkageType: ''
    returnType: StackTrace
    signature: StackTrace PrepareStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:48,1
    - Dst: SampledAllocation::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:59,1
    - Dst: tcmalloc::tcmalloc_internal::PrepareStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:59,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SampledAllocation::PrepareForSampling
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PrepareStackTrace
    linkageType: ''
    returnType: void
    signature: void TEST(SampledAllocationTest, PrepareForSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: tcmalloc::tcmalloc_internal::PrepareStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    linkageType: ''
    returnType: StackTrace
    signature: StackTrace PrepareStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:48,1
    - Dst: SampledAllocation::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:59,1
    - Dst: tcmalloc::tcmalloc_internal::PrepareStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:59,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SampledAllocation::PrepareForSampling
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PrepareStackTrace
    linkageType: ''
    returnType: void
    signature: void TEST(SampledAllocationTest, PrepareForSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: tcmalloc::tcmalloc_internal::PrepareStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    linkageType: ''
    returnType: StackTrace
    signature: StackTrace PrepareStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:48,1
    - Dst: SampledAllocation::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:59,1
    - Dst: tcmalloc::tcmalloc_internal::PrepareStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:59,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SampledAllocation::PrepareForSampling
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PrepareStackTrace
    linkageType: ''
    returnType: void
    signature: void TEST(SampledAllocationTest, PrepareForSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: tcmalloc::tcmalloc_internal::PrepareStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    linkageType: ''
    returnType: StackTrace
    signature: StackTrace PrepareStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:48,1
    - Dst: SampledAllocation::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:59,1
    - Dst: tcmalloc::tcmalloc_internal::PrepareStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:59,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SampledAllocation::PrepareForSampling
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PrepareStackTrace
    linkageType: ''
    returnType: void
    signature: void TEST(SampledAllocationTest, PrepareForSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: tcmalloc::tcmalloc_internal::PrepareStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    linkageType: ''
    returnType: StackTrace
    signature: StackTrace PrepareStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:48,1
    - Dst: SampledAllocation::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:59,1
    - Dst: tcmalloc::tcmalloc_internal::PrepareStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:59,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SampledAllocation::PrepareForSampling
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PrepareStackTrace
    linkageType: ''
    returnType: void
    signature: void TEST(SampledAllocationTest, PrepareForSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: tcmalloc::tcmalloc_internal::PrepareStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    linkageType: ''
    returnType: StackTrace
    signature: StackTrace PrepareStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:48,1
    - Dst: SampledAllocation::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:59,1
    - Dst: tcmalloc::tcmalloc_internal::PrepareStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:59,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SampledAllocation::PrepareForSampling
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PrepareStackTrace
    linkageType: ''
    returnType: void
    signature: void TEST(SampledAllocationTest, PrepareForSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: tcmalloc::tcmalloc_internal::PrepareStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    linkageType: ''
    returnType: StackTrace
    signature: StackTrace PrepareStackTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:48,1
    - Dst: SampledAllocation::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:59,1
    - Dst: tcmalloc::tcmalloc_internal::PrepareStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:59,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SampledAllocation::PrepareForSampling
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PrepareStackTrace
    linkageType: ''
    returnType: void
    signature: void TEST(SampledAllocationTest, PrepareForSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:31,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:31,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:32,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:33,1
    - Dst: setenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:33,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:34,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:34,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:37,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/environment_test.cc
    functionUses: 0
    functionsReached:
    - setenv
    - strcmp
    - EXPECT_EQ
    - getenv
    - ASSERT_TRUE
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    linkageType: ''
    returnType: void
    signature: void TEST(EnvironmentTest, thread_safe_getenv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:31,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:31,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:32,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:33,1
    - Dst: setenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:33,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:34,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:34,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:37,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/environment_test.cc
    functionUses: 0
    functionsReached:
    - setenv
    - strcmp
    - EXPECT_EQ
    - getenv
    - ASSERT_TRUE
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    linkageType: ''
    returnType: void
    signature: void TEST(EnvironmentTest, thread_safe_getenv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:31,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:31,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:32,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:33,1
    - Dst: setenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:33,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:34,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:34,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:37,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/environment_test.cc
    functionUses: 0
    functionsReached:
    - setenv
    - strcmp
    - EXPECT_EQ
    - getenv
    - ASSERT_TRUE
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    linkageType: ''
    returnType: void
    signature: void TEST(EnvironmentTest, thread_safe_getenv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:31,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:31,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:32,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:33,1
    - Dst: setenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:33,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:34,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:34,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:37,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/environment_test.cc
    functionUses: 0
    functionsReached:
    - setenv
    - strcmp
    - EXPECT_EQ
    - getenv
    - ASSERT_TRUE
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    linkageType: ''
    returnType: void
    signature: void TEST(EnvironmentTest, thread_safe_getenv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:31,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:31,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:32,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:33,1
    - Dst: setenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:33,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:34,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:34,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:37,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/environment_test.cc
    functionUses: 0
    functionsReached:
    - setenv
    - strcmp
    - EXPECT_EQ
    - getenv
    - ASSERT_TRUE
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    linkageType: ''
    returnType: void
    signature: void TEST(EnvironmentTest, thread_safe_getenv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:31,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:31,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:32,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:33,1
    - Dst: setenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:33,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:34,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:34,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:37,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/environment_test.cc
    functionUses: 0
    functionsReached:
    - setenv
    - strcmp
    - EXPECT_EQ
    - getenv
    - ASSERT_TRUE
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    linkageType: ''
    returnType: void
    signature: void TEST(EnvironmentTest, thread_safe_getenv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:31,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:31,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:32,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:33,1
    - Dst: setenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:33,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:34,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:34,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:37,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/environment_test.cc
    functionUses: 0
    functionsReached:
    - setenv
    - strcmp
    - EXPECT_EQ
    - getenv
    - ASSERT_TRUE
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    linkageType: ''
    returnType: void
    signature: void TEST(EnvironmentTest, thread_safe_getenv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:31,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:31,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:32,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:33,1
    - Dst: setenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:33,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:34,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:34,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:37,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    - Dst: getenv
      Src: /src/tcmalloc/tcmalloc/internal/environment_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/environment_test.cc
    functionUses: 0
    functionsReached:
    - setenv
    - strcmp
    - EXPECT_EQ
    - getenv
    - ASSERT_TRUE
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    linkageType: ''
    returnType: void
    signature: void TEST(EnvironmentTest, thread_safe_getenv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:29,1
    - Dst: Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:35,1
    - Dst: Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:42,1
    - Dst: Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:49,1
    - Dst: Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 61
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - TC_BUG
    - Unsupported
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: tcmalloc_internal::subtle::percpu::Unsupported
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: void
    signature: void Unsupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - target_cpu
    - p
    - old_val
    - new_val
    - virtual_cpu_id_offset
    argTypes:
    - int
    - intptr_t*
    - intptr_t
    - intptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PerCpuCmpxchg64
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: int
    signature: "int TcmallocSlab_Internal_PerCpuCmpxchg64(int target_cpu, intptr_t*
      p,\n                                          intptr_t old_val, intptr_t new_val,\n
      \                                         size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - size_class
    - batch
    - len
    - slabs_and_shift
    - virtual_cpu_id_offset
    argTypes:
    - size_t
    - void**
    - size_t
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab_Internal_PushBatch(size_t size_class, void** batch,\n
      \                                      size_t len, uintptr_t slabs_and_shift,\n
      \                                      size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - size_class
    - batch
    - len
    - slabs_and_shift
    - virtual_cpu_id_offset
    argTypes:
    - size_t
    - void**
    - size_t
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab_Internal_PopBatch(size_t size_class, void** batch,\n
      \                                     size_t len, uintptr_t slabs_and_shift,\n
      \                                     size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cycles
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::subtle::percpu::PerCpuReadCycleCounter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: int
    signature: int PerCpuReadCycleCounter(int64_t* cycles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: tcmalloc_internal::subtle::percpu::Unsupported
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 4
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: void
    signature: void Unsupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - target_cpu
    - p
    - old_val
    - new_val
    - virtual_cpu_id_offset
    argTypes:
    - int
    - intptr_t*
    - intptr_t
    - intptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PerCpuCmpxchg64
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: int
    signature: "int TcmallocSlab_Internal_PerCpuCmpxchg64(int target_cpu, intptr_t*
      p,\n                                          intptr_t old_val, intptr_t new_val,\n
      \                                         size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - size_class
    - batch
    - len
    - slabs_and_shift
    - virtual_cpu_id_offset
    argTypes:
    - size_t
    - void**
    - size_t
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab_Internal_PushBatch(size_t size_class, void** batch,\n
      \                                      size_t len, uintptr_t slabs_and_shift,\n
      \                                      size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - size_class
    - batch
    - len
    - slabs_and_shift
    - virtual_cpu_id_offset
    argTypes:
    - size_t
    - void**
    - size_t
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab_Internal_PopBatch(size_t size_class, void** batch,\n
      \                                     size_t len, uintptr_t slabs_and_shift,\n
      \                                     size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cycles
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::subtle::percpu::PerCpuReadCycleCounter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: int
    signature: int PerCpuReadCycleCounter(int64_t* cycles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: tcmalloc_internal::subtle::percpu::Unsupported
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 8
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: void
    signature: void Unsupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - target_cpu
    - p
    - old_val
    - new_val
    - virtual_cpu_id_offset
    argTypes:
    - int
    - intptr_t*
    - intptr_t
    - intptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PerCpuCmpxchg64
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: int
    signature: "int TcmallocSlab_Internal_PerCpuCmpxchg64(int target_cpu, intptr_t*
      p,\n                                          intptr_t old_val, intptr_t new_val,\n
      \                                         size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - size_class
    - batch
    - len
    - slabs_and_shift
    - virtual_cpu_id_offset
    argTypes:
    - size_t
    - void**
    - size_t
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab_Internal_PushBatch(size_t size_class, void** batch,\n
      \                                      size_t len, uintptr_t slabs_and_shift,\n
      \                                      size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - size_class
    - batch
    - len
    - slabs_and_shift
    - virtual_cpu_id_offset
    argTypes:
    - size_t
    - void**
    - size_t
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab_Internal_PopBatch(size_t size_class, void** batch,\n
      \                                     size_t len, uintptr_t slabs_and_shift,\n
      \                                     size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cycles
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::subtle::percpu::PerCpuReadCycleCounter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: int
    signature: int PerCpuReadCycleCounter(int64_t* cycles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: tcmalloc_internal::subtle::percpu::Unsupported
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 12
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: void
    signature: void Unsupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - target_cpu
    - p
    - old_val
    - new_val
    - virtual_cpu_id_offset
    argTypes:
    - int
    - intptr_t*
    - intptr_t
    - intptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PerCpuCmpxchg64
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: int
    signature: "int TcmallocSlab_Internal_PerCpuCmpxchg64(int target_cpu, intptr_t*
      p,\n                                          intptr_t old_val, intptr_t new_val,\n
      \                                         size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - size_class
    - batch
    - len
    - slabs_and_shift
    - virtual_cpu_id_offset
    argTypes:
    - size_t
    - void**
    - size_t
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab_Internal_PushBatch(size_t size_class, void** batch,\n
      \                                      size_t len, uintptr_t slabs_and_shift,\n
      \                                      size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - size_class
    - batch
    - len
    - slabs_and_shift
    - virtual_cpu_id_offset
    argTypes:
    - size_t
    - void**
    - size_t
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab_Internal_PopBatch(size_t size_class, void** batch,\n
      \                                     size_t len, uintptr_t slabs_and_shift,\n
      \                                     size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cycles
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::subtle::percpu::PerCpuReadCycleCounter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: int
    signature: int PerCpuReadCycleCounter(int64_t* cycles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: tcmalloc_internal::subtle::percpu::Unsupported
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 16
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: void
    signature: void Unsupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - target_cpu
    - p
    - old_val
    - new_val
    - virtual_cpu_id_offset
    argTypes:
    - int
    - intptr_t*
    - intptr_t
    - intptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PerCpuCmpxchg64
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: int
    signature: "int TcmallocSlab_Internal_PerCpuCmpxchg64(int target_cpu, intptr_t*
      p,\n                                          intptr_t old_val, intptr_t new_val,\n
      \                                         size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - size_class
    - batch
    - len
    - slabs_and_shift
    - virtual_cpu_id_offset
    argTypes:
    - size_t
    - void**
    - size_t
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab_Internal_PushBatch(size_t size_class, void** batch,\n
      \                                      size_t len, uintptr_t slabs_and_shift,\n
      \                                      size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - size_class
    - batch
    - len
    - slabs_and_shift
    - virtual_cpu_id_offset
    argTypes:
    - size_t
    - void**
    - size_t
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab_Internal_PopBatch(size_t size_class, void** batch,\n
      \                                     size_t len, uintptr_t slabs_and_shift,\n
      \                                     size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cycles
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::subtle::percpu::PerCpuReadCycleCounter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: int
    signature: int PerCpuReadCycleCounter(int64_t* cycles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: tcmalloc_internal::subtle::percpu::Unsupported
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 20
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: void
    signature: void Unsupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - target_cpu
    - p
    - old_val
    - new_val
    - virtual_cpu_id_offset
    argTypes:
    - int
    - intptr_t*
    - intptr_t
    - intptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PerCpuCmpxchg64
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: int
    signature: "int TcmallocSlab_Internal_PerCpuCmpxchg64(int target_cpu, intptr_t*
      p,\n                                          intptr_t old_val, intptr_t new_val,\n
      \                                         size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - size_class
    - batch
    - len
    - slabs_and_shift
    - virtual_cpu_id_offset
    argTypes:
    - size_t
    - void**
    - size_t
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab_Internal_PushBatch(size_t size_class, void** batch,\n
      \                                      size_t len, uintptr_t slabs_and_shift,\n
      \                                      size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - size_class
    - batch
    - len
    - slabs_and_shift
    - virtual_cpu_id_offset
    argTypes:
    - size_t
    - void**
    - size_t
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab_Internal_PopBatch(size_t size_class, void** batch,\n
      \                                     size_t len, uintptr_t slabs_and_shift,\n
      \                                     size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cycles
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::subtle::percpu::PerCpuReadCycleCounter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: int
    signature: int PerCpuReadCycleCounter(int64_t* cycles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: tcmalloc_internal::subtle::percpu::Unsupported
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 24
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: void
    signature: void Unsupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - target_cpu
    - p
    - old_val
    - new_val
    - virtual_cpu_id_offset
    argTypes:
    - int
    - intptr_t*
    - intptr_t
    - intptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PerCpuCmpxchg64
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: int
    signature: "int TcmallocSlab_Internal_PerCpuCmpxchg64(int target_cpu, intptr_t*
      p,\n                                          intptr_t old_val, intptr_t new_val,\n
      \                                         size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - size_class
    - batch
    - len
    - slabs_and_shift
    - virtual_cpu_id_offset
    argTypes:
    - size_t
    - void**
    - size_t
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab_Internal_PushBatch(size_t size_class, void** batch,\n
      \                                      size_t len, uintptr_t slabs_and_shift,\n
      \                                      size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - size_class
    - batch
    - len
    - slabs_and_shift
    - virtual_cpu_id_offset
    argTypes:
    - size_t
    - void**
    - size_t
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab_Internal_PopBatch(size_t size_class, void** batch,\n
      \                                     size_t len, uintptr_t slabs_and_shift,\n
      \                                     size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cycles
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::subtle::percpu::PerCpuReadCycleCounter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: int
    signature: int PerCpuReadCycleCounter(int64_t* cycles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: tcmalloc_internal::subtle::percpu::Unsupported
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 28
    functionsReached:
    - TC_BUG
    linkageType: ''
    returnType: void
    signature: void Unsupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - target_cpu
    - p
    - old_val
    - new_val
    - virtual_cpu_id_offset
    argTypes:
    - int
    - intptr_t*
    - intptr_t
    - intptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PerCpuCmpxchg64
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: int
    signature: "int TcmallocSlab_Internal_PerCpuCmpxchg64(int target_cpu, intptr_t*
      p,\n                                          intptr_t old_val, intptr_t new_val,\n
      \                                         size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - size_class
    - batch
    - len
    - slabs_and_shift
    - virtual_cpu_id_offset
    argTypes:
    - size_t
    - void**
    - size_t
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab_Internal_PushBatch(size_t size_class, void** batch,\n
      \                                      size_t len, uintptr_t slabs_and_shift,\n
      \                                      size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - size_class
    - batch
    - len
    - slabs_and_shift
    - virtual_cpu_id_offset
    argTypes:
    - size_t
    - void**
    - size_t
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: size_t
    signature: "size_t TcmallocSlab_Internal_PopBatch(size_t size_class, void** batch,\n
      \                                     size_t len, uintptr_t slabs_and_shift,\n
      \                                     size_t virtual_cpu_id_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::Unsupported
      Src: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cycles
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: tcmalloc_internal::subtle::percpu::PerCpuReadCycleCounter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::Unsupported
    linkageType: ''
    returnType: int
    signature: int PerCpuReadCycleCounter(int64_t* cycles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:33,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:34,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:41,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:48,1
    - Dst: LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:54,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:58,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:58,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:61,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:64,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:67,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:68,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:76,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: LinkedList::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:86,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:86,1
    - Dst: LinkedList::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:91,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:95,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:96,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:99,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:102,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:107,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:113,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:114,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: MockSpanList::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:126,1
    - Dst: MockSpanList::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:131,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:140,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 144
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc
    functionUses: 0
    functionsReached:
    - malloc
    - MockSpanList::remove
    - range
    - iterations
    - BENCHMARK
    - SetItemsProcessed
    - LinkedList::TryPop
    - std::vector::begin
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - std::vector::end
    - LinkedList::Push
    - free
    - std::shuffle
    - MockSpanList::append
    - absl::BitGen
    - TC_CHECK_NE
    - LinkedList::PopBatch
    - std::vector::data
    - LinkedList::PushBatch
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:33,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:34,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:41,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:48,1
    - Dst: LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:54,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:58,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:58,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 63
    functionName: tcmalloc_internal::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc
    functionUses: 0
    functionsReached:
    - malloc
    - std::shuffle
    - range
    - absl::BitGen
    - SetItemsProcessed
    - LinkedList::TryPop
    - std::vector::begin
    - free
    - iterations
    - std::vector::end
    - LinkedList::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:67,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:68,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:76,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: LinkedList::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:86,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:86,1
    - Dst: LinkedList::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:91,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:95,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:96,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc
    functionUses: 0
    functionsReached:
    - malloc
    - std::shuffle
    - range
    - absl::BitGen
    - SetItemsProcessed
    - LinkedList::PopBatch
    - std::vector::begin
    - free
    - std::vector::data
    - std::vector::end
    - iterations
    - LinkedList::PushBatch
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:107,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:113,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:114,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: MockSpanList::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:126,1
    - Dst: MockSpanList::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: tcmalloc_internal::BM_AppendRemove
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc
    functionUses: 0
    functionsReached:
    - MockSpanList::remove
    - std::shuffle
    - range
    - MockSpanList::append
    - TC_CHECK_NE
    - absl::BitGen
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void BM_AppendRemove(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:33,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:34,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:41,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:48,1
    - Dst: LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:54,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:58,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:58,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 63
    functionName: tcmalloc_internal::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc
    functionUses: 0
    functionsReached:
    - malloc
    - std::shuffle
    - range
    - absl::BitGen
    - SetItemsProcessed
    - LinkedList::TryPop
    - std::vector::begin
    - free
    - iterations
    - std::vector::end
    - LinkedList::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:67,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:68,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:76,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: LinkedList::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:86,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:86,1
    - Dst: LinkedList::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:91,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:95,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:96,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc
    functionUses: 0
    functionsReached:
    - malloc
    - std::shuffle
    - range
    - absl::BitGen
    - SetItemsProcessed
    - LinkedList::PopBatch
    - std::vector::begin
    - free
    - std::vector::data
    - std::vector::end
    - iterations
    - LinkedList::PushBatch
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:107,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:113,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:114,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: MockSpanList::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:126,1
    - Dst: MockSpanList::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: tcmalloc_internal::BM_AppendRemove
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc
    functionUses: 0
    functionsReached:
    - MockSpanList::remove
    - std::shuffle
    - range
    - MockSpanList::append
    - TC_CHECK_NE
    - absl::BitGen
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void BM_AppendRemove(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:33,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:34,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:41,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:48,1
    - Dst: LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:54,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:58,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:58,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 63
    functionName: tcmalloc_internal::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc
    functionUses: 0
    functionsReached:
    - malloc
    - std::shuffle
    - range
    - absl::BitGen
    - SetItemsProcessed
    - LinkedList::TryPop
    - std::vector::begin
    - free
    - iterations
    - std::vector::end
    - LinkedList::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:67,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:68,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:76,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: LinkedList::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:86,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:86,1
    - Dst: LinkedList::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:91,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:95,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:96,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc
    functionUses: 0
    functionsReached:
    - malloc
    - std::shuffle
    - range
    - absl::BitGen
    - SetItemsProcessed
    - LinkedList::PopBatch
    - std::vector::begin
    - free
    - std::vector::data
    - std::vector::end
    - iterations
    - LinkedList::PushBatch
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:107,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:113,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:114,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: MockSpanList::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:126,1
    - Dst: MockSpanList::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: tcmalloc_internal::BM_AppendRemove
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc
    functionUses: 0
    functionsReached:
    - MockSpanList::remove
    - std::shuffle
    - range
    - MockSpanList::append
    - TC_CHECK_NE
    - absl::BitGen
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void BM_AppendRemove(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:33,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:34,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:41,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:43,1
    - Dst: LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:48,1
    - Dst: LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:54,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:58,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:58,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 63
    functionName: tcmalloc_internal::BM_PushPop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc
    functionUses: 0
    functionsReached:
    - malloc
    - std::shuffle
    - range
    - absl::BitGen
    - SetItemsProcessed
    - LinkedList::TryPop
    - std::vector::begin
    - free
    - iterations
    - std::vector::end
    - LinkedList::Push
    linkageType: ''
    returnType: void
    signature: void BM_PushPop(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:67,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:68,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:76,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:78,1
    - Dst: LinkedList::PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:86,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:86,1
    - Dst: LinkedList::PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:91,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:95,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:96,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::BM_PushPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc
    functionUses: 0
    functionsReached:
    - malloc
    - std::shuffle
    - range
    - absl::BitGen
    - SetItemsProcessed
    - LinkedList::PopBatch
    - std::vector::begin
    - free
    - std::vector::data
    - std::vector::end
    - iterations
    - LinkedList::PushBatch
    linkageType: ''
    returnType: void
    signature: void BM_PushPopBatch(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:107,1
    - Dst: tcmalloc::tcmalloc_internal::MockSpan::New
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:113,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:114,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:121,1
    - Dst: MockSpanList::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:126,1
    - Dst: MockSpanList::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: tcmalloc_internal::BM_AppendRemove
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc
    functionUses: 0
    functionsReached:
    - MockSpanList::remove
    - std::shuffle
    - range
    - MockSpanList::append
    - TC_CHECK_NE
    - absl::BitGen
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void BM_AppendRemove(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:64,1
    - Dst: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:65,1
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:70,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:71,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 76
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.h
    functionUses: 0
    functionsReached:
    - std::optional::has_value
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    - TC_CHECK
    - NumCPUsMaybe
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:64,1
    - Dst: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: tcmalloc_internal::NumCPUsMaybe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.h
    functionUses: 0
    functionsReached:
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> NumCPUsMaybe()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:70,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:71,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::NumCPUs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.h
    functionUses: 18
    functionsReached:
    - TC_CHECK
    - std::optional::has_value
    - tcmalloc_internal::NumCPUsMaybe
    linkageType: ''
    returnType: int
    signature: int NumCPUs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:64,1
    - Dst: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: tcmalloc_internal::NumCPUsMaybe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.h
    functionUses: 1
    functionsReached:
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> NumCPUsMaybe()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:70,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:71,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tcmalloc_internal::NumCPUs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.h
    functionUses: 18
    functionsReached:
    - TC_CHECK
    - std::optional::has_value
    - tcmalloc_internal::NumCPUsMaybe
    linkageType: ''
    returnType: int
    signature: int NumCPUs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::memfd_create
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: int memfd_create(const char* name, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memfd_create
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:61,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:62,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:65,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:65,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:66,1
    - Dst: lseek
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - content
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - TC_CHECK_NE
    - write
    - lseek
    - memfd_create
    - TC_CHECK_EQ
    - absl::string_view::size
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(const absl::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ~SyntheticCpuList()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~SyntheticCpuList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(const SyntheticCpuList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& operator=(const SyntheticCpuList&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SyntheticCpuList
    signature: SyntheticCpuList & operator=(const SyntheticCpuList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SyntheticCpuList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(SyntheticCpuList&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:80,1
    - Dst: SyntheticCpuList::SyntheticCpuList
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SyntheticCpuList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '& operator=(SyntheticCpuList&& other)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - SyntheticCpuList::SyntheticCpuList
    - std::move
    linkageType: ''
    returnType: SyntheticCpuList
    signature: SyntheticCpuList & operator=(SyntheticCpuList&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::fd
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fd() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memfd_create
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:97,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:99,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:101,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:104,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_internal::NumaTopologyTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    - memfd_create
    - close
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumaTopology::InitForTest
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:114,1
    - Dst: absl::Span<const SyntheticCpuList>::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:115,1
    - Dst: fd
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cpu_lists
    argTypes:
    - absl::Span<const SyntheticCpuList>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::CreateNumaTopology
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumaTopology::InitForTest
    - absl::Span<const SyntheticCpuList>::size
    - fd
    linkageType: ''
    returnType: NumaTopology<NumPartitions, ScaleBy>
    signature: "NumaTopology<NumPartitions, ScaleBy> CreateNumaTopology(\n    const
      absl::Span<const SyntheticCpuList> cpu_lists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:128,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:129,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:133,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:134,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:135,1
    - Dst: auto::GetCurrentPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    - auto::GetCurrentPartition
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, NoCompileTimeNuma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:144,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:145,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:146,1
    - Dst: auto::GetCurrentPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    - auto::GetCurrentPartition
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, NoRunTimeNuma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:157,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:158,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, SingleNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:164,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:169,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:170,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:173,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:176,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, TwoNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:183,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:184,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:185,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:189,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:190,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:193,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:196,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, EmptyNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:208,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:209,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:210,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:211,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:212,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:216,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:217,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:220,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:223,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:226,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:229,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:232,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, LongCpuLists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumaTopology::Init
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:240,1
    - Dst: NumaTopology::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:242,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:246,1
    - Dst: NumaTopology::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:247,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumaTopology::GetCpuPartition
    - EXPECT_LT
    - NumaTopology::active_partitions
    - NumCPUs
    - NumaTopology::Init
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, Host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::memfd_create
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: int memfd_create(const char* name, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memfd_create
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:61,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:62,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:65,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:65,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:66,1
    - Dst: lseek
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - content
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - TC_CHECK_NE
    - write
    - lseek
    - memfd_create
    - TC_CHECK_EQ
    - absl::string_view::size
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(const absl::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ~SyntheticCpuList()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~SyntheticCpuList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(const SyntheticCpuList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& operator=(const SyntheticCpuList&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SyntheticCpuList
    signature: SyntheticCpuList & operator=(const SyntheticCpuList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SyntheticCpuList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(SyntheticCpuList&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:80,1
    - Dst: SyntheticCpuList::SyntheticCpuList
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SyntheticCpuList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '& operator=(SyntheticCpuList&& other)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - SyntheticCpuList::SyntheticCpuList
    - std::move
    linkageType: ''
    returnType: SyntheticCpuList
    signature: SyntheticCpuList & operator=(SyntheticCpuList&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::fd
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fd() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memfd_create
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:97,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:99,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:101,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:104,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_internal::NumaTopologyTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    - memfd_create
    - close
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumaTopology::InitForTest
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:114,1
    - Dst: absl::Span<const SyntheticCpuList>::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:115,1
    - Dst: fd
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cpu_lists
    argTypes:
    - absl::Span<const SyntheticCpuList>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::CreateNumaTopology
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 6
    functionsReached:
    - NumaTopology::InitForTest
    - absl::Span<const SyntheticCpuList>::size
    - fd
    linkageType: ''
    returnType: NumaTopology<NumPartitions, ScaleBy>
    signature: "NumaTopology<NumPartitions, ScaleBy> CreateNumaTopology(\n    const
      absl::Span<const SyntheticCpuList> cpu_lists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:128,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:129,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:133,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:134,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:135,1
    - Dst: auto::GetCurrentPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    - auto::GetCurrentPartition
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, NoCompileTimeNuma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:144,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:145,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:146,1
    - Dst: auto::GetCurrentPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    - auto::GetCurrentPartition
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, NoRunTimeNuma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:157,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:158,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, SingleNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:164,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:169,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:170,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:173,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:176,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, TwoNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:183,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:184,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:185,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:189,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:190,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:193,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:196,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, EmptyNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:208,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:209,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:210,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:211,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:212,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:216,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:217,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:220,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:223,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:226,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:229,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:232,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, LongCpuLists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumaTopology::Init
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:240,1
    - Dst: NumaTopology::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:242,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:246,1
    - Dst: NumaTopology::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:247,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumaTopology::GetCpuPartition
    - EXPECT_LT
    - NumaTopology::active_partitions
    - NumCPUs
    - NumaTopology::Init
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, Host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::memfd_create
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: int memfd_create(const char* name, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memfd_create
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:61,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:62,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:65,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:65,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:66,1
    - Dst: lseek
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - content
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - TC_CHECK_NE
    - write
    - lseek
    - memfd_create
    - TC_CHECK_EQ
    - absl::string_view::size
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(const absl::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ~SyntheticCpuList()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~SyntheticCpuList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(const SyntheticCpuList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& operator=(const SyntheticCpuList&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SyntheticCpuList
    signature: SyntheticCpuList & operator=(const SyntheticCpuList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SyntheticCpuList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(SyntheticCpuList&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:80,1
    - Dst: SyntheticCpuList::SyntheticCpuList
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SyntheticCpuList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '& operator=(SyntheticCpuList&& other)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - SyntheticCpuList::SyntheticCpuList
    - std::move
    linkageType: ''
    returnType: SyntheticCpuList
    signature: SyntheticCpuList & operator=(SyntheticCpuList&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::fd
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fd() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memfd_create
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:97,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:99,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:101,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:104,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_internal::NumaTopologyTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    - memfd_create
    - close
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumaTopology::InitForTest
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:114,1
    - Dst: absl::Span<const SyntheticCpuList>::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:115,1
    - Dst: fd
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cpu_lists
    argTypes:
    - absl::Span<const SyntheticCpuList>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::CreateNumaTopology
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 12
    functionsReached:
    - NumaTopology::InitForTest
    - absl::Span<const SyntheticCpuList>::size
    - fd
    linkageType: ''
    returnType: NumaTopology<NumPartitions, ScaleBy>
    signature: "NumaTopology<NumPartitions, ScaleBy> CreateNumaTopology(\n    const
      absl::Span<const SyntheticCpuList> cpu_lists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:128,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:129,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:133,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:134,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:135,1
    - Dst: auto::GetCurrentPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    - auto::GetCurrentPartition
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, NoCompileTimeNuma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:144,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:145,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:146,1
    - Dst: auto::GetCurrentPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    - auto::GetCurrentPartition
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, NoRunTimeNuma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:157,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:158,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, SingleNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:164,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:169,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:170,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:173,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:176,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, TwoNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:183,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:184,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:185,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:189,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:190,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:193,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:196,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, EmptyNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:208,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:209,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:210,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:211,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:212,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:216,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:217,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:220,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:223,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:226,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:229,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:232,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, LongCpuLists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumaTopology::Init
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:240,1
    - Dst: NumaTopology::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:242,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:246,1
    - Dst: NumaTopology::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:247,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumaTopology::GetCpuPartition
    - EXPECT_LT
    - NumaTopology::active_partitions
    - NumCPUs
    - NumaTopology::Init
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, Host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::memfd_create
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: int memfd_create(const char* name, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memfd_create
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:61,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:62,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:65,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:65,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:66,1
    - Dst: lseek
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - content
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - TC_CHECK_NE
    - write
    - lseek
    - memfd_create
    - TC_CHECK_EQ
    - absl::string_view::size
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(const absl::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ~SyntheticCpuList()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~SyntheticCpuList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(const SyntheticCpuList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& operator=(const SyntheticCpuList&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SyntheticCpuList
    signature: SyntheticCpuList & operator=(const SyntheticCpuList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SyntheticCpuList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(SyntheticCpuList&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:80,1
    - Dst: SyntheticCpuList::SyntheticCpuList
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SyntheticCpuList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '& operator=(SyntheticCpuList&& other)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - SyntheticCpuList::SyntheticCpuList
    - std::move
    linkageType: ''
    returnType: SyntheticCpuList
    signature: SyntheticCpuList & operator=(SyntheticCpuList&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::fd
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fd() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memfd_create
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:97,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:99,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:101,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:104,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_internal::NumaTopologyTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    - memfd_create
    - close
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumaTopology::InitForTest
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:114,1
    - Dst: absl::Span<const SyntheticCpuList>::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:115,1
    - Dst: fd
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cpu_lists
    argTypes:
    - absl::Span<const SyntheticCpuList>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::CreateNumaTopology
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 18
    functionsReached:
    - NumaTopology::InitForTest
    - absl::Span<const SyntheticCpuList>::size
    - fd
    linkageType: ''
    returnType: NumaTopology<NumPartitions, ScaleBy>
    signature: "NumaTopology<NumPartitions, ScaleBy> CreateNumaTopology(\n    const
      absl::Span<const SyntheticCpuList> cpu_lists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:128,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:129,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:133,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:134,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:135,1
    - Dst: auto::GetCurrentPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    - auto::GetCurrentPartition
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, NoCompileTimeNuma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:144,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:145,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:146,1
    - Dst: auto::GetCurrentPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    - auto::GetCurrentPartition
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, NoRunTimeNuma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:157,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:158,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, SingleNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:164,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:169,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:170,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:173,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:176,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, TwoNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:183,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:184,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:185,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:189,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:190,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:193,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:196,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, EmptyNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:208,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:209,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:210,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:211,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:212,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:216,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:217,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:220,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:223,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:226,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:229,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:232,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, LongCpuLists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumaTopology::Init
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:240,1
    - Dst: NumaTopology::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:242,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:246,1
    - Dst: NumaTopology::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:247,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumaTopology::GetCpuPartition
    - EXPECT_LT
    - NumaTopology::active_partitions
    - NumCPUs
    - NumaTopology::Init
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, Host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::memfd_create
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: int memfd_create(const char* name, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memfd_create
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:61,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:62,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:65,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:65,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:66,1
    - Dst: lseek
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - content
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - TC_CHECK_NE
    - write
    - lseek
    - memfd_create
    - TC_CHECK_EQ
    - absl::string_view::size
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(const absl::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ~SyntheticCpuList()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~SyntheticCpuList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(const SyntheticCpuList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& operator=(const SyntheticCpuList&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SyntheticCpuList
    signature: SyntheticCpuList & operator=(const SyntheticCpuList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SyntheticCpuList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(SyntheticCpuList&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:80,1
    - Dst: SyntheticCpuList::SyntheticCpuList
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SyntheticCpuList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '& operator=(SyntheticCpuList&& other)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - SyntheticCpuList::SyntheticCpuList
    - std::move
    linkageType: ''
    returnType: SyntheticCpuList
    signature: SyntheticCpuList & operator=(SyntheticCpuList&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::fd
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fd() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memfd_create
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:97,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:99,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:101,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:104,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_internal::NumaTopologyTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    - memfd_create
    - close
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumaTopology::InitForTest
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:114,1
    - Dst: absl::Span<const SyntheticCpuList>::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:115,1
    - Dst: fd
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cpu_lists
    argTypes:
    - absl::Span<const SyntheticCpuList>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::CreateNumaTopology
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 24
    functionsReached:
    - NumaTopology::InitForTest
    - absl::Span<const SyntheticCpuList>::size
    - fd
    linkageType: ''
    returnType: NumaTopology<NumPartitions, ScaleBy>
    signature: "NumaTopology<NumPartitions, ScaleBy> CreateNumaTopology(\n    const
      absl::Span<const SyntheticCpuList> cpu_lists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:128,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:129,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:133,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:134,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:135,1
    - Dst: auto::GetCurrentPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    - auto::GetCurrentPartition
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, NoCompileTimeNuma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:144,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:145,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:146,1
    - Dst: auto::GetCurrentPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    - auto::GetCurrentPartition
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, NoRunTimeNuma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:157,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:158,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, SingleNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:164,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:169,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:170,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:173,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:176,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, TwoNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:183,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:184,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:185,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:189,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:190,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:193,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:196,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, EmptyNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:208,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:209,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:210,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:211,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:212,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:216,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:217,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:220,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:223,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:226,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:229,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:232,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, LongCpuLists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumaTopology::Init
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:240,1
    - Dst: NumaTopology::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:242,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:246,1
    - Dst: NumaTopology::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:247,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumaTopology::GetCpuPartition
    - EXPECT_LT
    - NumaTopology::active_partitions
    - NumCPUs
    - NumaTopology::Init
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, Host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::memfd_create
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: int memfd_create(const char* name, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memfd_create
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:61,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:62,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:65,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:65,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:66,1
    - Dst: lseek
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - content
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - TC_CHECK_NE
    - write
    - lseek
    - memfd_create
    - TC_CHECK_EQ
    - absl::string_view::size
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(const absl::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ~SyntheticCpuList()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~SyntheticCpuList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(const SyntheticCpuList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& operator=(const SyntheticCpuList&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SyntheticCpuList
    signature: SyntheticCpuList & operator=(const SyntheticCpuList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SyntheticCpuList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(SyntheticCpuList&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:80,1
    - Dst: SyntheticCpuList::SyntheticCpuList
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SyntheticCpuList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '& operator=(SyntheticCpuList&& other)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - SyntheticCpuList::SyntheticCpuList
    - std::move
    linkageType: ''
    returnType: SyntheticCpuList
    signature: SyntheticCpuList & operator=(SyntheticCpuList&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::fd
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fd() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memfd_create
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:97,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:99,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:101,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:104,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_internal::NumaTopologyTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    - memfd_create
    - close
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumaTopology::InitForTest
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:114,1
    - Dst: absl::Span<const SyntheticCpuList>::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:115,1
    - Dst: fd
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cpu_lists
    argTypes:
    - absl::Span<const SyntheticCpuList>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::CreateNumaTopology
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 30
    functionsReached:
    - NumaTopology::InitForTest
    - absl::Span<const SyntheticCpuList>::size
    - fd
    linkageType: ''
    returnType: NumaTopology<NumPartitions, ScaleBy>
    signature: "NumaTopology<NumPartitions, ScaleBy> CreateNumaTopology(\n    const
      absl::Span<const SyntheticCpuList> cpu_lists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:128,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:129,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:133,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:134,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:135,1
    - Dst: auto::GetCurrentPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    - auto::GetCurrentPartition
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, NoCompileTimeNuma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:144,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:145,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:146,1
    - Dst: auto::GetCurrentPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    - auto::GetCurrentPartition
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, NoRunTimeNuma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:157,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:158,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, SingleNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:164,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:169,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:170,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:173,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:176,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, TwoNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:183,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:184,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:185,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:189,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:190,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:193,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:196,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, EmptyNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:208,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:209,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:210,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:211,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:212,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:216,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:217,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:220,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:223,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:226,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:229,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:232,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, LongCpuLists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumaTopology::Init
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:240,1
    - Dst: NumaTopology::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:242,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:246,1
    - Dst: NumaTopology::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:247,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumaTopology::GetCpuPartition
    - EXPECT_LT
    - NumaTopology::active_partitions
    - NumCPUs
    - NumaTopology::Init
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, Host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::memfd_create
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: int memfd_create(const char* name, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memfd_create
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:61,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:62,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:65,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:65,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:66,1
    - Dst: lseek
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - content
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - TC_CHECK_NE
    - write
    - lseek
    - memfd_create
    - TC_CHECK_EQ
    - absl::string_view::size
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(const absl::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ~SyntheticCpuList()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~SyntheticCpuList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(const SyntheticCpuList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& operator=(const SyntheticCpuList&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SyntheticCpuList
    signature: SyntheticCpuList & operator=(const SyntheticCpuList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SyntheticCpuList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(SyntheticCpuList&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:80,1
    - Dst: SyntheticCpuList::SyntheticCpuList
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SyntheticCpuList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '& operator=(SyntheticCpuList&& other)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - SyntheticCpuList::SyntheticCpuList
    - std::move
    linkageType: ''
    returnType: SyntheticCpuList
    signature: SyntheticCpuList & operator=(SyntheticCpuList&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::fd
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fd() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memfd_create
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:97,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:99,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:101,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:104,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_internal::NumaTopologyTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    - memfd_create
    - close
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumaTopology::InitForTest
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:114,1
    - Dst: absl::Span<const SyntheticCpuList>::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:115,1
    - Dst: fd
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cpu_lists
    argTypes:
    - absl::Span<const SyntheticCpuList>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::CreateNumaTopology
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 36
    functionsReached:
    - NumaTopology::InitForTest
    - absl::Span<const SyntheticCpuList>::size
    - fd
    linkageType: ''
    returnType: NumaTopology<NumPartitions, ScaleBy>
    signature: "NumaTopology<NumPartitions, ScaleBy> CreateNumaTopology(\n    const
      absl::Span<const SyntheticCpuList> cpu_lists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:128,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:129,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:133,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:134,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:135,1
    - Dst: auto::GetCurrentPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    - auto::GetCurrentPartition
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, NoCompileTimeNuma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:144,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:145,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:146,1
    - Dst: auto::GetCurrentPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    - auto::GetCurrentPartition
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, NoRunTimeNuma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:157,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:158,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, SingleNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:164,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:169,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:170,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:173,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:176,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, TwoNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:183,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:184,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:185,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:189,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:190,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:193,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:196,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, EmptyNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:208,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:209,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:210,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:211,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:212,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:216,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:217,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:220,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:223,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:226,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:229,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:232,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, LongCpuLists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumaTopology::Init
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:240,1
    - Dst: NumaTopology::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:242,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:246,1
    - Dst: NumaTopology::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:247,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumaTopology::GetCpuPartition
    - EXPECT_LT
    - NumaTopology::active_partitions
    - NumCPUs
    - NumaTopology::Init
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, Host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::memfd_create
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: int memfd_create(const char* name, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memfd_create
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:61,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:62,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:64,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:65,1
    - Dst: write
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:65,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:66,1
    - Dst: lseek
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - content
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - TC_CHECK_NE
    - write
    - lseek
    - memfd_create
    - TC_CHECK_EQ
    - absl::string_view::size
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(const absl::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ~SyntheticCpuList()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~SyntheticCpuList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(const SyntheticCpuList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& operator=(const SyntheticCpuList&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SyntheticCpuList
    signature: SyntheticCpuList & operator=(const SyntheticCpuList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SyntheticCpuList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: void
    signature: void SyntheticCpuList(SyntheticCpuList&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:80,1
    - Dst: SyntheticCpuList::SyntheticCpuList
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SyntheticCpuList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '& operator=(SyntheticCpuList&& other)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - SyntheticCpuList::SyntheticCpuList
    - std::move
    linkageType: ''
    returnType: SyntheticCpuList
    signature: SyntheticCpuList & operator=(SyntheticCpuList&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::SyntheticCpuList::fd
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fd() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memfd_create
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:97,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:99,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:101,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:104,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_internal::NumaTopologyTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    - memfd_create
    - close
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumaTopology::InitForTest
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:114,1
    - Dst: absl::Span<const SyntheticCpuList>::size
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:115,1
    - Dst: fd
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cpu_lists
    argTypes:
    - absl::Span<const SyntheticCpuList>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::CreateNumaTopology
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 42
    functionsReached:
    - NumaTopology::InitForTest
    - absl::Span<const SyntheticCpuList>::size
    - fd
    linkageType: ''
    returnType: NumaTopology<NumPartitions, ScaleBy>
    signature: "NumaTopology<NumPartitions, ScaleBy> CreateNumaTopology(\n    const
      absl::Span<const SyntheticCpuList> cpu_lists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:128,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:129,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:133,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:134,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:135,1
    - Dst: auto::GetCurrentPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    - auto::GetCurrentPartition
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, NoCompileTimeNuma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:144,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:145,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:146,1
    - Dst: auto::GetCurrentPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    - auto::GetCurrentPartition
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, NoRunTimeNuma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:157,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:158,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, SingleNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:164,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:169,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:170,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:173,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:176,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, TwoNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:183,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:184,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:185,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:189,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:190,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:193,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:196,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, EmptyNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:208,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:209,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:210,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:211,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:212,1
    - Dst: tcmalloc::tcmalloc_internal::CreateNumaTopology
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:216,1
    - Dst: auto::numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:217,1
    - Dst: auto::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:220,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:223,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:226,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:229,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:232,1
    - Dst: auto::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::numa_aware
    - std::vector::emplace_back
    - auto::active_partitions
    - auto::GetCpuPartition
    - tcmalloc::tcmalloc_internal::CreateNumaTopology
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, LongCpuLists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumaTopology::Init
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:240,1
    - Dst: NumaTopology::active_partitions
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:242,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:246,1
    - Dst: NumaTopology::GetCpuPartition
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:247,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/numa_test.cc:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumaTopology::GetCpuPartition
    - EXPECT_LT
    - NumaTopology::active_partitions
    - NumCPUs
    - NumaTopology::Init
    linkageType: ''
    returnType: void
    signature: void TEST_F(NumaTopologyTest, Host)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/environment.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h:39,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h:39,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 60
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    - std::move
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: tcmalloc_internal::SampledAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampledAllocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h:39,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' stack_trace'
    argTypes:
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::SampledAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    - std::move
    linkageType: ''
    returnType: void
    signature: void SampledAllocation(StackTrace&& stack_trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc_internal::SampledAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampledAllocation(const SampledAllocation&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(const SampledAllocation&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SampledAllocation
    signature: SampledAllocation & operator=(const SampledAllocation&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::SampledAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampledAllocation(SampledAllocation&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '& operator=(SampledAllocation&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SampledAllocation
    signature: SampledAllocation & operator=(SampledAllocation&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: tcmalloc_internal::SampledAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampledAllocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h:39,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' stack_trace'
    argTypes:
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tcmalloc_internal::SampledAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    functionUses: 0
    functionsReached:
    - PrepareForSampling
    - std::move
    linkageType: ''
    returnType: void
    signature: void SampledAllocation(StackTrace&& stack_trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tcmalloc_internal::SampledAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampledAllocation(const SampledAllocation&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(const SampledAllocation&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SampledAllocation
    signature: SampledAllocation & operator=(const SampledAllocation&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::SampledAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SampledAllocation(SampledAllocation&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '& operator=(SampledAllocation&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SampledAllocation
    signature: SampledAllocation & operator=(SampledAllocation&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:34,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:37,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:43,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:51,1
    - Dst: AndersonDarlingTest
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:54,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:55,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TestNextRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - std::vector::begin
    - EXPECT_GT
    - std::sort
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - std::min
    - std::vector::end
    - AndersonDarlingTest
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TestNextRandom(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:61,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:62,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestNextRandom
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, TestNextRandom_MultipleValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:75,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, NextRand_range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:89,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:90,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:92,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, arithmetic_1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:110,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:116,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:119,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - EXPECT_GT
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, CoinFlip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:34,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:37,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:43,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:51,1
    - Dst: AndersonDarlingTest
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:54,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:55,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TestNextRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 1
    functionsReached:
    - static_cast<uint64_t>
    - std::vector::begin
    - EXPECT_GT
    - std::sort
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - std::min
    - std::vector::end
    - AndersonDarlingTest
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TestNextRandom(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:61,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:62,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestNextRandom
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, TestNextRandom_MultipleValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:75,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, NextRand_range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:89,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:90,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:92,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, arithmetic_1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:110,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:116,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:119,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - EXPECT_GT
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, CoinFlip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:34,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:37,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:43,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:51,1
    - Dst: AndersonDarlingTest
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:54,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:55,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TestNextRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 2
    functionsReached:
    - static_cast<uint64_t>
    - std::vector::begin
    - EXPECT_GT
    - std::sort
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - std::min
    - std::vector::end
    - AndersonDarlingTest
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TestNextRandom(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:61,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:62,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestNextRandom
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, TestNextRandom_MultipleValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:75,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, NextRand_range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:89,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:90,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:92,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, arithmetic_1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:110,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:116,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:119,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - EXPECT_GT
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, CoinFlip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:34,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:37,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:43,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:51,1
    - Dst: AndersonDarlingTest
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:54,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:55,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TestNextRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 3
    functionsReached:
    - static_cast<uint64_t>
    - std::vector::begin
    - EXPECT_GT
    - std::sort
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - std::min
    - std::vector::end
    - AndersonDarlingTest
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TestNextRandom(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:61,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:62,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestNextRandom
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, TestNextRandom_MultipleValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:75,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, NextRand_range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:89,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:90,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:92,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, arithmetic_1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:110,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:116,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:119,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - EXPECT_GT
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, CoinFlip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:34,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:37,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:43,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:51,1
    - Dst: AndersonDarlingTest
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:54,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:55,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TestNextRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 4
    functionsReached:
    - static_cast<uint64_t>
    - std::vector::begin
    - EXPECT_GT
    - std::sort
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - std::min
    - std::vector::end
    - AndersonDarlingTest
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TestNextRandom(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:61,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:62,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestNextRandom
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, TestNextRandom_MultipleValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:75,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, NextRand_range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:89,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:90,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:92,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, arithmetic_1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:110,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:116,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:119,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - EXPECT_GT
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, CoinFlip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:34,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:37,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:43,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:51,1
    - Dst: AndersonDarlingTest
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:54,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:55,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TestNextRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 5
    functionsReached:
    - static_cast<uint64_t>
    - std::vector::begin
    - EXPECT_GT
    - std::sort
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - std::min
    - std::vector::end
    - AndersonDarlingTest
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TestNextRandom(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:61,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:62,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestNextRandom
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, TestNextRandom_MultipleValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:75,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, NextRand_range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:89,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:90,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:92,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, arithmetic_1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:110,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:116,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:119,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - EXPECT_GT
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, CoinFlip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:34,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:37,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:43,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:51,1
    - Dst: AndersonDarlingTest
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:54,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:55,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TestNextRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    - std::vector::begin
    - EXPECT_GT
    - std::sort
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - std::min
    - std::vector::end
    - AndersonDarlingTest
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TestNextRandom(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:61,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:62,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestNextRandom
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, TestNextRandom_MultipleValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:75,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, NextRand_range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:89,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:90,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:92,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, arithmetic_1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:110,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:116,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:119,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - EXPECT_GT
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, CoinFlip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:34,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:37,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:43,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:46,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:51,1
    - Dst: AndersonDarlingTest
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:54,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:55,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::TestNextRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 7
    functionsReached:
    - static_cast<uint64_t>
    - std::vector::begin
    - EXPECT_GT
    - std::sort
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - std::min
    - std::vector::end
    - AndersonDarlingTest
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TestNextRandom(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:61,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:62,1
    - Dst: tcmalloc::tcmalloc_internal::TestNextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestNextRandom
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, TestNextRandom_MultipleValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:75,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, NextRand_range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:89,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:90,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:92,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, arithmetic_1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:110,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:116,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:119,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - EXPECT_GT
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(ExponentialBiased, CoinFlip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/clock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/internal/environment.cc:33,1
    - Dst: strncmp
      Src: /src/tcmalloc/tcmalloc/internal/environment.cc:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 51
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/environment.cc
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/internal/environment.cc:33,1
    - Dst: strncmp
      Src: /src/tcmalloc/tcmalloc/internal/environment.cc:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - env_var
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::thread_safe_getenv
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/environment.cc
    functionUses: 35
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: ABSL_ATTRIBUTE_WEAK * thread_safe_getenv(const char* env_var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - env_var
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: tcmalloc_internal::thread_safe_getenv
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/environment.cc
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * thread_safe_getenv(const char* env_var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/internal/environment.cc:33,1
    - Dst: strncmp
      Src: /src/tcmalloc/tcmalloc/internal/environment.cc:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - env_var
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: tcmalloc_internal::thread_safe_getenv
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/environment.cc
    functionUses: 35
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_WEAK
    signature: ABSL_ATTRIBUTE_WEAK * thread_safe_getenv(const char* env_var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - env_var
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: tcmalloc_internal::thread_safe_getenv
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/environment.cc
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * thread_safe_getenv(const char* env_var)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RangeTracker::used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:42,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:44,1
    - Dst: RangeTracker::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:44,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:45,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:46,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:51,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:51,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:53,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:55,1
    - Dst: RangeTracker::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:55,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:56,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:59,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:59,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:62,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:63,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:70,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:71,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:72,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:75,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:75,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:78,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:79,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:80,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:81,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:82,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:83,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:88,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:92,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:93,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:94,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:96,1
    - Dst: RangeTracker::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:100,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:102,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:103,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:104,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:107,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:107,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:110,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:111,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:112,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:117,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:118,1
    - Dst: RangeTracker::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:119,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:120,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:122,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:122,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:126,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:126,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:129,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:130,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:135,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:136,1
    - Dst: RangeTracker::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:137,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:138,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:139,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:141,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:145,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:145,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:148,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:149,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:160,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:162,1
    - Dst: FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:166,1
    - Dst: FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:168,1
    - Dst: ExamineDoFind<N, Goal, Dir>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:179,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:180,1
    - Dst: ExamineDoFind<N, Goal, Dir>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:187,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:188,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:202,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:203,1
    - Dst: DoSearchBenchmark<N, Goal, Dir>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:204,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:207,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:208,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:209,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:210,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:211,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:212,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:213,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:214,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:215,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:216,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:217,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:218,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:225,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:226,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:227,1
    - Dst: DoSearchBenchmark<N, Goal, Dir>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:228,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:231,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:232,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:233,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:234,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:235,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:236,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:237,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:238,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:239,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:240,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:241,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:242,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:247,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:250,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:251,1
    - Dst: DoSearchBenchmark<N, Goal, Dir>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:252,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:255,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:256,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:257,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:258,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:259,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:260,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:261,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:262,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:263,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:264,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:265,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:266,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:273,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:274,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:277,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:277,1
    - Dst: DoSearchBenchmark<N, Goal, Dir>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:279,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:282,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:283,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:284,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:285,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:286,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:287,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:288,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:289,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:290,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:291,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:292,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:293,1
    - Dst: Bitmap::NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:301,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:302,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:303,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:317,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:318,1
    - Dst: DoScanBenchmark<N>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:319,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:320,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:323,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:324,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:325,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:332,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:333,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:334,1
    - Dst: DoScanBenchmark<N>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:336,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:337,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:340,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:341,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:342,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:349,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:350,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:353,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:353,1
    - Dst: DoScanBenchmark<N>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:355,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:356,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:359,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:360,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:361,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:368,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:369,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:374,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:375,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:376,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:380,1
    - Dst: DoScanBenchmark<N>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:384,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:385,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:388,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:389,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:390,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 212
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 394
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - FindClear
    - std::min
    - DoScanBenchmark<N>
    - iterations
    - absl::Uniform<int32_t>
    - RangeTracker::longest_free
    - Bitmap::SetBit
    - Bitmap::SetRange
    - SetItemsProcessed
    - BENCHMARK_TEMPLATE
    - benchmark::DoNotOptimize
    - FindSetBackwards
    - FindClearBackwards
    - Bitmap::ClearBit
    - ResumeTiming
    - DoSearchBenchmark<N, Goal, Dir>
    - Bitmap::NextFreeRange
    - PauseTiming
    - RangeTracker::used
    - KeepRunningBatch
    - FindSet
    - std::vector::push_back
    - absl::Bernoulli
    - RangeTracker::FindAndMark
    - std::vector::size
    - RangeTracker::Clear
    - RangeTracker::Unmark
    - absl::LogUniform<int32_t>
    - ExamineDoFind<N, Goal, Dir>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RangeTracker::used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:42,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:44,1
    - Dst: RangeTracker::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:44,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:45,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:46,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:51,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:51,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:53,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:55,1
    - Dst: RangeTracker::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:55,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:56,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:59,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: tcmalloc_internal::BM_MarkUnmark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - RangeTracker::longest_free
    - std::vector::push_back
    - SetItemsProcessed
    - RangeTracker::FindAndMark
    - std::vector::size
    - RangeTracker::Unmark
    - RangeTracker::used
    - iterations
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void BM_MarkUnmark(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:70,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:71,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:72,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:75,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::BM_MarkUnmarkEmpty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - SetItemsProcessed
    - benchmark::DoNotOptimize
    - RangeTracker::FindAndMark
    - RangeTracker::Unmark
    - iterations
    linkageType: ''
    returnType: void
    signature: void BM_MarkUnmarkEmpty(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:88,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:92,1
    - Dst: tcmalloc_internal::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:93,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:94,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:96,1
    - Dst: RangeTracker::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:100,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:102,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:103,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:104,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:107,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::BM_MarkUnmarkChunks
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - RangeTracker::longest_free
    - SetItemsProcessed
    - RangeTracker::FindAndMark
    - tcmalloc_internal::min
    - benchmark::DoNotOptimize
    - RangeTracker::Unmark
    - iterations
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void BM_MarkUnmarkChunks(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:117,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:118,1
    - Dst: RangeTracker::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:119,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:120,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:122,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:122,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:126,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::BM_FillOnes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - PauseTiming
    - SetItemsProcessed
    - benchmark::DoNotOptimize
    - RangeTracker::Clear
    - RangeTracker::FindAndMark
    - ResumeTiming
    - KeepRunningBatch
    - iterations
    linkageType: ''
    returnType: void
    signature: void BM_FillOnes(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:135,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:136,1
    - Dst: RangeTracker::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:137,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:138,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:139,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:141,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:145,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: tcmalloc_internal::BM_EmptyOnes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - PauseTiming
    - SetItemsProcessed
    - RangeTracker::Clear
    - RangeTracker::FindAndMark
    - RangeTracker::Unmark
    - ResumeTiming
    - KeepRunningBatch
    - iterations
    linkageType: ''
    returnType: void
    signature: void BM_EmptyOnes(benchmark::State& state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap<N>*::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:160,1
    - Dst: Bitmap<N>*::FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:162,1
    - Dst: Bitmap<N>*::FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:166,1
    - Dst: Bitmap<N>*::FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - map
    - index
    argTypes:
    - Bitmap<N>*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: tcmalloc_internal::ExamineDoFind
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap<N>*::FindSetBackwards
    - Bitmap<N>*::FindClearBackwards
    - Bitmap<N>*::FindClear
    - Bitmap<N>*::FindSet
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE ExamineDoFind(Bitmap<N>* map, size_t index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExamineDoFind
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:179,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:180,1
    - Dst: tcmalloc_internal::ExamineDoFind
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:187,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - map
    - ' state'
    argTypes:
    - Bitmap<N>*
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 193
    functionName: tcmalloc_internal::DoSearchBenchmark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - tcmalloc_internal::ExamineDoFind
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE DoSearchBenchmark(Bitmap<N>* map,\n                                               benchmark::State&
      state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:202,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:203,1
    - Dst: tcmalloc_internal::DoSearchBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: tcmalloc_internal::BM_FindEmpty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_FindEmpty(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:225,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:226,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:227,1
    - Dst: tcmalloc_internal::DoSearchBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: tcmalloc_internal::BM_FindLast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_FindLast(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:247,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:250,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:251,1
    - Dst: tcmalloc_internal::DoSearchBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: tcmalloc_internal::BM_FindFull
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - Bitmap::SetRange
    - tcmalloc_internal::DoSearchBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_FindFull(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:273,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:274,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:277,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:277,1
    - Dst: tcmalloc_internal::DoSearchBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: tcmalloc_internal::BM_FindRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    - absl::Bernoulli
    linkageType: ''
    returnType: void
    signature: void BM_FindRandom(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap<N>*::NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:301,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:302,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - set
    - ' state'
    argTypes:
    - Bitmap<N>*
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: tcmalloc_internal::DoScanBenchmark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap<N>*::NextFreeRange
    - benchmark::DoNotOptimize
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE DoScanBenchmark(Bitmap<N>* set,\n                                               benchmark::State&
      state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:317,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:318,1
    - Dst: tcmalloc_internal::DoScanBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:319,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: tcmalloc_internal::BM_ScanEmpty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - tcmalloc_internal::DoScanBenchmark
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_ScanEmpty(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:332,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:333,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:334,1
    - Dst: tcmalloc_internal::DoScanBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:336,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::BM_ScanFull
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::SetRange
    - SetItemsProcessed
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_ScanFull(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:349,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:350,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:353,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:353,1
    - Dst: tcmalloc_internal::DoScanBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:355,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: tcmalloc_internal::BM_ScanRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - SetItemsProcessed
    - absl::Bernoulli
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_ScanRandom(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:368,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:369,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:374,1
    - Dst: tcmalloc_internal::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:375,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:376,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:380,1
    - Dst: tcmalloc_internal::DoScanBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:384,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 386
    functionName: tcmalloc_internal::BM_ScanChunks
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::SetRange
    - SetItemsProcessed
    - tcmalloc_internal::min
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void BM_ScanChunks(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RangeTracker::used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:42,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:44,1
    - Dst: RangeTracker::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:44,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:45,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:46,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:51,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:51,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:53,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:55,1
    - Dst: RangeTracker::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:55,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:56,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:59,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: tcmalloc_internal::BM_MarkUnmark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - RangeTracker::longest_free
    - std::vector::push_back
    - SetItemsProcessed
    - RangeTracker::FindAndMark
    - std::vector::size
    - RangeTracker::Unmark
    - RangeTracker::used
    - iterations
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void BM_MarkUnmark(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:70,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:71,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:72,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:75,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::BM_MarkUnmarkEmpty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - SetItemsProcessed
    - benchmark::DoNotOptimize
    - RangeTracker::FindAndMark
    - RangeTracker::Unmark
    - iterations
    linkageType: ''
    returnType: void
    signature: void BM_MarkUnmarkEmpty(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:88,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:92,1
    - Dst: tcmalloc_internal::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:93,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:94,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:96,1
    - Dst: RangeTracker::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:100,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:102,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:103,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:104,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:107,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::BM_MarkUnmarkChunks
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - RangeTracker::longest_free
    - SetItemsProcessed
    - RangeTracker::FindAndMark
    - tcmalloc_internal::min
    - benchmark::DoNotOptimize
    - RangeTracker::Unmark
    - iterations
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void BM_MarkUnmarkChunks(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:117,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:118,1
    - Dst: RangeTracker::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:119,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:120,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:122,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:122,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:126,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::BM_FillOnes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - PauseTiming
    - SetItemsProcessed
    - benchmark::DoNotOptimize
    - RangeTracker::Clear
    - RangeTracker::FindAndMark
    - ResumeTiming
    - KeepRunningBatch
    - iterations
    linkageType: ''
    returnType: void
    signature: void BM_FillOnes(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:135,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:136,1
    - Dst: RangeTracker::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:137,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:138,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:139,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:141,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:145,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: tcmalloc_internal::BM_EmptyOnes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - PauseTiming
    - SetItemsProcessed
    - RangeTracker::Clear
    - RangeTracker::FindAndMark
    - RangeTracker::Unmark
    - ResumeTiming
    - KeepRunningBatch
    - iterations
    linkageType: ''
    returnType: void
    signature: void BM_EmptyOnes(benchmark::State& state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap<N>*::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:160,1
    - Dst: Bitmap<N>*::FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:162,1
    - Dst: Bitmap<N>*::FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:166,1
    - Dst: Bitmap<N>*::FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - map
    - index
    argTypes:
    - Bitmap<N>*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: tcmalloc_internal::ExamineDoFind
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 1
    functionsReached:
    - Bitmap<N>*::FindSetBackwards
    - Bitmap<N>*::FindClearBackwards
    - Bitmap<N>*::FindClear
    - Bitmap<N>*::FindSet
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE ExamineDoFind(Bitmap<N>* map, size_t index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExamineDoFind
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:179,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:180,1
    - Dst: tcmalloc_internal::ExamineDoFind
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:187,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - map
    - ' state'
    argTypes:
    - Bitmap<N>*
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 193
    functionName: tcmalloc_internal::DoSearchBenchmark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 4
    functionsReached:
    - benchmark::DoNotOptimize
    - tcmalloc_internal::ExamineDoFind
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE DoSearchBenchmark(Bitmap<N>* map,\n                                               benchmark::State&
      state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:202,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:203,1
    - Dst: tcmalloc_internal::DoSearchBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: tcmalloc_internal::BM_FindEmpty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_FindEmpty(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:225,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:226,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:227,1
    - Dst: tcmalloc_internal::DoSearchBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: tcmalloc_internal::BM_FindLast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_FindLast(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:247,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:250,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:251,1
    - Dst: tcmalloc_internal::DoSearchBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: tcmalloc_internal::BM_FindFull
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - Bitmap::SetRange
    - tcmalloc_internal::DoSearchBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_FindFull(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:273,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:274,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:277,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:277,1
    - Dst: tcmalloc_internal::DoSearchBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: tcmalloc_internal::BM_FindRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    - absl::Bernoulli
    linkageType: ''
    returnType: void
    signature: void BM_FindRandom(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap<N>*::NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:301,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:302,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - set
    - ' state'
    argTypes:
    - Bitmap<N>*
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: tcmalloc_internal::DoScanBenchmark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 4
    functionsReached:
    - Bitmap<N>*::NextFreeRange
    - benchmark::DoNotOptimize
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE DoScanBenchmark(Bitmap<N>* set,\n                                               benchmark::State&
      state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:317,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:318,1
    - Dst: tcmalloc_internal::DoScanBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:319,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: tcmalloc_internal::BM_ScanEmpty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - tcmalloc_internal::DoScanBenchmark
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_ScanEmpty(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:332,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:333,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:334,1
    - Dst: tcmalloc_internal::DoScanBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:336,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::BM_ScanFull
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::SetRange
    - SetItemsProcessed
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_ScanFull(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:349,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:350,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:353,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:353,1
    - Dst: tcmalloc_internal::DoScanBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:355,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: tcmalloc_internal::BM_ScanRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - SetItemsProcessed
    - absl::Bernoulli
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_ScanRandom(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:368,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:369,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:374,1
    - Dst: tcmalloc_internal::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:375,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:376,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:380,1
    - Dst: tcmalloc_internal::DoScanBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:384,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 386
    functionName: tcmalloc_internal::BM_ScanChunks
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::SetRange
    - SetItemsProcessed
    - tcmalloc_internal::min
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void BM_ScanChunks(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RangeTracker::used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:42,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:44,1
    - Dst: RangeTracker::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:44,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:45,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:46,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:51,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:51,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:53,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:55,1
    - Dst: RangeTracker::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:55,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:56,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:59,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: tcmalloc_internal::BM_MarkUnmark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - RangeTracker::longest_free
    - std::vector::push_back
    - SetItemsProcessed
    - RangeTracker::FindAndMark
    - std::vector::size
    - RangeTracker::Unmark
    - RangeTracker::used
    - iterations
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void BM_MarkUnmark(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:70,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:71,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:72,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:75,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::BM_MarkUnmarkEmpty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - SetItemsProcessed
    - benchmark::DoNotOptimize
    - RangeTracker::FindAndMark
    - RangeTracker::Unmark
    - iterations
    linkageType: ''
    returnType: void
    signature: void BM_MarkUnmarkEmpty(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:88,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:92,1
    - Dst: tcmalloc_internal::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:93,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:94,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:96,1
    - Dst: RangeTracker::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:100,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:102,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:103,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:104,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:107,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::BM_MarkUnmarkChunks
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - RangeTracker::longest_free
    - SetItemsProcessed
    - RangeTracker::FindAndMark
    - tcmalloc_internal::min
    - benchmark::DoNotOptimize
    - RangeTracker::Unmark
    - iterations
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void BM_MarkUnmarkChunks(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:117,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:118,1
    - Dst: RangeTracker::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:119,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:120,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:122,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:122,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:126,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::BM_FillOnes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - PauseTiming
    - SetItemsProcessed
    - benchmark::DoNotOptimize
    - RangeTracker::Clear
    - RangeTracker::FindAndMark
    - ResumeTiming
    - KeepRunningBatch
    - iterations
    linkageType: ''
    returnType: void
    signature: void BM_FillOnes(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:135,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:136,1
    - Dst: RangeTracker::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:137,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:138,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:139,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:141,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:145,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: tcmalloc_internal::BM_EmptyOnes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - PauseTiming
    - SetItemsProcessed
    - RangeTracker::Clear
    - RangeTracker::FindAndMark
    - RangeTracker::Unmark
    - ResumeTiming
    - KeepRunningBatch
    - iterations
    linkageType: ''
    returnType: void
    signature: void BM_EmptyOnes(benchmark::State& state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap<N>*::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:160,1
    - Dst: Bitmap<N>*::FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:162,1
    - Dst: Bitmap<N>*::FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:166,1
    - Dst: Bitmap<N>*::FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - map
    - index
    argTypes:
    - Bitmap<N>*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: tcmalloc_internal::ExamineDoFind
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 2
    functionsReached:
    - Bitmap<N>*::FindSetBackwards
    - Bitmap<N>*::FindClearBackwards
    - Bitmap<N>*::FindClear
    - Bitmap<N>*::FindSet
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE ExamineDoFind(Bitmap<N>* map, size_t index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExamineDoFind
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:179,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:180,1
    - Dst: tcmalloc_internal::ExamineDoFind
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:187,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - map
    - ' state'
    argTypes:
    - Bitmap<N>*
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 193
    functionName: tcmalloc_internal::DoSearchBenchmark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 8
    functionsReached:
    - benchmark::DoNotOptimize
    - tcmalloc_internal::ExamineDoFind
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE DoSearchBenchmark(Bitmap<N>* map,\n                                               benchmark::State&
      state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:202,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:203,1
    - Dst: tcmalloc_internal::DoSearchBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: tcmalloc_internal::BM_FindEmpty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_FindEmpty(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:225,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:226,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:227,1
    - Dst: tcmalloc_internal::DoSearchBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: tcmalloc_internal::BM_FindLast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_FindLast(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:247,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:250,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:251,1
    - Dst: tcmalloc_internal::DoSearchBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: tcmalloc_internal::BM_FindFull
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - Bitmap::SetRange
    - tcmalloc_internal::DoSearchBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_FindFull(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:273,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:274,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:277,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:277,1
    - Dst: tcmalloc_internal::DoSearchBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: tcmalloc_internal::BM_FindRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    - absl::Bernoulli
    linkageType: ''
    returnType: void
    signature: void BM_FindRandom(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap<N>*::NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:301,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:302,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - set
    - ' state'
    argTypes:
    - Bitmap<N>*
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: tcmalloc_internal::DoScanBenchmark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 8
    functionsReached:
    - Bitmap<N>*::NextFreeRange
    - benchmark::DoNotOptimize
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE DoScanBenchmark(Bitmap<N>* set,\n                                               benchmark::State&
      state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:317,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:318,1
    - Dst: tcmalloc_internal::DoScanBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:319,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: tcmalloc_internal::BM_ScanEmpty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - tcmalloc_internal::DoScanBenchmark
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_ScanEmpty(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:332,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:333,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:334,1
    - Dst: tcmalloc_internal::DoScanBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:336,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::BM_ScanFull
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::SetRange
    - SetItemsProcessed
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_ScanFull(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:349,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:350,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:353,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:353,1
    - Dst: tcmalloc_internal::DoScanBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:355,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: tcmalloc_internal::BM_ScanRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - SetItemsProcessed
    - absl::Bernoulli
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_ScanRandom(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:368,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:369,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:374,1
    - Dst: tcmalloc_internal::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:375,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:376,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:380,1
    - Dst: tcmalloc_internal::DoScanBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:384,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 386
    functionName: tcmalloc_internal::BM_ScanChunks
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::SetRange
    - SetItemsProcessed
    - tcmalloc_internal::min
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void BM_ScanChunks(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RangeTracker::used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:42,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:44,1
    - Dst: RangeTracker::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:44,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:45,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:46,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:51,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:51,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:53,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:55,1
    - Dst: RangeTracker::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:55,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:56,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:59,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: tcmalloc_internal::BM_MarkUnmark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - RangeTracker::longest_free
    - std::vector::push_back
    - SetItemsProcessed
    - RangeTracker::FindAndMark
    - std::vector::size
    - RangeTracker::Unmark
    - RangeTracker::used
    - iterations
    - absl::LogUniform<int32_t>
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void BM_MarkUnmark(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:70,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:71,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:72,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:75,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::BM_MarkUnmarkEmpty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - SetItemsProcessed
    - benchmark::DoNotOptimize
    - RangeTracker::FindAndMark
    - RangeTracker::Unmark
    - iterations
    linkageType: ''
    returnType: void
    signature: void BM_MarkUnmarkEmpty(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:88,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:92,1
    - Dst: tcmalloc_internal::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:93,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:94,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:96,1
    - Dst: RangeTracker::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:100,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:102,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:103,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:104,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:107,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::BM_MarkUnmarkChunks
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - RangeTracker::longest_free
    - SetItemsProcessed
    - RangeTracker::FindAndMark
    - tcmalloc_internal::min
    - benchmark::DoNotOptimize
    - RangeTracker::Unmark
    - iterations
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void BM_MarkUnmarkChunks(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:117,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:118,1
    - Dst: RangeTracker::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:119,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:120,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:122,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:122,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:126,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::BM_FillOnes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - PauseTiming
    - SetItemsProcessed
    - benchmark::DoNotOptimize
    - RangeTracker::Clear
    - RangeTracker::FindAndMark
    - ResumeTiming
    - KeepRunningBatch
    - iterations
    linkageType: ''
    returnType: void
    signature: void BM_FillOnes(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:135,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:136,1
    - Dst: RangeTracker::Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:137,1
    - Dst: RangeTracker::FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:138,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:139,1
    - Dst: RangeTracker::Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:141,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:145,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: tcmalloc_internal::BM_EmptyOnes
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - PauseTiming
    - SetItemsProcessed
    - RangeTracker::Clear
    - RangeTracker::FindAndMark
    - RangeTracker::Unmark
    - ResumeTiming
    - KeepRunningBatch
    - iterations
    linkageType: ''
    returnType: void
    signature: void BM_EmptyOnes(benchmark::State& state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap<N>*::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:160,1
    - Dst: Bitmap<N>*::FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:162,1
    - Dst: Bitmap<N>*::FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:166,1
    - Dst: Bitmap<N>*::FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - map
    - index
    argTypes:
    - Bitmap<N>*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: tcmalloc_internal::ExamineDoFind
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 3
    functionsReached:
    - Bitmap<N>*::FindSetBackwards
    - Bitmap<N>*::FindClearBackwards
    - Bitmap<N>*::FindClear
    - Bitmap<N>*::FindSet
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE ExamineDoFind(Bitmap<N>* map, size_t index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExamineDoFind
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:179,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:180,1
    - Dst: tcmalloc_internal::ExamineDoFind
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:187,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - map
    - ' state'
    argTypes:
    - Bitmap<N>*
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 193
    functionName: tcmalloc_internal::DoSearchBenchmark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 12
    functionsReached:
    - benchmark::DoNotOptimize
    - tcmalloc_internal::ExamineDoFind
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE DoSearchBenchmark(Bitmap<N>* map,\n                                               benchmark::State&
      state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:202,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:203,1
    - Dst: tcmalloc_internal::DoSearchBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: tcmalloc_internal::BM_FindEmpty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_FindEmpty(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:225,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:226,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:227,1
    - Dst: tcmalloc_internal::DoSearchBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: tcmalloc_internal::BM_FindLast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_FindLast(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:247,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:250,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:251,1
    - Dst: tcmalloc_internal::DoSearchBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: tcmalloc_internal::BM_FindFull
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - Bitmap::SetRange
    - tcmalloc_internal::DoSearchBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_FindFull(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:273,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:274,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:277,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:277,1
    - Dst: tcmalloc_internal::DoSearchBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: tcmalloc_internal::BM_FindRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    - absl::Bernoulli
    linkageType: ''
    returnType: void
    signature: void BM_FindRandom(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap<N>*::NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:301,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:302,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - set
    - ' state'
    argTypes:
    - Bitmap<N>*
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: tcmalloc_internal::DoScanBenchmark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 12
    functionsReached:
    - Bitmap<N>*::NextFreeRange
    - benchmark::DoNotOptimize
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE DoScanBenchmark(Bitmap<N>* set,\n                                               benchmark::State&
      state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:317,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:318,1
    - Dst: tcmalloc_internal::DoScanBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:319,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: tcmalloc_internal::BM_ScanEmpty
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::ClearBit
    - Bitmap::SetBit
    - tcmalloc_internal::DoScanBenchmark
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_ScanEmpty(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:332,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:333,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:334,1
    - Dst: tcmalloc_internal::DoScanBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:336,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::BM_ScanFull
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::SetRange
    - SetItemsProcessed
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_ScanFull(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:349,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:350,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:353,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:353,1
    - Dst: tcmalloc_internal::DoScanBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:355,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: tcmalloc_internal::BM_ScanRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - SetItemsProcessed
    - absl::Bernoulli
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    linkageType: ''
    returnType: void
    signature: void BM_ScanRandom(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:368,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:369,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:374,1
    - Dst: tcmalloc_internal::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:375,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:376,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:380,1
    - Dst: tcmalloc_internal::DoScanBenchmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:384,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 386
    functionName: tcmalloc_internal::BM_ScanChunks
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    functionUses: 0
    functionsReached:
    - Bitmap::SetBit
    - Bitmap::SetRange
    - SetItemsProcessed
    - tcmalloc_internal::min
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    - absl::Uniform<int32_t>
    linkageType: ''
    returnType: void
    signature: void BM_ScanChunks(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.h:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 151
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached:
    - GetPageSize
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - PageStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: operator==(const PageStats& rhs) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const PageStats& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - PageStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: operator!=(const PageStats& rhs) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const PageStats& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc_internal::PageFlagsBase::PageFlagsBase
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageFlagsBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ~PageFlagsBase()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PageFlagsBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: tcmalloc_internal::PageFlagsBase::PageFlagsBase
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageFlagsBase(const PageFlagsBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: tcmalloc_internal::PageFlagsBase::PageFlagsBase
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageFlagsBase(PageFlagsBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& operator=(const PageFlagsBase&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PageFlagsBase
    signature: PageFlagsBase & operator=(const PageFlagsBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& operator=(PageFlagsBase&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PageFlagsBase
    signature: PageFlagsBase & operator=(PageFlagsBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - PageStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: operator==(const PageStats& rhs) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const PageStats& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - PageStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: operator!=(const PageStats& rhs) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const PageStats& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: tcmalloc_internal::PageFlagsBase::PageFlagsBase
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageFlagsBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ~PageFlagsBase()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PageFlagsBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: tcmalloc_internal::PageFlagsBase::PageFlagsBase
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageFlagsBase(const PageFlagsBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: tcmalloc_internal::PageFlagsBase::PageFlagsBase
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageFlagsBase(PageFlagsBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& operator=(const PageFlagsBase&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PageFlagsBase
    signature: PageFlagsBase & operator=(const PageFlagsBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& operator=(PageFlagsBase&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PageFlagsBase
    signature: PageFlagsBase & operator=(PageFlagsBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:34,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 44
    functionsReached:
    - static_cast<uint64_t>
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ExponentialBiased::NextRandom(uint64_t rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ExponentialBiased::GetRandom(uint64_t rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::Random::Random
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Random(uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:64,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:65,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:66,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::Random::Next
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - load
    - store
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Random::Next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: tcmalloc::tcmalloc_internal::Random::Reset
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void Random::Reset(uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:34,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 45
    functionsReached:
    - static_cast<uint64_t>
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ExponentialBiased::NextRandom(uint64_t rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ExponentialBiased::GetRandom(uint64_t rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::Random::Random
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Random(uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:64,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:65,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:66,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::Random::Next
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - load
    - store
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Random::Next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: tcmalloc::tcmalloc_internal::Random::Reset
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void Random::Reset(uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:34,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 46
    functionsReached:
    - static_cast<uint64_t>
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ExponentialBiased::NextRandom(uint64_t rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ExponentialBiased::GetRandom(uint64_t rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::Random::Random
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Random(uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:64,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:65,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:66,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::Random::Next
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - load
    - store
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Random::Next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: tcmalloc::tcmalloc_internal::Random::Reset
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void Random::Reset(uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:34,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 47
    functionsReached:
    - static_cast<uint64_t>
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ExponentialBiased::NextRandom(uint64_t rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ExponentialBiased::GetRandom(uint64_t rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::Random::Random
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Random(uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:64,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:65,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:66,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: tcmalloc::tcmalloc_internal::Random::Next
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - load
    - store
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Random::Next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/exponential_biased.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: tcmalloc::tcmalloc_internal::Random::Reset
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void Random::Reset(uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::MInCoreMock::MInCoreMock
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MInCoreMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~MInCoreMock() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MInCoreMock() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:44,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:45,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:47,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:47,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:53,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - addr
    - length
    - result
    argTypes:
    - void*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: tcmalloc::tcmalloc_internal::MInCoreMock::mincore
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - find
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - end
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int mincore(void* addr, size_t length, unsigned char* result) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uAddress
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::MInCoreMock::addPage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void addPage(uintptr_t uAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::MInCoreTest::MInCoreTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MInCoreTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~MInCoreTest()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MInCoreTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MInCore::residence_impl
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:73,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::MInCoreTest::residence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - tcmalloc_internal::MInCore::residence_impl
    linkageType: ''
    returnType: size_t
    signature: size_t residence(uintptr_t addr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - page
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::MInCoreTest::addPage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::MInCoreTest::addPage
    linkageType: ''
    returnType: void
    signature: void addPage(uintptr_t page)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::MInCoreTest::chunkSize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t chunkSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:92,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:96,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:98,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:139,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:139,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::residence
    - MInCoreTest::addPage
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, TestResidence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:147,1
    - Dst: MInCoreTest::chunkSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:154,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:162,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:162,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::residence
    - MInCoreTest::addPage
    - MInCoreTest::chunkSize
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, TestLargeResidence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:168,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:173,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:175,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:176,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:176,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:177,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:179,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:179,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:181,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:184,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:185,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:187,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:192,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:193,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:196,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - GetPageSize
    - EXPECT_EQ
    - reinterpret_cast<char*>
    - ::benchmark::DoNotOptimize
    - memset
    - mmap
    - ASSERT_EQ
    - ASSERT_NE
    - tcmalloc_internal::MInCore::residence
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, UnmappedMemory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:92,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:96,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:98,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:139,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:139,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::residence
    - MInCoreTest::addPage
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, TestResidence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:147,1
    - Dst: MInCoreTest::chunkSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:154,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:162,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:162,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::residence
    - MInCoreTest::addPage
    - MInCoreTest::chunkSize
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, TestLargeResidence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:168,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:173,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:175,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:176,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:176,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:177,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:179,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:179,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:181,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:184,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:185,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:187,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:192,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:193,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:196,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - GetPageSize
    - EXPECT_EQ
    - reinterpret_cast<char*>
    - ::benchmark::DoNotOptimize
    - memset
    - mmap
    - ASSERT_EQ
    - ASSERT_NE
    - tcmalloc_internal::MInCore::residence
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, UnmappedMemory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::MInCoreMock::MInCoreMock
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MInCoreMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~MInCoreMock() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MInCoreMock() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:44,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:45,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:47,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:47,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:53,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - addr
    - length
    - result
    argTypes:
    - void*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: tcmalloc::tcmalloc_internal::MInCoreMock::mincore
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - find
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - end
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int mincore(void* addr, size_t length, unsigned char* result) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uAddress
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::MInCoreMock::addPage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void addPage(uintptr_t uAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::MInCoreTest::MInCoreTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MInCoreTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~MInCoreTest()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MInCoreTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MInCore::residence_impl
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:73,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::MInCoreTest::residence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - tcmalloc_internal::MInCore::residence_impl
    linkageType: ''
    returnType: size_t
    signature: size_t residence(uintptr_t addr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - page
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::MInCoreTest::addPage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::MInCoreTest::addPage
    linkageType: ''
    returnType: void
    signature: void addPage(uintptr_t page)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::MInCoreTest::chunkSize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t chunkSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:92,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:96,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:98,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:139,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:139,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::residence
    - MInCoreTest::addPage
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, TestResidence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:147,1
    - Dst: MInCoreTest::chunkSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:154,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:162,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:162,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::residence
    - MInCoreTest::addPage
    - MInCoreTest::chunkSize
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, TestLargeResidence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:168,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:173,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:175,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:176,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:176,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:177,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:179,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:179,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:181,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:184,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:185,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:187,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:192,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:193,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:196,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - GetPageSize
    - EXPECT_EQ
    - reinterpret_cast<char*>
    - ::benchmark::DoNotOptimize
    - memset
    - mmap
    - ASSERT_EQ
    - ASSERT_NE
    - tcmalloc_internal::MInCore::residence
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, UnmappedMemory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:92,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:96,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:98,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:139,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:139,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::residence
    - MInCoreTest::addPage
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, TestResidence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:147,1
    - Dst: MInCoreTest::chunkSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:154,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:162,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:162,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::residence
    - MInCoreTest::addPage
    - MInCoreTest::chunkSize
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, TestLargeResidence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:168,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:173,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:175,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:176,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:176,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:177,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:179,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:179,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:181,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:184,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:185,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:187,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:192,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:193,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:196,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - GetPageSize
    - EXPECT_EQ
    - reinterpret_cast<char*>
    - ::benchmark::DoNotOptimize
    - memset
    - mmap
    - ASSERT_EQ
    - ASSERT_NE
    - tcmalloc_internal::MInCore::residence
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, UnmappedMemory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::MInCoreMock::MInCoreMock
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MInCoreMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~MInCoreMock() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MInCoreMock() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:44,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:45,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:47,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:47,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:53,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - addr
    - length
    - result
    argTypes:
    - void*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: tcmalloc::tcmalloc_internal::MInCoreMock::mincore
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - find
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - end
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int mincore(void* addr, size_t length, unsigned char* result) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uAddress
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::MInCoreMock::addPage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void addPage(uintptr_t uAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::MInCoreTest::MInCoreTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MInCoreTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~MInCoreTest()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MInCoreTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MInCore::residence_impl
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:73,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::MInCoreTest::residence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - tcmalloc_internal::MInCore::residence_impl
    linkageType: ''
    returnType: size_t
    signature: size_t residence(uintptr_t addr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - page
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::MInCoreTest::addPage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::MInCoreTest::addPage
    linkageType: ''
    returnType: void
    signature: void addPage(uintptr_t page)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::MInCoreTest::chunkSize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t chunkSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:92,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:96,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:98,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:139,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:139,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::residence
    - MInCoreTest::addPage
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, TestResidence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:147,1
    - Dst: MInCoreTest::chunkSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:154,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:162,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:162,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::residence
    - MInCoreTest::addPage
    - MInCoreTest::chunkSize
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, TestLargeResidence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:168,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:173,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:175,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:176,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:176,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:177,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:179,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:179,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:181,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:184,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:185,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:187,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:192,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:193,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:196,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - GetPageSize
    - EXPECT_EQ
    - reinterpret_cast<char*>
    - ::benchmark::DoNotOptimize
    - memset
    - mmap
    - ASSERT_EQ
    - ASSERT_NE
    - tcmalloc_internal::MInCore::residence
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, UnmappedMemory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:92,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:96,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:98,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:139,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:139,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::residence
    - MInCoreTest::addPage
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, TestResidence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:147,1
    - Dst: MInCoreTest::chunkSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:154,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:162,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:162,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::residence
    - MInCoreTest::addPage
    - MInCoreTest::chunkSize
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, TestLargeResidence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:168,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:173,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:175,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:176,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:176,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:177,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:179,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:179,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:181,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:184,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:185,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:187,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:192,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:193,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:196,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - GetPageSize
    - EXPECT_EQ
    - reinterpret_cast<char*>
    - ::benchmark::DoNotOptimize
    - memset
    - mmap
    - ASSERT_EQ
    - ASSERT_NE
    - tcmalloc_internal::MInCore::residence
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, UnmappedMemory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::MInCoreMock::MInCoreMock
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MInCoreMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~MInCoreMock() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MInCoreMock() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:44,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:45,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:47,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:47,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:53,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - addr
    - length
    - result
    argTypes:
    - void*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: tcmalloc::tcmalloc_internal::MInCoreMock::mincore
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - find
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - end
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int mincore(void* addr, size_t length, unsigned char* result) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uAddress
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: tcmalloc::tcmalloc_internal::MInCoreMock::addPage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void addPage(uintptr_t uAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: tcmalloc::tcmalloc_internal::MInCoreTest::MInCoreTest
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MInCoreTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~MInCoreTest()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MInCoreTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MInCore::residence_impl
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:73,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::MInCoreTest::residence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - tcmalloc_internal::MInCore::residence_impl
    linkageType: ''
    returnType: size_t
    signature: size_t residence(uintptr_t addr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - page
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::MInCoreTest::addPage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::MInCoreTest::addPage
    linkageType: ''
    returnType: void
    signature: void addPage(uintptr_t page)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::MInCoreTest::chunkSize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t chunkSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:92,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:96,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:98,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:139,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:139,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::residence
    - MInCoreTest::addPage
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, TestResidence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:147,1
    - Dst: MInCoreTest::chunkSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:154,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:162,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:162,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::residence
    - MInCoreTest::addPage
    - MInCoreTest::chunkSize
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, TestLargeResidence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:168,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:173,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:175,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:176,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:176,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:177,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:179,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:179,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:181,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:184,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:185,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:187,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:192,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:193,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:196,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - GetPageSize
    - EXPECT_EQ
    - reinterpret_cast<char*>
    - ::benchmark::DoNotOptimize
    - memset
    - mmap
    - ASSERT_EQ
    - ASSERT_NE
    - tcmalloc_internal::MInCore::residence
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, UnmappedMemory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:92,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:96,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:98,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:139,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:139,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::residence
    - MInCoreTest::addPage
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, TestResidence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:147,1
    - Dst: MInCoreTest::chunkSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:154,1
    - Dst: MInCoreTest::addPage
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:162,1
    - Dst: MInCoreTest::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:162,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::residence
    - MInCoreTest::addPage
    - MInCoreTest::chunkSize
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, TestLargeResidence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:168,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:173,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:175,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:176,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:176,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:177,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:179,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:179,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:181,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:184,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:185,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:187,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:192,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:193,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:196,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/mincore_test.cc:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 197
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
    functionUses: 0
    functionsReached:
    - GetPageSize
    - EXPECT_EQ
    - reinterpret_cast<char*>
    - ::benchmark::DoNotOptimize
    - memset
    - mmap
    - ASSERT_EQ
    - ASSERT_NE
    - tcmalloc_internal::MInCore::residence
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, UnmappedMemory)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:62,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:69,1
    - Dst: err
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:72,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:76,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:88,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:88,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:98,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:98,1
    - Dst: MapShadow
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:107,1
    - Dst: Reset
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:111,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:111,1
    - Dst: EnableTBI
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:112,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:123,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:124,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:127,1
    - Dst: HeapObjectInfo
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:130,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:130,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:132,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:133,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:134,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:137,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:143,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:147,1
    - Dst: SamplingPercent
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:151,1
    - Dst: Next
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:158,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:162,1
    - Dst: SamplingPercent
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:170,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:174,1
    - Dst: auto::PrintRaw
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:175,1
    - Dst: static_cast<ucontext_t*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:189,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:192,1
    - Dst: process_vm_readv
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:194,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:194,1
    - Dst: PrintTagMismatch
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:206,1
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:212,1
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:213,1
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:214,1
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:215,1
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:216,1
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:217,1
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:219,1
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:220,1
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:221,1
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:222,1
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:223,1
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:224,1
    - Dst: real_personality
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:241,1
    - Dst: PrintTagMismatch
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:287,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:288,1
    - Dst: section
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:296,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 298
    functionName: namespace tcmalloc::tcmalloc_internal::selsan
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached:
    - auto::PrintRaw
    - reinterpret_cast<uint8_t*>
    - printf
    - store
    - reinterpret_cast<void*>
    - madvise
    - err
    - PrintTagMismatch
    - abort
    - RecordCrash
    - CheckAccess
    - EnableTBI
    - fprintf
    - reinterpret_cast<uintptr_t>
    - static_cast<ucontext_t*>
    - Next
    - CreateSubRegion
    - real_personality
    - load
    - process_vm_readv
    - syscall
    - static_cast<char*>
    - MapShadow
    - SamplingPercent
    - TC_CHECK_EQ
    - TEMP_FAILURE_RETRY
    - prctl
    - HeapObjectInfo
    - section
    - getpid
    - Reset
    - mmap
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal::selsan
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:62,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:69,1
    - Dst: err
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:72,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: MapShadow
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<void*>
    - madvise
    - err
    - mmap
    linkageType: ''
    returnType: void
    signature: void MapShadow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:88,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:88,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:98,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 104
    functionName: EnableTBI
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 1
    functionsReached:
    - syscall
    - TC_CHECK_EQ
    - TEMP_FAILURE_RETRY
    - prctl
    linkageType: ''
    returnType: bool
    signature: bool EnableTBI()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MapShadow
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:107,1
    - Dst: Reset
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:111,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:111,1
    - Dst: EnableTBI
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: Init
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 298
    functionsReached:
    - Reset
    - getpid
    - EnableTBI
    - MapShadow
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p
    - n
    - write
    argTypes:
    - uintptr_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: CheckAccess
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckAccess(uintptr_t p, size_t n, bool write)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:123,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:124,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:127,1
    - Dst: HeapObjectInfo
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:130,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:130,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:132,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:133,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:134,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - addr
    - size
    - write
    argTypes:
    - uintptr_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: PrintTagMismatch
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 1
    functionsReached:
    - static_cast<char*>
    - RecordCrash
    - reinterpret_cast<uint8_t*>
    - fprintf
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - HeapObjectInfo
    linkageType: ''
    returnType: void
    signature: void PrintTagMismatch(uintptr_t addr, size_t size, bool write)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:62,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:69,1
    - Dst: err
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:72,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: MapShadow
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<void*>
    - madvise
    - err
    - mmap
    linkageType: ''
    returnType: void
    signature: void MapShadow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:88,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:88,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:98,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 104
    functionName: EnableTBI
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 2
    functionsReached:
    - syscall
    - TC_CHECK_EQ
    - TEMP_FAILURE_RETRY
    - prctl
    linkageType: ''
    returnType: bool
    signature: bool EnableTBI()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MapShadow
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:107,1
    - Dst: Reset
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:111,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:111,1
    - Dst: EnableTBI
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: Init
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 298
    functionsReached:
    - Reset
    - getpid
    - EnableTBI
    - MapShadow
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p
    - n
    - write
    argTypes:
    - uintptr_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: CheckAccess
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckAccess(uintptr_t p, size_t n, bool write)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:123,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:124,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:127,1
    - Dst: HeapObjectInfo
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:130,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:130,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:132,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:133,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:134,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - addr
    - size
    - write
    argTypes:
    - uintptr_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: PrintTagMismatch
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 1
    functionsReached:
    - static_cast<char*>
    - RecordCrash
    - reinterpret_cast<uint8_t*>
    - fprintf
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - HeapObjectInfo
    linkageType: ''
    returnType: void
    signature: void PrintTagMismatch(uintptr_t addr, size_t size, bool write)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: SamplingPercent
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 3
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int SamplingPercent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: SetSamplingPercent
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 1
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void SetSamplingPercent(int v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SamplingPercent
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:151,1
    - Dst: Next
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: ShouldSample
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached:
    - Next
    - SamplingPercent
    linkageType: ''
    returnType: bool
    signature: bool ShouldSample()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:162,1
    - Dst: SamplingPercent
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: PrintTextStats
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 3
    functionsReached:
    - printf
    - SamplingPercent
    linkageType: ''
    returnType: void
    signature: void PrintTextStats(Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:174,1
    - Dst: auto::PrintRaw
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: PrintPbtxtStats
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 3
    functionsReached:
    - CreateSubRegion
    - auto::PrintRaw
    linkageType: ''
    returnType: void
    signature: void PrintPbtxtStats(PbtxtRegion& out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ucontext_t*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:189,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:192,1
    - Dst: process_vm_readv
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:194,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:194,1
    - Dst: PrintTagMismatch
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - info
    - ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 207
    functionName: SelsanTrapHandler
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 3
    functionsReached:
    - PrintTagMismatch
    - getpid
    - process_vm_readv
    - reinterpret_cast<void*>
    - static_cast<ucontext_t*>
    linkageType: ''
    returnType: void
    signature: void SelsanTrapHandler(void* info, void* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: __hwasan_loadN
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached:
    - CheckAccess
    linkageType: ''
    returnType: void
    signature: void __hwasan_loadN(uintptr_t p, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: __hwasan_load1
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached:
    - CheckAccess
    linkageType: ''
    returnType: void
    signature: void __hwasan_load1(uintptr_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: __hwasan_load2
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached:
    - CheckAccess
    linkageType: ''
    returnType: void
    signature: void __hwasan_load2(uintptr_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: __hwasan_load4
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached:
    - CheckAccess
    linkageType: ''
    returnType: void
    signature: void __hwasan_load4(uintptr_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: __hwasan_load8
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached:
    - CheckAccess
    linkageType: ''
    returnType: void
    signature: void __hwasan_load8(uintptr_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: __hwasan_load16
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached:
    - CheckAccess
    linkageType: ''
    returnType: void
    signature: void __hwasan_load16(uintptr_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: __hwasan_storeN
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached:
    - CheckAccess
    linkageType: ''
    returnType: void
    signature: void __hwasan_storeN(uintptr_t p, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: __hwasan_store1
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached:
    - CheckAccess
    linkageType: ''
    returnType: void
    signature: void __hwasan_store1(uintptr_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: __hwasan_store2
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached:
    - CheckAccess
    linkageType: ''
    returnType: void
    signature: void __hwasan_store2(uintptr_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: __hwasan_store4
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached:
    - CheckAccess
    linkageType: ''
    returnType: void
    signature: void __hwasan_store4(uintptr_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: __hwasan_store8
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached:
    - CheckAccess
    linkageType: ''
    returnType: void
    signature: void __hwasan_store8(uintptr_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAccess
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: __hwasan_store16
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached:
    - CheckAccess
    linkageType: ''
    returnType: void
    signature: void __hwasan_store16(uintptr_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p
    - tag
    - size
    argTypes:
    - void*
    - unsigned char
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: __hwasan_tag_memory
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void __hwasan_tag_memory(const volatile void* p, unsigned char tag,\n
      \                        size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: real_personality
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - version
    - actions
    - exception_class
    - unwind_exception
    - context
    - real_personality
    - get_gr
    - get_cfa
    argTypes:
    - int
    - _Unwind_Action
    - uint64_t
    - _Unwind_Exception*
    - _Unwind_Context*
    - PersonalityFn*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: __hwasan_personality_wrapper
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached:
    - real_personality
    linkageType: ''
    returnType: _Unwind_Reason_Code
    signature: "_Unwind_Reason_Code __hwasan_personality_wrapper(\n    int version,
      _Unwind_Action actions, uint64_t exception_class,\n    _Unwind_Exception* unwind_exception,
      _Unwind_Context* context,\n    PersonalityFn* real_personality, void* get_gr,
      void* get_cfa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 281
    functionName: __hwasan_tag_mismatch_v2
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void __hwasan_tag_mismatch_v2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintTagMismatch
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:287,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - addr
    - type
    - regs
    argTypes:
    - uintptr_t
    - uintptr_t
    - uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: TCMallocInternalTagMismatch
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached:
    - abort
    - PrintTagMismatch
    linkageType: ''
    returnType: void
    signature: "void TCMallocInternalTagMismatch(uintptr_t addr, uintptr_t type,\n
      \                                uintptr_t* regs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: __hwasan_init
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void __hwasan_init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:31,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tcmalloc::tcmalloc_internal::selsan::Test::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/report_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - IsEnabled
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:38,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::selsan::Test::mistag
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/report_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: T
    signature: T * mistag(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:46,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:53,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:53,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:53,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:54,1
    - Dst: mistag<uint16_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:54,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:54,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:55,1
    - Dst: mistag<uint32_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:55,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:55,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:56,1
    - Dst: mistag<uint64_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:56,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:56,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:57,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:57,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:57,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:58,1
    - Dst: mistag<uint16_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:58,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:58,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:59,1
    - Dst: mistag<uint32_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:59,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:59,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:60,1
    - Dst: mistag<uint64_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:60,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/report_test.cc
    functionUses: 0
    functionsReached:
    - mistag<uint8_t>
    - absl::StrFormat
    - mistag<uint32_t>
    - Warning
    - mistag<uint16_t>
    - EXPECT_DEATH
    - mistag<uint64_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(Test, Format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:65,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:71,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:72,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:72,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:72,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:72,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:73,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:73,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:73,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:73,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:74,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:74,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:74,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:74,1
    - Dst: std::unique_ptr::reset
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:75,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:75,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:76,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:76,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:76,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:76,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:77,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:77,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:77,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:77,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:78,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:78,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:78,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/report_test.cc
    functionUses: 0
    functionsReached:
    - mistag<uint8_t>
    - std::unique_ptr::reset
    - absl::StrFormat
    - Warning
    - std::unique_ptr::get
    - EXPECT_DEATH
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST_F(Test, Heap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:31,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tcmalloc::tcmalloc_internal::selsan::Test::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/report_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - IsEnabled
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:38,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::selsan::Test::mistag
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/report_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: T
    signature: T * mistag(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:46,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:53,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:53,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:53,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:54,1
    - Dst: mistag<uint16_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:54,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:54,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:55,1
    - Dst: mistag<uint32_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:55,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:55,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:56,1
    - Dst: mistag<uint64_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:56,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:56,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:57,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:57,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:57,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:58,1
    - Dst: mistag<uint16_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:58,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:58,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:59,1
    - Dst: mistag<uint32_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:59,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:59,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:60,1
    - Dst: mistag<uint64_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:60,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/report_test.cc
    functionUses: 0
    functionsReached:
    - mistag<uint8_t>
    - absl::StrFormat
    - mistag<uint32_t>
    - Warning
    - mistag<uint16_t>
    - EXPECT_DEATH
    - mistag<uint64_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(Test, Format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:65,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:71,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:72,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:72,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:72,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:72,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:73,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:73,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:73,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:73,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:74,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:74,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:74,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:74,1
    - Dst: std::unique_ptr::reset
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:75,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:75,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:76,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:76,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:76,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:76,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:77,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:77,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:77,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:77,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:78,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:78,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:78,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/report_test.cc
    functionUses: 0
    functionsReached:
    - mistag<uint8_t>
    - std::unique_ptr::reset
    - absl::StrFormat
    - Warning
    - std::unique_ptr::get
    - EXPECT_DEATH
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST_F(Test, Heap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:31,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tcmalloc::tcmalloc_internal::selsan::Test::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/report_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - IsEnabled
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:38,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::selsan::Test::mistag
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/report_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: T
    signature: T * mistag(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:46,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:53,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:53,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:53,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:54,1
    - Dst: mistag<uint16_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:54,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:54,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:55,1
    - Dst: mistag<uint32_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:55,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:55,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:56,1
    - Dst: mistag<uint64_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:56,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:56,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:57,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:57,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:57,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:58,1
    - Dst: mistag<uint16_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:58,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:58,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:59,1
    - Dst: mistag<uint32_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:59,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:59,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:60,1
    - Dst: mistag<uint64_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:60,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/report_test.cc
    functionUses: 0
    functionsReached:
    - mistag<uint8_t>
    - absl::StrFormat
    - mistag<uint32_t>
    - Warning
    - mistag<uint16_t>
    - EXPECT_DEATH
    - mistag<uint64_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(Test, Format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:65,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:71,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:72,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:72,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:72,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:72,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:73,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:73,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:73,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:73,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:74,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:74,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:74,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:74,1
    - Dst: std::unique_ptr::reset
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:75,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:75,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:76,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:76,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:76,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:76,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:77,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:77,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:77,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:77,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:78,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:78,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:78,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/report_test.cc
    functionUses: 0
    functionsReached:
    - mistag<uint8_t>
    - std::unique_ptr::reset
    - absl::StrFormat
    - Warning
    - std::unique_ptr::get
    - EXPECT_DEATH
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST_F(Test, Heap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:31,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tcmalloc::tcmalloc_internal::selsan::Test::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/report_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - IsEnabled
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:38,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: tcmalloc::tcmalloc_internal::selsan::Test::mistag
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/report_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: T
    signature: T * mistag(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:46,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:53,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:53,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:53,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:54,1
    - Dst: mistag<uint16_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:54,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:54,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:55,1
    - Dst: mistag<uint32_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:55,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:55,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:56,1
    - Dst: mistag<uint64_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:56,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:56,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:57,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:57,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:57,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:58,1
    - Dst: mistag<uint16_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:58,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:58,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:59,1
    - Dst: mistag<uint32_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:59,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:59,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:60,1
    - Dst: mistag<uint64_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:60,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/report_test.cc
    functionUses: 0
    functionsReached:
    - mistag<uint8_t>
    - absl::StrFormat
    - mistag<uint32_t>
    - Warning
    - mistag<uint16_t>
    - EXPECT_DEATH
    - mistag<uint64_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(Test, Format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:65,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:71,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:72,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:72,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:72,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:72,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:73,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:73,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:73,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:73,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:74,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:74,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:74,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:74,1
    - Dst: std::unique_ptr::reset
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:75,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:75,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:76,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:76,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:76,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:76,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:77,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:77,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:77,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:77,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:78,1
    - Dst: mistag<uint8_t>
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:78,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:78,1
    - Dst: Warning
      Src: /src/tcmalloc/tcmalloc/selsan/report_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/report_test.cc
    functionUses: 0
    functionsReached:
    - mistag<uint8_t>
    - std::unique_ptr::reset
    - absl::StrFormat
    - Warning
    - std::unique_ptr::get
    - EXPECT_DEATH
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST_F(Test, Heap)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:91,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:91,1
    - Dst: __has_builtin
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:95,1
    - Dst: __builtin_memset_inline
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:99,1
    - Dst: __builtin_memset_inline
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:107,1
    - Dst: SetTagTail
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:108,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:113,1
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:115,1
    - Dst: SetTagPair
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:117,1
    - Dst: SetTagPair
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:119,1
    - Dst: SetTagPair
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:121,1
    - Dst: SetTagPair
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:123,1
    - Dst: SetTagPair
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:125,1
    - Dst: SetTagPair
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:127,1
    - Dst: SetTagPair
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:133,1
    - Dst: __builtin_memset_inline
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:141,1
    - Dst: __builtin_memset_inline
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:148,1
    - Dst: SetTagTail
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:151,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:157,1
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:159,1
    - Dst: RoundUpObjectSize
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:160,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:167,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:167,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:172,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:172,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:173,1
    - Dst: SetTag
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:174,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:174,1
    - Dst: RemoveTag
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:175,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:179,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:179,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:180,1
    - Dst: SetTag
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:183,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:183,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:184,1
    - Dst: const_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:195,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 205
    functionName: namespace tcmalloc::tcmalloc_internal::selsan
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - TC_ASSERT_NE
    - SetTagTail
    - __builtin_memset_inline
    - reinterpret_cast<unsigned char*>
    - SetTag
    - RoundUpObjectSize
    - IsEnabled
    - SetTagPair
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - __has_builtin
    - TC_ASSERT
    - TC_ASSERT_EQ
    - RemoveTag
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal::selsan
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: IsEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE IsEnabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:91,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: RoundUpObjectSize
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 6
    functionsReached:
    - TC_ASSERT
    - IsEnabled
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE RoundUpObjectSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_memset_inline
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - size
    - tag
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: SetTagTail
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 1
    functionsReached:
    - __builtin_memset_inline
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE SetTagTail(unsigned char* p, size_t size,\n
      \                                            unsigned char tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_memset_inline
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:107,1
    - Dst: SetTagTail
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - size
    - tag
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: SetTagPair
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 1
    functionsReached:
    - SetTagTail
    - __builtin_memset_inline
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE SetTagPair(unsigned char* p, size_t size,\n
      \                                            unsigned char tag)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:113,1
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:115,1
    - Dst: SetTagPair
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:117,1
    - Dst: SetTagPair
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:119,1
    - Dst: SetTagPair
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:121,1
    - Dst: SetTagPair
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:123,1
    - Dst: SetTagPair
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:125,1
    - Dst: SetTagPair
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:127,1
    - Dst: SetTagPair
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:133,1
    - Dst: __builtin_memset_inline
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:141,1
    - Dst: __builtin_memset_inline
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:148,1
    - Dst: SetTagTail
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:151,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - ptr
    - size
    - tag
    argTypes:
    - uintptr_t
    - size_t
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 153
    functionName: SetTag
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_NE
    - SetTagTail
    - __builtin_memset_inline
    - reinterpret_cast<unsigned char*>
    - SetTagPair
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE SetTag(uintptr_t ptr, size_t size,\n
      \                                               unsigned char tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:157,1
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:159,1
    - Dst: RoundUpObjectSize
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - size
    - tag
    argTypes:
    - uintptr_t
    - size_t
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: SetTag
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 1
    functionsReached:
    - RoundUpObjectSize
    - reinterpret_cast<unsigned char*>
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE SetTag(uintptr_t ptr, size_t size,\n
      \                                               unsigned char tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:167,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: RemoveTag
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * RemoveTag(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:172,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:172,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:173,1
    - Dst: SetTag
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:174,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:174,1
    - Dst: RemoveTag
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: ResetTag
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 5
    functionsReached:
    - SetTag
    - IsEnabled
    - reinterpret_cast<uintptr_t>
    - TC_ASSERT
    - TC_ASSERT_EQ
    - RemoveTag
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * ResetTag(void* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:179,1
    - Dst: IsEnabled
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:179,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:180,1
    - Dst: SetTag
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:183,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:183,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: UpdateTag
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 9
    functionsReached:
    - SetTag
    - IsEnabled
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - TC_ASSERT
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * UpdateTag(void* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: RoundUpObjectSize
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RoundUpObjectSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: ResetTag
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * ResetTag(void* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: UpdateTag
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * UpdateTag(void* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/selsan.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: RemoveTag
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 7
    functionsReached:
    - const_cast<void*>
    linkageType: ''
    returnType: void
    signature: void * RemoveTag(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: IsEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsEnabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: ShouldSample
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ShouldSample()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: SamplingPercent
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SamplingPercent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: SetSamplingPercent
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSamplingPercent(int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: PrintTextStats
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrintTextStats(Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: PrintPbtxtStats
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/selsan.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrintPbtxtStats(PbtxtRegion& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:37,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:38,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:39,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:42,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:45,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:46,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:47,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:51,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:54,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:55,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:56,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc
    functionUses: 0
    functionsReached:
    - ResetTag
    - EXPECT_EQ
    - reinterpret_cast<void*>
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(Unit, ResetTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:72,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:73,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:74,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:77,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:80,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:81,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:82,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:84,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:87,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:88,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:89,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:93,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:96,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:97,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:100,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:103,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:108,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:112,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:113,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:115,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 120
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - UpdateTag
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(Unit, UpdateTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:125,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:126,1
    - Dst: SetTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:129,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:130,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc
    functionUses: 0
    functionsReached:
    - SetTag
    - ASSERT_EQ
    - SCOPED_TRACE
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(Unit, SetTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:37,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:38,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:39,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:42,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:45,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:46,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:47,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:51,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:54,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:55,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:56,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc
    functionUses: 0
    functionsReached:
    - ResetTag
    - EXPECT_EQ
    - reinterpret_cast<void*>
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(Unit, ResetTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:72,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:73,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:74,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:77,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:80,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:81,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:82,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:84,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:87,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:88,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:89,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:93,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:96,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:97,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:100,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:103,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:108,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:112,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:113,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:115,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 120
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - UpdateTag
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(Unit, UpdateTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:125,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:126,1
    - Dst: SetTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:129,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:130,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc
    functionUses: 0
    functionsReached:
    - SetTag
    - ASSERT_EQ
    - SCOPED_TRACE
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(Unit, SetTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:37,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:38,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:39,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:42,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:45,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:46,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:47,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:51,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:54,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:55,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:56,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc
    functionUses: 0
    functionsReached:
    - ResetTag
    - EXPECT_EQ
    - reinterpret_cast<void*>
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(Unit, ResetTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:72,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:73,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:74,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:77,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:80,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:81,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:82,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:84,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:87,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:88,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:89,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:93,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:96,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:97,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:100,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:103,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:108,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:112,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:113,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:115,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 120
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - UpdateTag
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(Unit, UpdateTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:125,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:126,1
    - Dst: SetTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:129,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:130,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc
    functionUses: 0
    functionsReached:
    - SetTag
    - ASSERT_EQ
    - SCOPED_TRACE
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(Unit, SetTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:37,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:38,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:39,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:42,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:45,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:46,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:47,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:51,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:54,1
    - Dst: ResetTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:55,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:56,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 66
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc
    functionUses: 0
    functionsReached:
    - ResetTag
    - EXPECT_EQ
    - reinterpret_cast<void*>
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(Unit, ResetTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:72,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:73,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:74,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:77,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:80,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:81,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:82,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:84,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:87,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:88,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:89,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:93,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:96,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:97,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:100,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:103,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:108,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:112,1
    - Dst: UpdateTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:113,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:115,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 120
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - UpdateTag
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(Unit, UpdateTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:125,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:126,1
    - Dst: SetTag
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:129,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:130,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: tcmalloc::tcmalloc_internal::selsan::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc
    functionUses: 0
    functionsReached:
    - SetTag
    - ASSERT_EQ
    - SCOPED_TRACE
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(Unit, SetTag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/testing/want_legacy_size_classes_helper.cc:26,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/testing/want_legacy_size_classes_helper.cc:28,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/testing/want_legacy_size_classes_helper.cc:28,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/testing/want_legacy_size_classes_helper.cc:29,1
    - Dst: tcmalloc::tcmalloc_internal::Static::sizemap
      Src: /src/tcmalloc/tcmalloc/testing/want_legacy_size_classes_helper.cc:30,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/testing/want_legacy_size_classes_helper.cc:32,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/testing/want_legacy_size_classes_helper.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/want_legacy_size_classes_helper.cc
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - printf
    - tcmalloc::tcmalloc_internal::Static::sizemap
    - TC_CHECK_LE
    - absl::Span::size
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: tcmalloc::CurrentThreadCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: size_t
    signature: size_t CurrentThreadCacheSize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Barrier*::Block
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:56,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:60,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:61,1
    - Dst: tcmalloc::CurrentThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:67,1
    - Dst: absl::Barrier*::Block
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - fill
    - filled
    argTypes:
    - absl::Barrier*
    - absl::Barrier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: tcmalloc::Filler
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - absl::Barrier*::Block
    - tcmalloc::CurrentThreadCacheSize
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void Filler(absl::Barrier* fill, absl::Barrier* filled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMaxTotalThreadCacheBytes
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:79,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:86,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:88,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:88,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:92,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:95,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:98,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:101,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 104
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::thread
    - std::vector::push_back
    - ASSERT_LT
    - absl::Barrier::Block
    - std::vector::size
    - tcmalloc::MallocExtension::SetMaxTotalThreadCacheBytes
    - join
    linkageType: ''
    returnType: void
    signature: void TEST(ThreadCache, MaxCacheHonored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: tcmalloc::CurrentThreadCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: size_t
    signature: size_t CurrentThreadCacheSize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Barrier*::Block
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:56,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:60,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:61,1
    - Dst: tcmalloc::CurrentThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:67,1
    - Dst: absl::Barrier*::Block
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - fill
    - filled
    argTypes:
    - absl::Barrier*
    - absl::Barrier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: tcmalloc::Filler
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - absl::Barrier*::Block
    - tcmalloc::CurrentThreadCacheSize
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void Filler(absl::Barrier* fill, absl::Barrier* filled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMaxTotalThreadCacheBytes
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:79,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:86,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:88,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:88,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:92,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:95,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:98,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:101,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 104
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::thread
    - std::vector::push_back
    - ASSERT_LT
    - absl::Barrier::Block
    - std::vector::size
    - tcmalloc::MallocExtension::SetMaxTotalThreadCacheBytes
    - join
    linkageType: ''
    returnType: void
    signature: void TEST(ThreadCache, MaxCacheHonored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: tcmalloc::CurrentThreadCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: size_t
    signature: size_t CurrentThreadCacheSize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Barrier*::Block
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:56,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:60,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:61,1
    - Dst: tcmalloc::CurrentThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:67,1
    - Dst: absl::Barrier*::Block
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - fill
    - filled
    argTypes:
    - absl::Barrier*
    - absl::Barrier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: tcmalloc::Filler
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - absl::Barrier*::Block
    - tcmalloc::CurrentThreadCacheSize
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void Filler(absl::Barrier* fill, absl::Barrier* filled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMaxTotalThreadCacheBytes
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:79,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:86,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:88,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:88,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:92,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:95,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:98,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:101,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 104
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::thread
    - std::vector::push_back
    - ASSERT_LT
    - absl::Barrier::Block
    - std::vector::size
    - tcmalloc::MallocExtension::SetMaxTotalThreadCacheBytes
    - join
    linkageType: ''
    returnType: void
    signature: void TEST(ThreadCache, MaxCacheHonored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: tcmalloc::CurrentThreadCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: size_t
    signature: size_t CurrentThreadCacheSize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Barrier*::Block
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:56,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:60,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:61,1
    - Dst: tcmalloc::CurrentThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:67,1
    - Dst: absl::Barrier*::Block
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - fill
    - filled
    argTypes:
    - absl::Barrier*
    - absl::Barrier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: tcmalloc::Filler
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - absl::Barrier*::Block
    - tcmalloc::CurrentThreadCacheSize
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void Filler(absl::Barrier* fill, absl::Barrier* filled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMaxTotalThreadCacheBytes
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:79,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:86,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:88,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:88,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:92,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:95,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:98,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:101,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 104
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::thread
    - std::vector::push_back
    - ASSERT_LT
    - absl::Barrier::Block
    - std::vector::size
    - tcmalloc::MallocExtension::SetMaxTotalThreadCacheBytes
    - join
    linkageType: ''
    returnType: void
    signature: void TEST(ThreadCache, MaxCacheHonored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Func
      Src: /src/tcmalloc/tcmalloc/testing/thread_ctor_test.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/thread_ctor_test.cc
    functionUses: 0
    functionsReached:
    - Func
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:32,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:33,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:33,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/background_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    - EXPECT_TRUE
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
    linkageType: ''
    returnType: void
    signature: void TEST(BackgroundTest, Defaults)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:41,1
    - Dst: tcmalloc::MallocExtension::ProcessBackgroundActions
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:43,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:48,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:48,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:56,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:56,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:58,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:58,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:60,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 65
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/background_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    - absl::SleepFor
    - EXPECT_TRUE
    - std::thread::join
    - AllocatorHarness::Run
    - absl::Milliseconds
    - tcmalloc::MallocExtension::ProcessBackgroundActions
    linkageType: ''
    returnType: void
    signature: void TEST(BackgroundTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:41,1
    - Dst: tcmalloc::MallocExtension::ProcessBackgroundActions
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: tcmalloc::Go
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/background_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - tcmalloc::MallocExtension::ProcessBackgroundActions
    linkageType: ''
    returnType: void
    signature: void Go()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:32,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:33,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:33,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/background_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    - EXPECT_TRUE
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
    linkageType: ''
    returnType: void
    signature: void TEST(BackgroundTest, Defaults)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:41,1
    - Dst: tcmalloc::MallocExtension::ProcessBackgroundActions
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:43,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:48,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:48,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:56,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:56,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:58,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:58,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:60,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 65
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/background_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    - absl::SleepFor
    - EXPECT_TRUE
    - std::thread::join
    - AllocatorHarness::Run
    - absl::Milliseconds
    - tcmalloc::MallocExtension::ProcessBackgroundActions
    linkageType: ''
    returnType: void
    signature: void TEST(BackgroundTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:41,1
    - Dst: tcmalloc::MallocExtension::ProcessBackgroundActions
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: tcmalloc::Go
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/background_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - tcmalloc::MallocExtension::ProcessBackgroundActions
    linkageType: ''
    returnType: void
    signature: void Go()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:32,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:33,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:33,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/background_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    - EXPECT_TRUE
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
    linkageType: ''
    returnType: void
    signature: void TEST(BackgroundTest, Defaults)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:41,1
    - Dst: tcmalloc::MallocExtension::ProcessBackgroundActions
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:43,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:48,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:48,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:56,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:56,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:58,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:58,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:60,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 65
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/background_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    - absl::SleepFor
    - EXPECT_TRUE
    - std::thread::join
    - AllocatorHarness::Run
    - absl::Milliseconds
    - tcmalloc::MallocExtension::ProcessBackgroundActions
    linkageType: ''
    returnType: void
    signature: void TEST(BackgroundTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:41,1
    - Dst: tcmalloc::MallocExtension::ProcessBackgroundActions
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: tcmalloc::Go
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/background_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - tcmalloc::MallocExtension::ProcessBackgroundActions
    linkageType: ''
    returnType: void
    signature: void Go()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:32,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:33,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:33,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/background_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    - EXPECT_TRUE
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
    linkageType: ''
    returnType: void
    signature: void TEST(BackgroundTest, Defaults)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:41,1
    - Dst: tcmalloc::MallocExtension::ProcessBackgroundActions
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:43,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:48,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:48,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:56,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:56,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:58,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:58,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:60,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 65
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/background_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    - absl::SleepFor
    - EXPECT_TRUE
    - std::thread::join
    - AllocatorHarness::Run
    - absl::Milliseconds
    - tcmalloc::MallocExtension::ProcessBackgroundActions
    linkageType: ''
    returnType: void
    signature: void TEST(BackgroundTest, Stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:41,1
    - Dst: tcmalloc::MallocExtension::ProcessBackgroundActions
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: tcmalloc::Go
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/background_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - tcmalloc::MallocExtension::ProcessBackgroundActions
    linkageType: ''
    returnType: void
    signature: void Go()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:71,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tcmalloc/tcmalloc/testing/background_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/background_test.cc
    functionUses: 0
    functionsReached:
    - RUN_ALL_TESTS
    - testing::InitGoogleTest
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:37,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:39,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: tcmalloc::OutOfMemoryTest::OutOfMemoryTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void OutOfMemoryTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:49,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:51,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:52,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:56,1
    - Dst: FAIL
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc
    functionUses: 0
    functionsReached:
    - FAIL
    - SCOPED_TRACE
    - static_cast<size_t>
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(OutOfMemoryTest, TestUntilFailure)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:71,1
    - Dst: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:77,1
    - Dst: tcmalloc_internal::SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 87
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    - ASSERT_TRUE
    - ::operator new
    - tcmalloc_internal::SLL_Pop
    linkageType: ''
    returnType: void
    signature: void TEST_F(OutOfMemoryTest, SmallAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:37,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:39,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: tcmalloc::OutOfMemoryTest::OutOfMemoryTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void OutOfMemoryTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:49,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:51,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:52,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:56,1
    - Dst: FAIL
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc
    functionUses: 0
    functionsReached:
    - FAIL
    - SCOPED_TRACE
    - static_cast<size_t>
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(OutOfMemoryTest, TestUntilFailure)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:71,1
    - Dst: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:77,1
    - Dst: tcmalloc_internal::SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 87
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    - ASSERT_TRUE
    - ::operator new
    - tcmalloc_internal::SLL_Pop
    linkageType: ''
    returnType: void
    signature: void TEST_F(OutOfMemoryTest, SmallAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:37,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:39,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: tcmalloc::OutOfMemoryTest::OutOfMemoryTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void OutOfMemoryTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:49,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:51,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:52,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:56,1
    - Dst: FAIL
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc
    functionUses: 0
    functionsReached:
    - FAIL
    - SCOPED_TRACE
    - static_cast<size_t>
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(OutOfMemoryTest, TestUntilFailure)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:71,1
    - Dst: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:77,1
    - Dst: tcmalloc_internal::SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 87
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    - ASSERT_TRUE
    - ::operator new
    - tcmalloc_internal::SLL_Pop
    linkageType: ''
    returnType: void
    signature: void TEST_F(OutOfMemoryTest, SmallAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:37,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:39,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: tcmalloc::OutOfMemoryTest::OutOfMemoryTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void OutOfMemoryTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:49,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:51,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:52,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:56,1
    - Dst: FAIL
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc
    functionUses: 0
    functionsReached:
    - FAIL
    - SCOPED_TRACE
    - static_cast<size_t>
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(OutOfMemoryTest, TestUntilFailure)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:71,1
    - Dst: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:77,1
    - Dst: tcmalloc_internal::SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 87
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    - ASSERT_TRUE
    - ::operator new
    - tcmalloc_internal::SLL_Pop
    linkageType: ''
    returnType: void
    signature: void TEST_F(OutOfMemoryTest, SmallAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: ADDR_IN_ATTRIBUTE_SECTION
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDR_IN_ATTRIBUTE_SECTION(addr, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_INIT_ATTRIBUTE_SECTION_VARS
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:48,1
    - Dst: ABSL_ATTRIBUTE_SECTION_START
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:49,1
    - Dst: ABSL_ATTRIBUTE_SECTION_STOP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:50,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_testing::CheckSectionVars
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - TC_LOG
    - ABSL_ATTRIBUTE_SECTION_START
    - ABSL_INIT_ATTRIBUTE_SECTION_VARS
    - ABSL_ATTRIBUTE_SECTION_STOP
    linkageType: ''
    returnType: bool
    signature: bool CheckSectionVars()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:66,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:67,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:68,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:69,1
    - Dst: MallocHook::AddNewHook
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:70,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:71,1
    - Dst: MallocHook::AddDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - log_size
    - overflow
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::MallocHookRecorder
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - MallocHook::AddDeleteHook
    - MallocHook::AddNewHook
    - reserve
    - TC_CHECK_GE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::MallocHookRecorder(int log_size, bool overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:77,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:79,1
    - Dst: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:80,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:81,1
    - Dst: MallocHook::RemoveDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: MallocHookRecorder::~MallocHookRecorder()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - TC_CHECK
    - MallocHook::RemoveNewHook
    - MallocHook::RemoveDeleteHook
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::~MallocHookRecorder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::Restart
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::Restart()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::Stop()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - t
    argTypes:
    - MallocHookRecorder::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_testing::IsMMap
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    linkageType: ''
    returnType: bool
    signature: bool IsMMap(MallocHookRecorder::Type t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:111,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:113,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:113,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:114,1
    - Dst: IsMMap
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:115,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:116,1
    - Dst: IsMMap
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:120,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:121,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - include_mmap
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::ConsumeLog
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
    - std::vector::push_back
    - IsMMap
    - size
    - clear
    linkageType: ''
    returnType: std::vector<MallocHookRecorder::CallEntry>
    signature: "std::vector<MallocHookRecorder::CallEntry> MallocHookRecorder::ConsumeLog(\n
      \   bool include_mmap)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CheckSectionVars
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:130,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:133,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:133,1
    - Dst: ADDR_IN_ATTRIBUTE_SECTION
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:135,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:151,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:151,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:152,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:154,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - entry
    argTypes:
    - CallEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - capacity
    - size
    - TC_CHECK
    - push_back
    - ABSL_ARRAYSIZE
    - CheckSectionVars
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - ADDR_IN_ATTRIBUTE_SECTION
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::AddLog(CallEntry entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - MallocHook::NewInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::GlobalNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::GlobalNewHook(const MallocHook::NewInfo& info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - MallocHook::DeleteInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::GlobalDeleteHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::GlobalDeleteHook(const MallocHook::DeleteInfo&
      info)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 20
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - MallocHookRecorder::CallEntry
    - MallocHookRecorder::CallEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 202
    functionName: "operator==(const MallocHookRecorder::CallEntry& lhs,\n                const
      MallocHookRecorder::CallEntry& rhs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator==(const MallocHookRecorder::CallEntry& lhs,\n                const
      MallocHookRecorder::CallEntry& rhs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - caller
    argTypes:
    - MallocHookRecorder::Caller
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_testing::ToString
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: char
    signature: char * ToString(MallocHookRecorder::Caller caller)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - is_mutable
    argTypes:
    - HookMemoryMutable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: tcmalloc::tcmalloc_testing::ToString
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: char
    signature: char * ToString(HookMemoryMutable is_mutable)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:232,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:234,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:236,1
    - Dst: requested_size::has_value
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:238,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:243,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:246,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:251,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:256,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:259,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:260,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - ' stream'
    - ' lhs'
    argTypes:
    - std::ostream
    - MallocHookRecorder::CallEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 263
    functionName: "& operator<<(std::ostream& stream,\n                         const
      MallocHookRecorder::CallEntry& lhs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - static_cast<ptrdiff_t>
    - ToString
    - requested_size::has_value
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: std::ostream
    signature: "std::ostream & operator<<(std::ostream& stream,\n                         const
      MallocHookRecorder::CallEntry& lhs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_INIT_ATTRIBUTE_SECTION_VARS
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:48,1
    - Dst: ABSL_ATTRIBUTE_SECTION_START
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:49,1
    - Dst: ABSL_ATTRIBUTE_SECTION_STOP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:50,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_testing::CheckSectionVars
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - TC_LOG
    - ABSL_ATTRIBUTE_SECTION_START
    - ABSL_INIT_ATTRIBUTE_SECTION_VARS
    - ABSL_ATTRIBUTE_SECTION_STOP
    linkageType: ''
    returnType: bool
    signature: bool CheckSectionVars()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:66,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:67,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:68,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:69,1
    - Dst: MallocHook::AddNewHook
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:70,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:71,1
    - Dst: MallocHook::AddDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - log_size
    - overflow
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::MallocHookRecorder
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - MallocHook::AddDeleteHook
    - MallocHook::AddNewHook
    - reserve
    - TC_CHECK_GE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::MallocHookRecorder(int log_size, bool overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:77,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:79,1
    - Dst: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:80,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:81,1
    - Dst: MallocHook::RemoveDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: MallocHookRecorder::~MallocHookRecorder()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - TC_CHECK
    - MallocHook::RemoveNewHook
    - MallocHook::RemoveDeleteHook
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::~MallocHookRecorder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::Restart
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::Restart()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::Stop()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - t
    argTypes:
    - MallocHookRecorder::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_testing::IsMMap
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    linkageType: ''
    returnType: bool
    signature: bool IsMMap(MallocHookRecorder::Type t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:111,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:113,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:113,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:114,1
    - Dst: IsMMap
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:115,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:116,1
    - Dst: IsMMap
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:120,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:121,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - include_mmap
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::ConsumeLog
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
    - std::vector::push_back
    - IsMMap
    - size
    - clear
    linkageType: ''
    returnType: std::vector<MallocHookRecorder::CallEntry>
    signature: "std::vector<MallocHookRecorder::CallEntry> MallocHookRecorder::ConsumeLog(\n
      \   bool include_mmap)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CheckSectionVars
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:130,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:133,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:133,1
    - Dst: ADDR_IN_ATTRIBUTE_SECTION
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:135,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:151,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:151,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:152,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:154,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - entry
    argTypes:
    - CallEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 2
    functionsReached:
    - capacity
    - size
    - TC_CHECK
    - push_back
    - ABSL_ARRAYSIZE
    - CheckSectionVars
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - ADDR_IN_ATTRIBUTE_SECTION
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::AddLog(CallEntry entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - MallocHook::NewInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::GlobalNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::GlobalNewHook(const MallocHook::NewInfo& info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - MallocHook::DeleteInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::GlobalDeleteHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::GlobalDeleteHook(const MallocHook::DeleteInfo&
      info)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 20
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - MallocHookRecorder::CallEntry
    - MallocHookRecorder::CallEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 202
    functionName: "operator==(const MallocHookRecorder::CallEntry& lhs,\n                const
      MallocHookRecorder::CallEntry& rhs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator==(const MallocHookRecorder::CallEntry& lhs,\n                const
      MallocHookRecorder::CallEntry& rhs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - caller
    argTypes:
    - MallocHookRecorder::Caller
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_testing::ToString
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: char
    signature: char * ToString(MallocHookRecorder::Caller caller)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - is_mutable
    argTypes:
    - HookMemoryMutable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: tcmalloc::tcmalloc_testing::ToString
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: char
    signature: char * ToString(HookMemoryMutable is_mutable)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:232,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:234,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:236,1
    - Dst: requested_size::has_value
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:238,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:243,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:246,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:251,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:256,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:259,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:260,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - ' stream'
    - ' lhs'
    argTypes:
    - std::ostream
    - MallocHookRecorder::CallEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 263
    functionName: "& operator<<(std::ostream& stream,\n                         const
      MallocHookRecorder::CallEntry& lhs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - static_cast<ptrdiff_t>
    - ToString
    - requested_size::has_value
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: std::ostream
    signature: "std::ostream & operator<<(std::ostream& stream,\n                         const
      MallocHookRecorder::CallEntry& lhs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_INIT_ATTRIBUTE_SECTION_VARS
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:48,1
    - Dst: ABSL_ATTRIBUTE_SECTION_START
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:49,1
    - Dst: ABSL_ATTRIBUTE_SECTION_STOP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:50,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_testing::CheckSectionVars
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - TC_LOG
    - ABSL_ATTRIBUTE_SECTION_START
    - ABSL_INIT_ATTRIBUTE_SECTION_VARS
    - ABSL_ATTRIBUTE_SECTION_STOP
    linkageType: ''
    returnType: bool
    signature: bool CheckSectionVars()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:66,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:67,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:68,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:69,1
    - Dst: MallocHook::AddNewHook
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:70,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:71,1
    - Dst: MallocHook::AddDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - log_size
    - overflow
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::MallocHookRecorder
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - MallocHook::AddDeleteHook
    - MallocHook::AddNewHook
    - reserve
    - TC_CHECK_GE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::MallocHookRecorder(int log_size, bool overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:77,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:79,1
    - Dst: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:80,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:81,1
    - Dst: MallocHook::RemoveDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: MallocHookRecorder::~MallocHookRecorder()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - TC_CHECK
    - MallocHook::RemoveNewHook
    - MallocHook::RemoveDeleteHook
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::~MallocHookRecorder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::Restart
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::Restart()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::Stop()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - t
    argTypes:
    - MallocHookRecorder::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_testing::IsMMap
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    linkageType: ''
    returnType: bool
    signature: bool IsMMap(MallocHookRecorder::Type t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:111,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:113,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:113,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:114,1
    - Dst: IsMMap
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:115,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:116,1
    - Dst: IsMMap
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:120,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:121,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - include_mmap
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::ConsumeLog
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
    - std::vector::push_back
    - IsMMap
    - size
    - clear
    linkageType: ''
    returnType: std::vector<MallocHookRecorder::CallEntry>
    signature: "std::vector<MallocHookRecorder::CallEntry> MallocHookRecorder::ConsumeLog(\n
      \   bool include_mmap)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CheckSectionVars
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:130,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:133,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:133,1
    - Dst: ADDR_IN_ATTRIBUTE_SECTION
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:135,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:151,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:151,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:152,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:154,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - entry
    argTypes:
    - CallEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 4
    functionsReached:
    - capacity
    - size
    - TC_CHECK
    - push_back
    - ABSL_ARRAYSIZE
    - CheckSectionVars
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - ADDR_IN_ATTRIBUTE_SECTION
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::AddLog(CallEntry entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - MallocHook::NewInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::GlobalNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::GlobalNewHook(const MallocHook::NewInfo& info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - MallocHook::DeleteInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::GlobalDeleteHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::GlobalDeleteHook(const MallocHook::DeleteInfo&
      info)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 20
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - MallocHookRecorder::CallEntry
    - MallocHookRecorder::CallEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 202
    functionName: "operator==(const MallocHookRecorder::CallEntry& lhs,\n                const
      MallocHookRecorder::CallEntry& rhs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator==(const MallocHookRecorder::CallEntry& lhs,\n                const
      MallocHookRecorder::CallEntry& rhs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - caller
    argTypes:
    - MallocHookRecorder::Caller
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_testing::ToString
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: char
    signature: char * ToString(MallocHookRecorder::Caller caller)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - is_mutable
    argTypes:
    - HookMemoryMutable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: tcmalloc::tcmalloc_testing::ToString
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: char
    signature: char * ToString(HookMemoryMutable is_mutable)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:232,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:234,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:236,1
    - Dst: requested_size::has_value
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:238,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:243,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:246,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:251,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:256,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:259,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:260,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - ' stream'
    - ' lhs'
    argTypes:
    - std::ostream
    - MallocHookRecorder::CallEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 263
    functionName: "& operator<<(std::ostream& stream,\n                         const
      MallocHookRecorder::CallEntry& lhs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - static_cast<ptrdiff_t>
    - ToString
    - requested_size::has_value
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: std::ostream
    signature: "std::ostream & operator<<(std::ostream& stream,\n                         const
      MallocHookRecorder::CallEntry& lhs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_INIT_ATTRIBUTE_SECTION_VARS
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:48,1
    - Dst: ABSL_ATTRIBUTE_SECTION_START
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:49,1
    - Dst: ABSL_ATTRIBUTE_SECTION_STOP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:50,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_testing::CheckSectionVars
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - TC_LOG
    - ABSL_ATTRIBUTE_SECTION_START
    - ABSL_INIT_ATTRIBUTE_SECTION_VARS
    - ABSL_ATTRIBUTE_SECTION_STOP
    linkageType: ''
    returnType: bool
    signature: bool CheckSectionVars()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:66,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:67,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:68,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:69,1
    - Dst: MallocHook::AddNewHook
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:70,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:71,1
    - Dst: MallocHook::AddDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - log_size
    - overflow
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::MallocHookRecorder
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - MallocHook::AddDeleteHook
    - MallocHook::AddNewHook
    - reserve
    - TC_CHECK_GE
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::MallocHookRecorder(int log_size, bool overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:77,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:79,1
    - Dst: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:80,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:81,1
    - Dst: MallocHook::RemoveDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: MallocHookRecorder::~MallocHookRecorder()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - TC_CHECK
    - MallocHook::RemoveNewHook
    - MallocHook::RemoveDeleteHook
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::~MallocHookRecorder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::Restart
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::Restart()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::Stop()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - t
    argTypes:
    - MallocHookRecorder::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_testing::IsMMap
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    linkageType: ''
    returnType: bool
    signature: bool IsMMap(MallocHookRecorder::Type t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:111,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:113,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:113,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:114,1
    - Dst: IsMMap
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:115,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:116,1
    - Dst: IsMMap
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:120,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:121,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - include_mmap
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::ConsumeLog
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
    - std::vector::push_back
    - IsMMap
    - size
    - clear
    linkageType: ''
    returnType: std::vector<MallocHookRecorder::CallEntry>
    signature: "std::vector<MallocHookRecorder::CallEntry> MallocHookRecorder::ConsumeLog(\n
      \   bool include_mmap)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CheckSectionVars
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:130,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:133,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:133,1
    - Dst: ADDR_IN_ATTRIBUTE_SECTION
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:135,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:151,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:151,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:152,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:154,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - entry
    argTypes:
    - CallEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 6
    functionsReached:
    - capacity
    - size
    - TC_CHECK
    - push_back
    - ABSL_ARRAYSIZE
    - CheckSectionVars
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - ADDR_IN_ATTRIBUTE_SECTION
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::AddLog(CallEntry entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - MallocHook::NewInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::GlobalNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::GlobalNewHook(const MallocHook::NewInfo& info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - MallocHook::DeleteInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_testing::MallocHookRecorder::GlobalDeleteHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
    linkageType: ''
    returnType: void
    signature: void MallocHookRecorder::GlobalDeleteHook(const MallocHook::DeleteInfo&
      info)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 20
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - MallocHookRecorder::CallEntry
    - MallocHookRecorder::CallEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 202
    functionName: "operator==(const MallocHookRecorder::CallEntry& lhs,\n                const
      MallocHookRecorder::CallEntry& rhs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator==(const MallocHookRecorder::CallEntry& lhs,\n                const
      MallocHookRecorder::CallEntry& rhs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - caller
    argTypes:
    - MallocHookRecorder::Caller
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_testing::ToString
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: char
    signature: char * ToString(MallocHookRecorder::Caller caller)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - is_mutable
    argTypes:
    - HookMemoryMutable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: tcmalloc::tcmalloc_testing::ToString
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: char
    signature: char * ToString(HookMemoryMutable is_mutable)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:232,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:234,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:236,1
    - Dst: requested_size::has_value
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:238,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:243,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:246,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:251,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:256,1
    - Dst: ToString
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:259,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:260,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - ' stream'
    - ' lhs'
    argTypes:
    - std::ostream
    - MallocHookRecorder::CallEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 263
    functionName: "& operator<<(std::ostream& stream,\n                         const
      MallocHookRecorder::CallEntry& lhs)"
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
    functionUses: 0
    functionsReached:
    - static_cast<ptrdiff_t>
    - ToString
    - requested_size::has_value
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: std::ostream
    signature: "std::ostream & operator<<(std::ostream& stream,\n                         const
      MallocHookRecorder::CallEntry& lhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:39,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:44,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:48,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:49,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:55,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:56,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:59,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:60,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:63,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 66
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/frag_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::vector::size
    - ASSERT_GE
    - EXPECT_GT
    - EXPECT_LT
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(Fragmentation, Slack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:39,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:44,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:48,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:49,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:55,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:56,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:59,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:60,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:63,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 66
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/frag_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::vector::size
    - ASSERT_GE
    - EXPECT_GT
    - EXPECT_LT
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(Fragmentation, Slack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:39,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:44,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:48,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:49,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:55,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:56,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:59,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:60,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:63,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 66
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/frag_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::vector::size
    - ASSERT_GE
    - EXPECT_GT
    - EXPECT_LT
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(Fragmentation, Slack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:39,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:44,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:48,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:49,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:55,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:56,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:59,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:60,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:63,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 66
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/frag_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::vector::size
    - ASSERT_GE
    - EXPECT_GT
    - EXPECT_LT
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(Fragmentation, Slack)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:46,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:47,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:51,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:56,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:57,1
    - Dst: absl::string_view::find_first_not_of
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:59,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:61,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:64,1
    - Dst: absl::string_view::remove_suffix
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:66,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:66,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - cpu
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: tcmalloc::ParseCpuCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::remove_suffix
    - absl::string_view::find
    - absl::SimpleAtoi
    - absl::SNPrintF
    - absl::string_view::find_first_not_of
    - absl::string_view::size
    - TC_CHECK
    - absl::string_view::remove_prefix
    linkageType: ''
    returnType: int64_t
    signature: int64_t ParseCpuCacheSize(absl::string_view buf, int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:77,1
    - Dst: std::string*::capacity
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:77,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:79,1
    - Dst: TCMalloc_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:80,1
    - Dst: std::string*::data
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:80,1
    - Dst: std::string*::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:80,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:81,1
    - Dst: std::string*::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:81,1
    - Dst: std::string*::resize
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:83,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:83,1
    - Dst: std::string*::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: tcmalloc::GetMallocStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::string*::size
    - std::string*::capacity
    - EXPECT_LE
    - std::string*::resize
    - std::string*::data
    - TC_CHECK
    - TCMalloc_Internal_GetStats
    linkageType: ''
    returnType: void
    signature: void GetMallocStats(std::string* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:88,1
    - Dst: std::string::reserve
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:99,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:100,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:107,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:107,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:109,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:109,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:111,1
    - Dst: tcmalloc::GetMallocStats
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:115,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:118,1
    - Dst: tcmalloc::ParseCpuCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::ReleaseCpuMemory
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:131,1
    - Dst: tcmalloc::GetMallocStats
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:136,1
    - Dst: tcmalloc::ParseCpuCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 137
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - std::string::reserve
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ThreadManager::Stop
    - absl::SleepFor
    - tcmalloc::ParseCpuCacheSize
    - GTEST_SKIP
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - EXPECT_EQ
    - AllocatorHarness::Run
    - reserve
    - tcmalloc::GetMallocStats
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc_internal::NumCPUs
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(ReclaimTest, ReclaimWorks)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:140,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:141,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:151,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:151,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:154,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:154,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:157,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:158,1
    - Dst: tcmalloc::MallocExtension::ReleaseCpuMemory
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:160,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:174,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:174,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:176,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:176,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:178,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:180,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:181,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 183
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - load
    - ThreadManager::Start
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ThreadManager::Stop
    - absl::SleepFor
    - GTEST_SKIP
    - tcmalloc_internal::NumCPUs
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - std::thread::join
    - AllocatorHarness::Run
    - std::atomic::store
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TEST(ReclaimTest, ReclaimStable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:151,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:151,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:154,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:154,1
    - Dst: std::atomic<bool>*::load
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:157,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:158,1
    - Dst: tcmalloc::MallocExtension::ReleaseCpuMemory
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sync
    - initialize_rseq
    argTypes:
    - std::atomic<bool>*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: tcmalloc::Go
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - std::atomic<bool>*::load
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc_internal::NumCPUs
    linkageType: ''
    returnType: void
    signature: void Go(std::atomic<bool>* sync, bool initialize_rseq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:46,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:47,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:51,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:56,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:57,1
    - Dst: absl::string_view::find_first_not_of
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:59,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:61,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:64,1
    - Dst: absl::string_view::remove_suffix
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:66,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:66,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - cpu
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: tcmalloc::ParseCpuCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::remove_suffix
    - absl::string_view::find
    - absl::SimpleAtoi
    - absl::SNPrintF
    - absl::string_view::find_first_not_of
    - absl::string_view::size
    - TC_CHECK
    - absl::string_view::remove_prefix
    linkageType: ''
    returnType: int64_t
    signature: int64_t ParseCpuCacheSize(absl::string_view buf, int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:77,1
    - Dst: std::string*::capacity
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:77,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:79,1
    - Dst: TCMalloc_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:80,1
    - Dst: std::string*::data
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:80,1
    - Dst: std::string*::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:80,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:81,1
    - Dst: std::string*::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:81,1
    - Dst: std::string*::resize
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:83,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:83,1
    - Dst: std::string*::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: tcmalloc::GetMallocStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 1
    functionsReached:
    - std::min
    - std::string*::size
    - std::string*::capacity
    - EXPECT_LE
    - std::string*::resize
    - std::string*::data
    - TC_CHECK
    - TCMalloc_Internal_GetStats
    linkageType: ''
    returnType: void
    signature: void GetMallocStats(std::string* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:88,1
    - Dst: std::string::reserve
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:99,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:100,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:107,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:107,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:109,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:109,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:111,1
    - Dst: tcmalloc::GetMallocStats
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:115,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:118,1
    - Dst: tcmalloc::ParseCpuCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::ReleaseCpuMemory
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:131,1
    - Dst: tcmalloc::GetMallocStats
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:136,1
    - Dst: tcmalloc::ParseCpuCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 137
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - std::string::reserve
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ThreadManager::Stop
    - absl::SleepFor
    - tcmalloc::ParseCpuCacheSize
    - GTEST_SKIP
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - EXPECT_EQ
    - AllocatorHarness::Run
    - reserve
    - tcmalloc::GetMallocStats
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc_internal::NumCPUs
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(ReclaimTest, ReclaimWorks)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:140,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:141,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:151,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:151,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:154,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:154,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:157,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:158,1
    - Dst: tcmalloc::MallocExtension::ReleaseCpuMemory
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:160,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:174,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:174,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:176,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:176,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:178,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:180,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:181,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 183
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - load
    - ThreadManager::Start
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ThreadManager::Stop
    - absl::SleepFor
    - GTEST_SKIP
    - tcmalloc_internal::NumCPUs
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - std::thread::join
    - AllocatorHarness::Run
    - std::atomic::store
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TEST(ReclaimTest, ReclaimStable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:151,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:151,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:154,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:154,1
    - Dst: std::atomic<bool>*::load
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:157,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:158,1
    - Dst: tcmalloc::MallocExtension::ReleaseCpuMemory
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sync
    - initialize_rseq
    argTypes:
    - std::atomic<bool>*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: tcmalloc::Go
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - std::atomic<bool>*::load
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc_internal::NumCPUs
    linkageType: ''
    returnType: void
    signature: void Go(std::atomic<bool>* sync, bool initialize_rseq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:46,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:47,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:51,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:56,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:57,1
    - Dst: absl::string_view::find_first_not_of
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:59,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:61,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:64,1
    - Dst: absl::string_view::remove_suffix
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:66,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:66,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - cpu
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: tcmalloc::ParseCpuCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 2
    functionsReached:
    - absl::string_view::remove_suffix
    - absl::string_view::find
    - absl::SimpleAtoi
    - absl::SNPrintF
    - absl::string_view::find_first_not_of
    - absl::string_view::size
    - TC_CHECK
    - absl::string_view::remove_prefix
    linkageType: ''
    returnType: int64_t
    signature: int64_t ParseCpuCacheSize(absl::string_view buf, int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:77,1
    - Dst: std::string*::capacity
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:77,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:79,1
    - Dst: TCMalloc_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:80,1
    - Dst: std::string*::data
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:80,1
    - Dst: std::string*::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:80,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:81,1
    - Dst: std::string*::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:81,1
    - Dst: std::string*::resize
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:83,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:83,1
    - Dst: std::string*::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: tcmalloc::GetMallocStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 2
    functionsReached:
    - std::min
    - std::string*::size
    - std::string*::capacity
    - EXPECT_LE
    - std::string*::resize
    - std::string*::data
    - TC_CHECK
    - TCMalloc_Internal_GetStats
    linkageType: ''
    returnType: void
    signature: void GetMallocStats(std::string* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:88,1
    - Dst: std::string::reserve
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:99,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:100,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:107,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:107,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:109,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:109,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:111,1
    - Dst: tcmalloc::GetMallocStats
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:115,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:118,1
    - Dst: tcmalloc::ParseCpuCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::ReleaseCpuMemory
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:131,1
    - Dst: tcmalloc::GetMallocStats
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:136,1
    - Dst: tcmalloc::ParseCpuCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 137
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - std::string::reserve
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ThreadManager::Stop
    - absl::SleepFor
    - tcmalloc::ParseCpuCacheSize
    - GTEST_SKIP
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - EXPECT_EQ
    - AllocatorHarness::Run
    - reserve
    - tcmalloc::GetMallocStats
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc_internal::NumCPUs
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(ReclaimTest, ReclaimWorks)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:140,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:141,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:151,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:151,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:154,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:154,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:157,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:158,1
    - Dst: tcmalloc::MallocExtension::ReleaseCpuMemory
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:160,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:174,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:174,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:176,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:176,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:178,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:180,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:181,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 183
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - load
    - ThreadManager::Start
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ThreadManager::Stop
    - absl::SleepFor
    - GTEST_SKIP
    - tcmalloc_internal::NumCPUs
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - std::thread::join
    - AllocatorHarness::Run
    - std::atomic::store
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TEST(ReclaimTest, ReclaimStable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:151,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:151,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:154,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:154,1
    - Dst: std::atomic<bool>*::load
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:157,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:158,1
    - Dst: tcmalloc::MallocExtension::ReleaseCpuMemory
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sync
    - initialize_rseq
    argTypes:
    - std::atomic<bool>*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: tcmalloc::Go
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - std::atomic<bool>*::load
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc_internal::NumCPUs
    linkageType: ''
    returnType: void
    signature: void Go(std::atomic<bool>* sync, bool initialize_rseq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:46,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:47,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:51,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:56,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:57,1
    - Dst: absl::string_view::find_first_not_of
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:59,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:61,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:64,1
    - Dst: absl::string_view::remove_suffix
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:66,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:66,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - cpu
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: tcmalloc::ParseCpuCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 3
    functionsReached:
    - absl::string_view::remove_suffix
    - absl::string_view::find
    - absl::SimpleAtoi
    - absl::SNPrintF
    - absl::string_view::find_first_not_of
    - absl::string_view::size
    - TC_CHECK
    - absl::string_view::remove_prefix
    linkageType: ''
    returnType: int64_t
    signature: int64_t ParseCpuCacheSize(absl::string_view buf, int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:77,1
    - Dst: std::string*::capacity
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:77,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:79,1
    - Dst: TCMalloc_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:80,1
    - Dst: std::string*::data
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:80,1
    - Dst: std::string*::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:80,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:81,1
    - Dst: std::string*::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:81,1
    - Dst: std::string*::resize
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:83,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:83,1
    - Dst: std::string*::size
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: tcmalloc::GetMallocStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 3
    functionsReached:
    - std::min
    - std::string*::size
    - std::string*::capacity
    - EXPECT_LE
    - std::string*::resize
    - std::string*::data
    - TC_CHECK
    - TCMalloc_Internal_GetStats
    linkageType: ''
    returnType: void
    signature: void GetMallocStats(std::string* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:88,1
    - Dst: std::string::reserve
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:99,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:100,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:107,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:107,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:109,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:109,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:111,1
    - Dst: tcmalloc::GetMallocStats
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:115,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:118,1
    - Dst: tcmalloc::ParseCpuCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::ReleaseCpuMemory
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:131,1
    - Dst: tcmalloc::GetMallocStats
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:136,1
    - Dst: tcmalloc::ParseCpuCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 137
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - std::string::reserve
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ThreadManager::Stop
    - absl::SleepFor
    - tcmalloc::ParseCpuCacheSize
    - GTEST_SKIP
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - EXPECT_EQ
    - AllocatorHarness::Run
    - reserve
    - tcmalloc::GetMallocStats
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc_internal::NumCPUs
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(ReclaimTest, ReclaimWorks)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:140,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:141,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:151,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:151,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:154,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:154,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:157,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:158,1
    - Dst: tcmalloc::MallocExtension::ReleaseCpuMemory
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:160,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:174,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:174,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:176,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:176,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:178,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:180,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:181,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 183
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - load
    - ThreadManager::Start
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ThreadManager::Stop
    - absl::SleepFor
    - GTEST_SKIP
    - tcmalloc_internal::NumCPUs
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - std::thread::join
    - AllocatorHarness::Run
    - std::atomic::store
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TEST(ReclaimTest, ReclaimStable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:151,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:151,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:154,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:154,1
    - Dst: std::atomic<bool>*::load
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:157,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:158,1
    - Dst: tcmalloc::MallocExtension::ReleaseCpuMemory
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sync
    - initialize_rseq
    argTypes:
    - std::atomic<bool>*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: tcmalloc::Go
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - std::atomic<bool>*::load
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc_internal::NumCPUs
    linkageType: ''
    returnType: void
    signature: void Go(std::atomic<bool>* sync, bool initialize_rseq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:189,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    functionUses: 0
    functionsReached:
    - RUN_ALL_TESTS
    - testing::InitGoogleTest
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:34,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: tcmalloc::TestAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - free
    linkageType: ''
    returnType: void
    signature: void TestAllocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:47,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::MarkThreadIdle
    - std::thread::join
    linkageType: ''
    returnType: void
    signature: void TEST(MarkIdleTest, MultipleIdleCalls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::TestAllocation
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:59,1
    - Dst: tcmalloc::MallocExtension::MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:60,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::MarkThreadIdle
    - tcmalloc::TestAllocation
    - std::thread::join
    linkageType: ''
    returnType: void
    signature: void TEST(MarkIdleTest, MultipleIdleNonIdlePhases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:69,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:71,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: tcmalloc::GetTotalThreadCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::optional::has_value
    linkageType: ''
    returnType: size_t
    signature: size_t GetTotalThreadCacheSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::GetTotalThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:79,1
    - Dst: tcmalloc::TestAllocation
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:81,1
    - Dst: tcmalloc::GetTotalThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:82,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:83,1
    - Dst: tcmalloc::MallocExtension::MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:85,1
    - Dst: tcmalloc::GetTotalThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:86,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:87,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::TestAllocation
    - ASSERT_LE
    - std::thread::join
    - ASSERT_GE
    - tcmalloc::MallocExtension::MarkThreadIdle
    - tcmalloc::GetTotalThreadCacheSize
    linkageType: ''
    returnType: void
    signature: void TEST(MarkIdleTest, TestIdleUsage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:34,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: tcmalloc::TestAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - free
    linkageType: ''
    returnType: void
    signature: void TestAllocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:47,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::MarkThreadIdle
    - std::thread::join
    linkageType: ''
    returnType: void
    signature: void TEST(MarkIdleTest, MultipleIdleCalls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::TestAllocation
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:59,1
    - Dst: tcmalloc::MallocExtension::MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:60,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::MarkThreadIdle
    - tcmalloc::TestAllocation
    - std::thread::join
    linkageType: ''
    returnType: void
    signature: void TEST(MarkIdleTest, MultipleIdleNonIdlePhases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:69,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:71,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: tcmalloc::GetTotalThreadCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 1
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::optional::has_value
    linkageType: ''
    returnType: size_t
    signature: size_t GetTotalThreadCacheSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::GetTotalThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:79,1
    - Dst: tcmalloc::TestAllocation
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:81,1
    - Dst: tcmalloc::GetTotalThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:82,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:83,1
    - Dst: tcmalloc::MallocExtension::MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:85,1
    - Dst: tcmalloc::GetTotalThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:86,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:87,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::TestAllocation
    - ASSERT_LE
    - std::thread::join
    - ASSERT_GE
    - tcmalloc::MallocExtension::MarkThreadIdle
    - tcmalloc::GetTotalThreadCacheSize
    linkageType: ''
    returnType: void
    signature: void TEST(MarkIdleTest, TestIdleUsage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:34,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: tcmalloc::TestAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - free
    linkageType: ''
    returnType: void
    signature: void TestAllocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:47,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::MarkThreadIdle
    - std::thread::join
    linkageType: ''
    returnType: void
    signature: void TEST(MarkIdleTest, MultipleIdleCalls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::TestAllocation
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:59,1
    - Dst: tcmalloc::MallocExtension::MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:60,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::MarkThreadIdle
    - tcmalloc::TestAllocation
    - std::thread::join
    linkageType: ''
    returnType: void
    signature: void TEST(MarkIdleTest, MultipleIdleNonIdlePhases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:69,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:71,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: tcmalloc::GetTotalThreadCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::optional::has_value
    linkageType: ''
    returnType: size_t
    signature: size_t GetTotalThreadCacheSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::GetTotalThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:79,1
    - Dst: tcmalloc::TestAllocation
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:81,1
    - Dst: tcmalloc::GetTotalThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:82,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:83,1
    - Dst: tcmalloc::MallocExtension::MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:85,1
    - Dst: tcmalloc::GetTotalThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:86,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:87,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::TestAllocation
    - ASSERT_LE
    - std::thread::join
    - ASSERT_GE
    - tcmalloc::MallocExtension::MarkThreadIdle
    - tcmalloc::GetTotalThreadCacheSize
    linkageType: ''
    returnType: void
    signature: void TEST(MarkIdleTest, TestIdleUsage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:34,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: tcmalloc::TestAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 6
    functionsReached:
    - malloc
    - free
    linkageType: ''
    returnType: void
    signature: void TestAllocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:47,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::MarkThreadIdle
    - std::thread::join
    linkageType: ''
    returnType: void
    signature: void TEST(MarkIdleTest, MultipleIdleCalls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::TestAllocation
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:59,1
    - Dst: tcmalloc::MallocExtension::MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:60,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::MarkThreadIdle
    - tcmalloc::TestAllocation
    - std::thread::join
    linkageType: ''
    returnType: void
    signature: void TEST(MarkIdleTest, MultipleIdleNonIdlePhases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:69,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:71,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: tcmalloc::GetTotalThreadCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 3
    functionsReached:
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::optional::has_value
    linkageType: ''
    returnType: size_t
    signature: size_t GetTotalThreadCacheSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::GetTotalThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:79,1
    - Dst: tcmalloc::TestAllocation
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:81,1
    - Dst: tcmalloc::GetTotalThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:82,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:83,1
    - Dst: tcmalloc::MallocExtension::MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:85,1
    - Dst: tcmalloc::GetTotalThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:86,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:87,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/markidle_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::TestAllocation
    - ASSERT_LE
    - std::thread::join
    - ASSERT_GE
    - tcmalloc::MallocExtension::MarkThreadIdle
    - tcmalloc::GetTotalThreadCacheSize
    linkageType: ''
    returnType: void
    signature: void TEST(MarkIdleTest, TestIdleUsage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:69,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:69,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:71,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:78,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:79,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:82,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:83,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:84,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:85,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:88,1
    - Dst: CHECK_LT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:89,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:94,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 96
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_LT
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SnapshotCurrent
    - CHECK_GT
    - absl::SleepFor
    - AllocatorHarness::Run
    - absl::Now
    - CHECK_GE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HeapProfilingTest, GetHeapProfileWhileAllocAndDealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:107,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:109,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:111,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:111,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:114,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:114,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:114,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:114,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:115,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:115,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:115,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - tcmalloc::MallocExtension::SnapshotCurrent
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - EXPECT_GE
    - EXPECT_LE
    - absl::Now
    - ASSERT_TRUE
    - auto::ok
    - time_nanos
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, Timestamp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:129,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:132,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:139,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:143,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:150,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:159,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:160,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 165
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_EQ
    - EXPECT_GT
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, AllocateDifferentSizes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:174,1
    - Dst: ::mlock
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:179,1
    - Dst: static_cast<volatile char*>
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:182,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:187,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:193,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:194,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:195,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:195,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:201,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:202,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:205,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:209,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:209,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:210,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:210,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:213,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:214,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:220,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:220,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:223,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:224,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:227,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:228,1
    - Dst: ::munlock
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:232,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:235,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 237
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - auto::ok
    - string_table
    - ::mlock
    - sample
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - sample_type_size
    - EXPECT_FALSE
    - ::munlock
    - absl::FPrintF
    - EXPECT_LE
    - ASSERT_TRUE
    - value
    - static_cast<volatile char*>
    - sample_type
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::optional::has_value
    - EXPECT_GE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, CheckResidency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:258,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:259,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:259,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:261,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:263,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:263,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 268
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::reserve
    - tcmalloc::MallocExtension::SnapshotCurrent
    - absl::flat_hash_set::insert
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, AllocateWhileIterating)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: tcmalloc::arena
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - LowLevelAlloc::NewArena
    linkageType: ''
    returnType: LowLevelAlloc::Arena
    signature: LowLevelAlloc::Arena * arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: tcmalloc::TestAllocator::TestAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: tcmalloc::TestAllocator::TestAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestAllocator(TestAllocator<U>)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:284,1
    - Dst: LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:285,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tcmalloc::TestAllocator::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - arena
    - reinterpret_cast<T*>
    - LowLevelAlloc::AllocWithArena
    linkageType: ''
    returnType: T
    signature: T * allocate(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: tcmalloc::TestAllocator::deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void deallocate(T* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocHandles::AllocHandles
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:301,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:302,1
    - Dst: MallocHook::AddSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:303,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:304,1
    - Dst: MallocHook::AddSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: tcmalloc::HeapAllocHandleTest::HeapAllocHandleTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - AllocHandles::AllocHandles
    - MallocHook::AddSampledNewHook
    - ABSL_CHECK
    - MallocHook::AddSampledDeleteHook
    linkageType: ''
    returnType: void
    signature: void HeapAllocHandleTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:309,1
    - Dst: MallocHook::RemoveSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:309,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:311,1
    - Dst: MallocHook::RemoveSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: ~HeapAllocHandleTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - MallocHook::RemoveSampledNewHook
    - ABSL_CHECK
    - MallocHook::RemoveSampledDeleteHook
    linkageType: ''
    returnType: void
    signature: void ~HeapAllocHandleTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: tcmalloc::HeapAllocHandleTest::MemoryAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void MemoryAllocated(const MallocHook::SampledAlloc& sampled_alloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: tcmalloc::HeapAllocHandleTest::MemoryDeallocated
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: "void MemoryDeallocated(\n      const\n      MallocHook::SampledAlloc&
      sampled_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:348,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:351,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:356,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:356,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:360,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:361,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:364,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:364,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:369,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:369,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 371
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - ABSL_CHECK
    - contains
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - AllocatorHarness::Run
    - insert
    - sampled_allocation_recorder
    linkageType: ''
    returnType: void
    signature: void TEST_P(HeapAllocHandleTest, VerifyAllocHandles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:69,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:69,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:71,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:78,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:79,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:82,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:83,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:84,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:85,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:88,1
    - Dst: CHECK_LT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:89,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:94,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 96
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_LT
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SnapshotCurrent
    - CHECK_GT
    - absl::SleepFor
    - AllocatorHarness::Run
    - absl::Now
    - CHECK_GE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HeapProfilingTest, GetHeapProfileWhileAllocAndDealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:107,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:109,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:111,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:111,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:114,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:114,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:114,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:114,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:115,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:115,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:115,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - tcmalloc::MallocExtension::SnapshotCurrent
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - EXPECT_GE
    - EXPECT_LE
    - absl::Now
    - ASSERT_TRUE
    - auto::ok
    - time_nanos
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, Timestamp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:129,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:132,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:139,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:143,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:150,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:159,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:160,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 165
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_EQ
    - EXPECT_GT
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, AllocateDifferentSizes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:174,1
    - Dst: ::mlock
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:179,1
    - Dst: static_cast<volatile char*>
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:182,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:187,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:193,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:194,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:195,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:195,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:201,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:202,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:205,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:209,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:209,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:210,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:210,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:213,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:214,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:220,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:220,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:223,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:224,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:227,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:228,1
    - Dst: ::munlock
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:232,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:235,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 237
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - auto::ok
    - string_table
    - ::mlock
    - sample
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - sample_type_size
    - EXPECT_FALSE
    - ::munlock
    - absl::FPrintF
    - EXPECT_LE
    - ASSERT_TRUE
    - value
    - static_cast<volatile char*>
    - sample_type
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::optional::has_value
    - EXPECT_GE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, CheckResidency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:258,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:259,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:259,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:261,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:263,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:263,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 268
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::reserve
    - tcmalloc::MallocExtension::SnapshotCurrent
    - absl::flat_hash_set::insert
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, AllocateWhileIterating)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: tcmalloc::arena
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - LowLevelAlloc::NewArena
    linkageType: ''
    returnType: LowLevelAlloc::Arena
    signature: LowLevelAlloc::Arena * arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: tcmalloc::TestAllocator::TestAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: tcmalloc::TestAllocator::TestAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestAllocator(TestAllocator<U>)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:284,1
    - Dst: LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:285,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tcmalloc::TestAllocator::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - arena
    - reinterpret_cast<T*>
    - LowLevelAlloc::AllocWithArena
    linkageType: ''
    returnType: T
    signature: T * allocate(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: tcmalloc::TestAllocator::deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void deallocate(T* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocHandles::AllocHandles
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:301,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:302,1
    - Dst: MallocHook::AddSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:303,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:304,1
    - Dst: MallocHook::AddSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: tcmalloc::HeapAllocHandleTest::HeapAllocHandleTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - AllocHandles::AllocHandles
    - MallocHook::AddSampledNewHook
    - ABSL_CHECK
    - MallocHook::AddSampledDeleteHook
    linkageType: ''
    returnType: void
    signature: void HeapAllocHandleTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:309,1
    - Dst: MallocHook::RemoveSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:309,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:311,1
    - Dst: MallocHook::RemoveSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: ~HeapAllocHandleTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - MallocHook::RemoveSampledNewHook
    - ABSL_CHECK
    - MallocHook::RemoveSampledDeleteHook
    linkageType: ''
    returnType: void
    signature: void ~HeapAllocHandleTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: tcmalloc::HeapAllocHandleTest::MemoryAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void MemoryAllocated(const MallocHook::SampledAlloc& sampled_alloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: tcmalloc::HeapAllocHandleTest::MemoryDeallocated
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: "void MemoryDeallocated(\n      const\n      MallocHook::SampledAlloc&
      sampled_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:348,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:351,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:356,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:356,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:360,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:361,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:364,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:364,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:369,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:369,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 371
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - ABSL_CHECK
    - contains
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - AllocatorHarness::Run
    - insert
    - sampled_allocation_recorder
    linkageType: ''
    returnType: void
    signature: void TEST_P(HeapAllocHandleTest, VerifyAllocHandles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:69,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:69,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:71,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:78,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:79,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:82,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:83,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:84,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:85,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:88,1
    - Dst: CHECK_LT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:89,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:94,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 96
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_LT
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SnapshotCurrent
    - CHECK_GT
    - absl::SleepFor
    - AllocatorHarness::Run
    - absl::Now
    - CHECK_GE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HeapProfilingTest, GetHeapProfileWhileAllocAndDealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:107,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:109,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:111,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:111,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:114,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:114,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:114,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:114,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:115,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:115,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:115,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - tcmalloc::MallocExtension::SnapshotCurrent
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - EXPECT_GE
    - EXPECT_LE
    - absl::Now
    - ASSERT_TRUE
    - auto::ok
    - time_nanos
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, Timestamp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:129,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:132,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:139,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:143,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:150,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:159,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:160,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 165
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_EQ
    - EXPECT_GT
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, AllocateDifferentSizes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:174,1
    - Dst: ::mlock
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:179,1
    - Dst: static_cast<volatile char*>
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:182,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:187,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:193,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:194,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:195,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:195,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:201,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:202,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:205,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:209,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:209,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:210,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:210,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:213,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:214,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:220,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:220,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:223,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:224,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:227,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:228,1
    - Dst: ::munlock
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:232,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:235,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 237
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - auto::ok
    - string_table
    - ::mlock
    - sample
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - sample_type_size
    - EXPECT_FALSE
    - ::munlock
    - absl::FPrintF
    - EXPECT_LE
    - ASSERT_TRUE
    - value
    - static_cast<volatile char*>
    - sample_type
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::optional::has_value
    - EXPECT_GE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, CheckResidency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:258,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:259,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:259,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:261,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:263,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:263,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 268
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::reserve
    - tcmalloc::MallocExtension::SnapshotCurrent
    - absl::flat_hash_set::insert
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, AllocateWhileIterating)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: tcmalloc::arena
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - LowLevelAlloc::NewArena
    linkageType: ''
    returnType: LowLevelAlloc::Arena
    signature: LowLevelAlloc::Arena * arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: tcmalloc::TestAllocator::TestAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: tcmalloc::TestAllocator::TestAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestAllocator(TestAllocator<U>)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:284,1
    - Dst: LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:285,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tcmalloc::TestAllocator::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - arena
    - reinterpret_cast<T*>
    - LowLevelAlloc::AllocWithArena
    linkageType: ''
    returnType: T
    signature: T * allocate(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: tcmalloc::TestAllocator::deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void deallocate(T* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocHandles::AllocHandles
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:301,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:302,1
    - Dst: MallocHook::AddSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:303,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:304,1
    - Dst: MallocHook::AddSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: tcmalloc::HeapAllocHandleTest::HeapAllocHandleTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - AllocHandles::AllocHandles
    - MallocHook::AddSampledNewHook
    - ABSL_CHECK
    - MallocHook::AddSampledDeleteHook
    linkageType: ''
    returnType: void
    signature: void HeapAllocHandleTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:309,1
    - Dst: MallocHook::RemoveSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:309,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:311,1
    - Dst: MallocHook::RemoveSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: ~HeapAllocHandleTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - MallocHook::RemoveSampledNewHook
    - ABSL_CHECK
    - MallocHook::RemoveSampledDeleteHook
    linkageType: ''
    returnType: void
    signature: void ~HeapAllocHandleTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: tcmalloc::HeapAllocHandleTest::MemoryAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void MemoryAllocated(const MallocHook::SampledAlloc& sampled_alloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: tcmalloc::HeapAllocHandleTest::MemoryDeallocated
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: "void MemoryDeallocated(\n      const\n      MallocHook::SampledAlloc&
      sampled_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:348,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:351,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:356,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:356,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:360,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:361,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:364,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:364,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:369,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:369,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 371
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - ABSL_CHECK
    - contains
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - AllocatorHarness::Run
    - insert
    - sampled_allocation_recorder
    linkageType: ''
    returnType: void
    signature: void TEST_P(HeapAllocHandleTest, VerifyAllocHandles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:69,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:69,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:71,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:78,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:79,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:82,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:83,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:84,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:85,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:88,1
    - Dst: CHECK_LT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:89,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:89,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:94,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 96
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_LT
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SnapshotCurrent
    - CHECK_GT
    - absl::SleepFor
    - AllocatorHarness::Run
    - absl::Now
    - CHECK_GE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HeapProfilingTest, GetHeapProfileWhileAllocAndDealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:107,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:109,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:111,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:111,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:114,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:114,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:114,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:114,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:115,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:115,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:115,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - tcmalloc::MallocExtension::SnapshotCurrent
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - EXPECT_GE
    - EXPECT_LE
    - absl::Now
    - ASSERT_TRUE
    - auto::ok
    - time_nanos
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, Timestamp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:129,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:132,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:139,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:143,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:150,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:159,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:160,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 165
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_EQ
    - EXPECT_GT
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, AllocateDifferentSizes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:174,1
    - Dst: ::mlock
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:179,1
    - Dst: static_cast<volatile char*>
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:182,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:187,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:193,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:194,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:195,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:195,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:201,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:202,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:205,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:209,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:209,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:210,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:210,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:213,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:214,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:220,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:220,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:223,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:224,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:227,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:228,1
    - Dst: ::munlock
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:232,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:235,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 237
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - auto::ok
    - string_table
    - ::mlock
    - sample
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - sample_type_size
    - EXPECT_FALSE
    - ::munlock
    - absl::FPrintF
    - EXPECT_LE
    - ASSERT_TRUE
    - value
    - static_cast<volatile char*>
    - sample_type
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::optional::has_value
    - EXPECT_GE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, CheckResidency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:258,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:259,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:259,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:261,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:263,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:263,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 268
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::reserve
    - tcmalloc::MallocExtension::SnapshotCurrent
    - absl::flat_hash_set::insert
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, AllocateWhileIterating)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: tcmalloc::arena
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - LowLevelAlloc::NewArena
    linkageType: ''
    returnType: LowLevelAlloc::Arena
    signature: LowLevelAlloc::Arena * arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: tcmalloc::TestAllocator::TestAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: tcmalloc::TestAllocator::TestAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestAllocator(TestAllocator<U>)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:284,1
    - Dst: LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:285,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tcmalloc::TestAllocator::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - arena
    - reinterpret_cast<T*>
    - LowLevelAlloc::AllocWithArena
    linkageType: ''
    returnType: T
    signature: T * allocate(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: tcmalloc::TestAllocator::deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    linkageType: ''
    returnType: void
    signature: void deallocate(T* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocHandles::AllocHandles
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:301,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:302,1
    - Dst: MallocHook::AddSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:303,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:304,1
    - Dst: MallocHook::AddSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: tcmalloc::HeapAllocHandleTest::HeapAllocHandleTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - AllocHandles::AllocHandles
    - MallocHook::AddSampledNewHook
    - ABSL_CHECK
    - MallocHook::AddSampledDeleteHook
    linkageType: ''
    returnType: void
    signature: void HeapAllocHandleTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:309,1
    - Dst: MallocHook::RemoveSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:309,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:311,1
    - Dst: MallocHook::RemoveSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: ~HeapAllocHandleTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - MallocHook::RemoveSampledNewHook
    - ABSL_CHECK
    - MallocHook::RemoveSampledDeleteHook
    linkageType: ''
    returnType: void
    signature: void ~HeapAllocHandleTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: tcmalloc::HeapAllocHandleTest::MemoryAllocated
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void MemoryAllocated(const MallocHook::SampledAlloc& sampled_alloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: tcmalloc::HeapAllocHandleTest::MemoryDeallocated
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: "void MemoryDeallocated(\n      const\n      MallocHook::SampledAlloc&
      sampled_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:348,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:351,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:356,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:356,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:360,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:361,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:364,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:364,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:369,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:369,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 371
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - ABSL_CHECK
    - contains
    - absl::SleepFor
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - AllocatorHarness::Run
    - insert
    - sampled_allocation_recorder
    linkageType: ''
    returnType: void
    signature: void TEST_P(HeapAllocHandleTest, VerifyAllocHandles)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/hello_main.cc:27,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/hello_main.cc:30,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/hello_main.cc:32,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/hello_main.cc:41,1
    - Dst: absl::StreamFormat
      Src: /src/tcmalloc/tcmalloc/testing/hello_main.cc:43,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/testing/hello_main.cc:43,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/hello_main.cc:45,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/hello_main.cc:47,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hello_main.cc:51,1
    - Dst: absl::StreamFormat
      Src: /src/tcmalloc/tcmalloc/testing/hello_main.cc:52,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/hello_main.cc:54,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/hello_main.cc:56,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hello_main.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hello_main.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::optional::has_value
    - std::unique_ptr::get
    - absl::StreamFormat
    - absl::StrCat
    - char::char
    - free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - n
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tcmalloc::Fill
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fill(unsigned char* buffer, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - n
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: tcmalloc::ExpectValid
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void ExpectValid(unsigned char* buffer, int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts:
    - condition: (size == power)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: tcmalloc::NextSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int NextSize(int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::NextSize
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:70,1
    - Dst: tcmalloc::NextSize
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:71,1
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:72,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:72,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:73,1
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:74,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:74,1
    - Dst: tcmalloc::ExpectValid
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:75,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:75,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:76,1
    - Dst: tcmalloc::ExpectValid
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:77,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - std::min
    - tcmalloc::ExpectValid
    - free
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TEST(ReallocTest, TestWithinCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:89,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:89,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:90,1
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:91,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:91,1
    - Dst: tcmalloc::ExpectValid
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:92,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:92,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:93,1
    - Dst: tcmalloc::ExpectValid
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:94,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 0
    functionsReached:
    - realloc
    - aligned_alloc
    - tcmalloc::Fill
    - std::min
    - tcmalloc::ExpectValid
    - free
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TEST(ReallocTest, AlignedAllocRealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - n
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tcmalloc::Fill
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fill(unsigned char* buffer, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - n
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: tcmalloc::ExpectValid
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 2
    functionsReached:
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void ExpectValid(unsigned char* buffer, int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts:
    - condition: (size == power)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: tcmalloc::NextSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int NextSize(int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::NextSize
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:70,1
    - Dst: tcmalloc::NextSize
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:71,1
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:72,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:72,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:73,1
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:74,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:74,1
    - Dst: tcmalloc::ExpectValid
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:75,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:75,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:76,1
    - Dst: tcmalloc::ExpectValid
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:77,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - std::min
    - tcmalloc::ExpectValid
    - free
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TEST(ReallocTest, TestWithinCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:89,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:89,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:90,1
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:91,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:91,1
    - Dst: tcmalloc::ExpectValid
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:92,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:92,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:93,1
    - Dst: tcmalloc::ExpectValid
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:94,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 0
    functionsReached:
    - realloc
    - aligned_alloc
    - tcmalloc::Fill
    - std::min
    - tcmalloc::ExpectValid
    - free
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TEST(ReallocTest, AlignedAllocRealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - n
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tcmalloc::Fill
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fill(unsigned char* buffer, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - n
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: tcmalloc::ExpectValid
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 4
    functionsReached:
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void ExpectValid(unsigned char* buffer, int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts:
    - condition: (size == power)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: tcmalloc::NextSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int NextSize(int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::NextSize
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:70,1
    - Dst: tcmalloc::NextSize
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:71,1
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:72,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:72,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:73,1
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:74,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:74,1
    - Dst: tcmalloc::ExpectValid
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:75,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:75,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:76,1
    - Dst: tcmalloc::ExpectValid
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:77,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - std::min
    - tcmalloc::ExpectValid
    - free
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TEST(ReallocTest, TestWithinCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:89,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:89,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:90,1
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:91,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:91,1
    - Dst: tcmalloc::ExpectValid
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:92,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:92,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:93,1
    - Dst: tcmalloc::ExpectValid
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:94,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 0
    functionsReached:
    - realloc
    - aligned_alloc
    - tcmalloc::Fill
    - std::min
    - tcmalloc::ExpectValid
    - free
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TEST(ReallocTest, AlignedAllocRealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - n
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tcmalloc::Fill
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fill(unsigned char* buffer, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - n
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: tcmalloc::ExpectValid
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 6
    functionsReached:
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void ExpectValid(unsigned char* buffer, int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts:
    - condition: (size == power)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: tcmalloc::NextSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int NextSize(int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::NextSize
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:70,1
    - Dst: tcmalloc::NextSize
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:71,1
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:72,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:72,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:73,1
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:74,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:74,1
    - Dst: tcmalloc::ExpectValid
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:75,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:75,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:76,1
    - Dst: tcmalloc::ExpectValid
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:77,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - std::min
    - tcmalloc::ExpectValid
    - free
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TEST(ReallocTest, TestWithinCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:89,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:89,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:90,1
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:91,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:91,1
    - Dst: tcmalloc::ExpectValid
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:92,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:92,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:93,1
    - Dst: tcmalloc::ExpectValid
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:94,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/realloc_test.cc:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
    functionUses: 0
    functionsReached:
    - realloc
    - aligned_alloc
    - tcmalloc::Fill
    - std::min
    - tcmalloc::ExpectValid
    - free
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TEST(ReallocTest, AlignedAllocRealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:41,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:44,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:48,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::TryAllocExpectFail
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    - ASSERT_NE
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TryAllocExpectFail(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:57,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:57,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:73,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::TryAllocMightFail
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - ASSERT_EQ
    - free
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TryAllocMightFail(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - underlying
    argTypes:
    - AddressRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegion::NoErrnoRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoErrnoRegion(AddressRegion* underlying)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - underlying
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::NoErrnoRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoErrnoRegionFactory(AddressRegionFactory* underlying)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: ~NoErrnoRegionFactory() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NoErrnoRegionFactory() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:100,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:101,1
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:102,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:103,1
    - Dst: NoErrnoRegion::NoErrnoRegion
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 1
    functionsReached:
    - NoErrnoRegion::NoErrnoRegion
    - MallocInternal
    - TC_CHECK_NE
    - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
    linkageType: ''
    returnType: size_t
    signature: size_t GetStats(absl::Span<char> buffer) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:121,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:122,1
    - Dst: NoErrnoRegionFactory::NoErrnoRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:122,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::LargeAllocationTest::LargeAllocationTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - NoErrnoRegionFactory::NoErrnoRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::MallocExtension::GetRegionFactory
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LargeAllocationTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:129,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:131,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: ~LargeAllocationTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::MallocExtension::GetRegionFactory
    linkageType: ''
    returnType: void
    signature: void ~LargeAllocationTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:149,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: ::testing::Not
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:152,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc_internal::StackTraceFilter::Contains
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - ::testing::Not
    - free
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, UniqueAddresses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, MaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, NearMaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:186,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, Half)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:209,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, NearMaxAddressBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:41,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:44,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:48,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::TryAllocExpectFail
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 3
    functionsReached:
    - malloc
    - realloc
    - ASSERT_NE
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TryAllocExpectFail(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:57,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:57,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:73,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::TryAllocMightFail
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - ASSERT_EQ
    - free
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TryAllocMightFail(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - underlying
    argTypes:
    - AddressRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegion::NoErrnoRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoErrnoRegion(AddressRegion* underlying)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - underlying
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::NoErrnoRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoErrnoRegionFactory(AddressRegionFactory* underlying)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: ~NoErrnoRegionFactory() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NoErrnoRegionFactory() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:100,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:101,1
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:102,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:103,1
    - Dst: NoErrnoRegion::NoErrnoRegion
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 2
    functionsReached:
    - NoErrnoRegion::NoErrnoRegion
    - MallocInternal
    - TC_CHECK_NE
    - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
    linkageType: ''
    returnType: size_t
    signature: size_t GetStats(absl::Span<char> buffer) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:121,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:122,1
    - Dst: NoErrnoRegionFactory::NoErrnoRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:122,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::LargeAllocationTest::LargeAllocationTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - NoErrnoRegionFactory::NoErrnoRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::MallocExtension::GetRegionFactory
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LargeAllocationTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:129,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:131,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: ~LargeAllocationTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::MallocExtension::GetRegionFactory
    linkageType: ''
    returnType: void
    signature: void ~LargeAllocationTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:149,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: ::testing::Not
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:152,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc_internal::StackTraceFilter::Contains
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - ::testing::Not
    - free
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, UniqueAddresses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, MaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, NearMaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:186,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, Half)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:209,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, NearMaxAddressBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:41,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:44,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:48,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::TryAllocExpectFail
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 6
    functionsReached:
    - malloc
    - realloc
    - ASSERT_NE
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TryAllocExpectFail(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:57,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:57,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:73,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::TryAllocMightFail
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ASSERT_EQ
    - free
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TryAllocMightFail(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - underlying
    argTypes:
    - AddressRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegion::NoErrnoRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoErrnoRegion(AddressRegion* underlying)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - underlying
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::NoErrnoRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoErrnoRegionFactory(AddressRegionFactory* underlying)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: ~NoErrnoRegionFactory() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NoErrnoRegionFactory() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:100,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:101,1
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:102,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:103,1
    - Dst: NoErrnoRegion::NoErrnoRegion
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 3
    functionsReached:
    - NoErrnoRegion::NoErrnoRegion
    - MallocInternal
    - TC_CHECK_NE
    - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
    linkageType: ''
    returnType: size_t
    signature: size_t GetStats(absl::Span<char> buffer) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:121,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:122,1
    - Dst: NoErrnoRegionFactory::NoErrnoRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:122,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::LargeAllocationTest::LargeAllocationTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - NoErrnoRegionFactory::NoErrnoRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::MallocExtension::GetRegionFactory
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LargeAllocationTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:129,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:131,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: ~LargeAllocationTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::MallocExtension::GetRegionFactory
    linkageType: ''
    returnType: void
    signature: void ~LargeAllocationTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:149,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: ::testing::Not
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:152,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc_internal::StackTraceFilter::Contains
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - ::testing::Not
    - free
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, UniqueAddresses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, MaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, NearMaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:186,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, Half)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:209,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, NearMaxAddressBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:41,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:44,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:48,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::TryAllocExpectFail
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 9
    functionsReached:
    - malloc
    - realloc
    - ASSERT_NE
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TryAllocExpectFail(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:57,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:57,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:73,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::TryAllocMightFail
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 6
    functionsReached:
    - malloc
    - ASSERT_EQ
    - free
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TryAllocMightFail(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - underlying
    argTypes:
    - AddressRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegion::NoErrnoRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoErrnoRegion(AddressRegion* underlying)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - underlying
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::NoErrnoRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoErrnoRegionFactory(AddressRegionFactory* underlying)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: ~NoErrnoRegionFactory() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NoErrnoRegionFactory() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:100,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:101,1
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:102,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:103,1
    - Dst: NoErrnoRegion::NoErrnoRegion
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 4
    functionsReached:
    - NoErrnoRegion::NoErrnoRegion
    - MallocInternal
    - TC_CHECK_NE
    - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
    linkageType: ''
    returnType: size_t
    signature: size_t GetStats(absl::Span<char> buffer) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:121,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:122,1
    - Dst: NoErrnoRegionFactory::NoErrnoRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:122,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::LargeAllocationTest::LargeAllocationTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - NoErrnoRegionFactory::NoErrnoRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::MallocExtension::GetRegionFactory
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LargeAllocationTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:129,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:131,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: ~LargeAllocationTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::MallocExtension::GetRegionFactory
    linkageType: ''
    returnType: void
    signature: void ~LargeAllocationTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:149,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: ::testing::Not
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:152,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc_internal::StackTraceFilter::Contains
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - ::testing::Not
    - free
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, UniqueAddresses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, MaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, NearMaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:186,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, Half)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:209,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, NearMaxAddressBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:41,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:44,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:48,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::TryAllocExpectFail
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 12
    functionsReached:
    - malloc
    - realloc
    - ASSERT_NE
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TryAllocExpectFail(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:57,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:57,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:73,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::TryAllocMightFail
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 8
    functionsReached:
    - malloc
    - ASSERT_EQ
    - free
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TryAllocMightFail(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - underlying
    argTypes:
    - AddressRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegion::NoErrnoRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoErrnoRegion(AddressRegion* underlying)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - underlying
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::NoErrnoRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoErrnoRegionFactory(AddressRegionFactory* underlying)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: ~NoErrnoRegionFactory() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NoErrnoRegionFactory() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:100,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:101,1
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:102,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:103,1
    - Dst: NoErrnoRegion::NoErrnoRegion
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 5
    functionsReached:
    - NoErrnoRegion::NoErrnoRegion
    - MallocInternal
    - TC_CHECK_NE
    - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
    linkageType: ''
    returnType: size_t
    signature: size_t GetStats(absl::Span<char> buffer) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:121,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:122,1
    - Dst: NoErrnoRegionFactory::NoErrnoRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:122,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::LargeAllocationTest::LargeAllocationTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - NoErrnoRegionFactory::NoErrnoRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::MallocExtension::GetRegionFactory
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LargeAllocationTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:129,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:131,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: ~LargeAllocationTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::MallocExtension::GetRegionFactory
    linkageType: ''
    returnType: void
    signature: void ~LargeAllocationTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:149,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: ::testing::Not
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:152,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc_internal::StackTraceFilter::Contains
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - ::testing::Not
    - free
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, UniqueAddresses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, MaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, NearMaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:186,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, Half)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:209,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, NearMaxAddressBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:41,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:44,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:48,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::TryAllocExpectFail
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 15
    functionsReached:
    - malloc
    - realloc
    - ASSERT_NE
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TryAllocExpectFail(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:57,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:57,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:73,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::TryAllocMightFail
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 10
    functionsReached:
    - malloc
    - ASSERT_EQ
    - free
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TryAllocMightFail(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - underlying
    argTypes:
    - AddressRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegion::NoErrnoRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoErrnoRegion(AddressRegion* underlying)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - underlying
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::NoErrnoRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoErrnoRegionFactory(AddressRegionFactory* underlying)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: ~NoErrnoRegionFactory() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NoErrnoRegionFactory() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:100,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:101,1
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:102,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:103,1
    - Dst: NoErrnoRegion::NoErrnoRegion
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 6
    functionsReached:
    - NoErrnoRegion::NoErrnoRegion
    - MallocInternal
    - TC_CHECK_NE
    - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
    linkageType: ''
    returnType: size_t
    signature: size_t GetStats(absl::Span<char> buffer) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:121,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:122,1
    - Dst: NoErrnoRegionFactory::NoErrnoRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:122,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::LargeAllocationTest::LargeAllocationTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - NoErrnoRegionFactory::NoErrnoRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::MallocExtension::GetRegionFactory
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LargeAllocationTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:129,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:131,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: ~LargeAllocationTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::MallocExtension::GetRegionFactory
    linkageType: ''
    returnType: void
    signature: void ~LargeAllocationTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:149,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: ::testing::Not
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:152,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc_internal::StackTraceFilter::Contains
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - ::testing::Not
    - free
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, UniqueAddresses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, MaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, NearMaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:186,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, Half)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:209,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, NearMaxAddressBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:41,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:44,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:48,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::TryAllocExpectFail
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 18
    functionsReached:
    - malloc
    - realloc
    - ASSERT_NE
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TryAllocExpectFail(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:57,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:57,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:73,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::TryAllocMightFail
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 12
    functionsReached:
    - malloc
    - ASSERT_EQ
    - free
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TryAllocMightFail(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - underlying
    argTypes:
    - AddressRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegion::NoErrnoRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoErrnoRegion(AddressRegion* underlying)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - underlying
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::NoErrnoRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoErrnoRegionFactory(AddressRegionFactory* underlying)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: ~NoErrnoRegionFactory() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NoErrnoRegionFactory() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:100,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:101,1
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:102,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:103,1
    - Dst: NoErrnoRegion::NoErrnoRegion
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 7
    functionsReached:
    - NoErrnoRegion::NoErrnoRegion
    - MallocInternal
    - TC_CHECK_NE
    - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
    linkageType: ''
    returnType: size_t
    signature: size_t GetStats(absl::Span<char> buffer) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:121,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:122,1
    - Dst: NoErrnoRegionFactory::NoErrnoRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:122,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::LargeAllocationTest::LargeAllocationTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - NoErrnoRegionFactory::NoErrnoRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::MallocExtension::GetRegionFactory
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LargeAllocationTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:129,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:131,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: ~LargeAllocationTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::MallocExtension::GetRegionFactory
    linkageType: ''
    returnType: void
    signature: void ~LargeAllocationTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:149,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: ::testing::Not
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:152,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc_internal::StackTraceFilter::Contains
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - ::testing::Not
    - free
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, UniqueAddresses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, MaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, NearMaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:186,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, Half)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:209,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, NearMaxAddressBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:41,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:44,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:48,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: tcmalloc::tcmalloc_internal::TryAllocExpectFail
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 21
    functionsReached:
    - malloc
    - realloc
    - ASSERT_NE
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TryAllocExpectFail(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:57,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:57,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:73,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: tcmalloc::tcmalloc_internal::TryAllocMightFail
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 14
    functionsReached:
    - malloc
    - ASSERT_EQ
    - free
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TryAllocMightFail(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - underlying
    argTypes:
    - AddressRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegion::NoErrnoRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoErrnoRegion(AddressRegion* underlying)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - underlying
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::NoErrnoRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoErrnoRegionFactory(AddressRegionFactory* underlying)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: ~NoErrnoRegionFactory() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NoErrnoRegionFactory() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:100,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:101,1
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:102,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:103,1
    - Dst: NoErrnoRegion::NoErrnoRegion
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 8
    functionsReached:
    - NoErrnoRegion::NoErrnoRegion
    - MallocInternal
    - TC_CHECK_NE
    - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
    linkageType: ''
    returnType: size_t
    signature: size_t GetStats(absl::Span<char> buffer) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:121,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:122,1
    - Dst: NoErrnoRegionFactory::NoErrnoRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:122,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tcmalloc::tcmalloc_internal::LargeAllocationTest::LargeAllocationTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - NoErrnoRegionFactory::NoErrnoRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::MallocExtension::GetRegionFactory
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LargeAllocationTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:129,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:131,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: ~LargeAllocationTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::MallocExtension::GetRegionFactory
    linkageType: ''
    returnType: void
    signature: void ~LargeAllocationTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:149,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: ::testing::Not
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:151,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:152,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc_internal::StackTraceFilter::Contains
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - ::testing::Not
    - free
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, UniqueAddresses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, MaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, NearMaxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:186,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, Half)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TryAllocMightFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:209,1
    - Dst: tcmalloc::tcmalloc_internal::TryAllocExpectFail
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 216
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    - tcmalloc::tcmalloc_internal::TryAllocExpectFail
    linkageType: ''
    returnType: void
    signature: void TEST_F(LargeAllocationTest, NearMaxAddressBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:61,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:65,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:66,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:72,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:72,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::BackingNode
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - GetPageSize
    - syscall
    - TC_CHECK_EQ
    - memset
    - TC_CHECK_GE
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: size_t
    signature: size_t BackingNode(void* const ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - under
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::FakeNumaAwareRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeNumaAwareRegionFactory(AddressRegionFactory* under)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:88,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:89,1
    - Dst: std::make_tuple
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:93,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - start_addr
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 1
    functionsReached:
    - std::make_tuple
    - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
    - numa_topology
    - TC_CHECK
    - CHECK_LE
    linkageType: ''
    returnType: AddressRegion
    signature: "AddressRegion * Create(void* start_addr, size_t size,\n                        UsageHint
      hint) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t GetStats(absl::Span<char> buffer) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::GetStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t GetStatsInPbtxt(absl::Span<char> buffer) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    linkageType: ''
    returnType: std::string
    signature: std::string AddrsAndHintsDebug()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::NotFoundCount
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int NotFoundCount()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:138,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:144,1
    - Dst: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - expected_partition
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::VerifyHint
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
    - EXPECT_EQ
    - LOG
    - static_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void VerifyHint(void* const ptr, int expected_partition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:160,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:161,1
    - Dst: absl::NoDestructor::get
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetRegionFactory
    - TC_CHECK_NE
    - absl::NoDestructor::get
    linkageType: ''
    returnType: FakeNumaAwareRegionFactory
    signature: FakeNumaAwareRegionFactory * GetFakeNumaAwareRegionFactory()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:169,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:170,1
    - Dst: tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:178,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:190,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:192,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:197,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:197,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:200,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:201,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:202,1
    - Dst: tcmalloc::tcmalloc_internal::BackingNode
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:205,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:216,1
    - Dst: NodeToPartition
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:216,1
    - Dst: NodeToPartition
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:217,1
    - Dst: FakeNumaAwareRegionFactory*::VerifyHint
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:219,1
    - Dst: NodeToPartition
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:220,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:229,1
    - Dst: FakeNumaAwareRegionFactory*::NotFoundCount
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 231
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - FakeNumaAwareRegionFactory*::NotFoundCount
    - tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    - syscall
    - GTEST_SKIP
    - absl::Uniform
    - std::vector::size
    - tcmalloc::tcmalloc_internal::BackingNode
    - AllowedCpus
    - ScopedAffinityMask::Tampered
    - EXPECT_EQ
    - numa_topology
    - FakeNumaAwareRegionFactory*::VerifyHint
    - NodeToPartition
    - ::operator delete
    - ASSERT_EQ
    - ASSERT_NE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(NumaLocalityTest, AllocationsAreLocal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:236,1
    - Dst: tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::install_factory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    linkageType: ''
    returnType: void
    signature: void install_factory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:61,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:65,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:66,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:72,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:72,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::BackingNode
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 1
    functionsReached:
    - GetPageSize
    - syscall
    - TC_CHECK_EQ
    - memset
    - TC_CHECK_GE
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: size_t
    signature: size_t BackingNode(void* const ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - under
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::FakeNumaAwareRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeNumaAwareRegionFactory(AddressRegionFactory* under)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:88,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:89,1
    - Dst: std::make_tuple
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:93,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - start_addr
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 2
    functionsReached:
    - std::make_tuple
    - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
    - numa_topology
    - TC_CHECK
    - CHECK_LE
    linkageType: ''
    returnType: AddressRegion
    signature: "AddressRegion * Create(void* start_addr, size_t size,\n                        UsageHint
      hint) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t GetStats(absl::Span<char> buffer) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::GetStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t GetStatsInPbtxt(absl::Span<char> buffer) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrAppend
    linkageType: ''
    returnType: std::string
    signature: std::string AddrsAndHintsDebug()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::NotFoundCount
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int NotFoundCount()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:138,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:144,1
    - Dst: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - expected_partition
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::VerifyHint
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
    - EXPECT_EQ
    - LOG
    - static_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void VerifyHint(void* const ptr, int expected_partition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:160,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:161,1
    - Dst: absl::NoDestructor::get
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::MallocExtension::GetRegionFactory
    - TC_CHECK_NE
    - absl::NoDestructor::get
    linkageType: ''
    returnType: FakeNumaAwareRegionFactory
    signature: FakeNumaAwareRegionFactory * GetFakeNumaAwareRegionFactory()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:169,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:170,1
    - Dst: tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:178,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:190,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:192,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:197,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:197,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:200,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:201,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:202,1
    - Dst: tcmalloc::tcmalloc_internal::BackingNode
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:205,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:216,1
    - Dst: NodeToPartition
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:216,1
    - Dst: NodeToPartition
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:217,1
    - Dst: FakeNumaAwareRegionFactory*::VerifyHint
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:219,1
    - Dst: NodeToPartition
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:220,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:229,1
    - Dst: FakeNumaAwareRegionFactory*::NotFoundCount
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 231
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - FakeNumaAwareRegionFactory*::NotFoundCount
    - tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    - syscall
    - GTEST_SKIP
    - absl::Uniform
    - std::vector::size
    - tcmalloc::tcmalloc_internal::BackingNode
    - AllowedCpus
    - ScopedAffinityMask::Tampered
    - EXPECT_EQ
    - numa_topology
    - FakeNumaAwareRegionFactory*::VerifyHint
    - NodeToPartition
    - ::operator delete
    - ASSERT_EQ
    - ASSERT_NE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(NumaLocalityTest, AllocationsAreLocal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:236,1
    - Dst: tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::install_factory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    linkageType: ''
    returnType: void
    signature: void install_factory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:61,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:65,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:66,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:72,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:72,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::BackingNode
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 2
    functionsReached:
    - GetPageSize
    - syscall
    - TC_CHECK_EQ
    - memset
    - TC_CHECK_GE
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: size_t
    signature: size_t BackingNode(void* const ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - under
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::FakeNumaAwareRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeNumaAwareRegionFactory(AddressRegionFactory* under)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:88,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:89,1
    - Dst: std::make_tuple
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:93,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - start_addr
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 3
    functionsReached:
    - std::make_tuple
    - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
    - numa_topology
    - TC_CHECK
    - CHECK_LE
    linkageType: ''
    returnType: AddressRegion
    signature: "AddressRegion * Create(void* start_addr, size_t size,\n                        UsageHint
      hint) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t GetStats(absl::Span<char> buffer) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::GetStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t GetStatsInPbtxt(absl::Span<char> buffer) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrAppend
    linkageType: ''
    returnType: std::string
    signature: std::string AddrsAndHintsDebug()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::NotFoundCount
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int NotFoundCount()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:138,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:144,1
    - Dst: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - expected_partition
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::VerifyHint
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
    - EXPECT_EQ
    - LOG
    - static_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void VerifyHint(void* const ptr, int expected_partition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:160,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:161,1
    - Dst: absl::NoDestructor::get
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::MallocExtension::GetRegionFactory
    - TC_CHECK_NE
    - absl::NoDestructor::get
    linkageType: ''
    returnType: FakeNumaAwareRegionFactory
    signature: FakeNumaAwareRegionFactory * GetFakeNumaAwareRegionFactory()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:169,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:170,1
    - Dst: tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:178,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:190,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:192,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:197,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:197,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:200,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:201,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:202,1
    - Dst: tcmalloc::tcmalloc_internal::BackingNode
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:205,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:216,1
    - Dst: NodeToPartition
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:216,1
    - Dst: NodeToPartition
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:217,1
    - Dst: FakeNumaAwareRegionFactory*::VerifyHint
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:219,1
    - Dst: NodeToPartition
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:220,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:229,1
    - Dst: FakeNumaAwareRegionFactory*::NotFoundCount
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 231
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - FakeNumaAwareRegionFactory*::NotFoundCount
    - tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    - syscall
    - GTEST_SKIP
    - absl::Uniform
    - std::vector::size
    - tcmalloc::tcmalloc_internal::BackingNode
    - AllowedCpus
    - ScopedAffinityMask::Tampered
    - EXPECT_EQ
    - numa_topology
    - FakeNumaAwareRegionFactory*::VerifyHint
    - NodeToPartition
    - ::operator delete
    - ASSERT_EQ
    - ASSERT_NE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(NumaLocalityTest, AllocationsAreLocal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:236,1
    - Dst: tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::install_factory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    linkageType: ''
    returnType: void
    signature: void install_factory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:61,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:65,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:66,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:72,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:72,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::BackingNode
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 3
    functionsReached:
    - GetPageSize
    - syscall
    - TC_CHECK_EQ
    - memset
    - TC_CHECK_GE
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: size_t
    signature: size_t BackingNode(void* const ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - under
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::FakeNumaAwareRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeNumaAwareRegionFactory(AddressRegionFactory* under)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:88,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:89,1
    - Dst: std::make_tuple
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:93,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - start_addr
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 4
    functionsReached:
    - std::make_tuple
    - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
    - numa_topology
    - TC_CHECK
    - CHECK_LE
    linkageType: ''
    returnType: AddressRegion
    signature: "AddressRegion * Create(void* start_addr, size_t size,\n                        UsageHint
      hint) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t GetStats(absl::Span<char> buffer) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::GetStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t GetStatsInPbtxt(absl::Span<char> buffer) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrAppend
    linkageType: ''
    returnType: std::string
    signature: std::string AddrsAndHintsDebug()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::NotFoundCount
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int NotFoundCount()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:138,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:144,1
    - Dst: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - expected_partition
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::VerifyHint
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
    - EXPECT_EQ
    - LOG
    - static_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void VerifyHint(void* const ptr, int expected_partition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:160,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:161,1
    - Dst: absl::NoDestructor::get
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::MallocExtension::GetRegionFactory
    - TC_CHECK_NE
    - absl::NoDestructor::get
    linkageType: ''
    returnType: FakeNumaAwareRegionFactory
    signature: FakeNumaAwareRegionFactory * GetFakeNumaAwareRegionFactory()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:169,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:170,1
    - Dst: tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:178,1
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:190,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:192,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:197,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:197,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:200,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:201,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:202,1
    - Dst: tcmalloc::tcmalloc_internal::BackingNode
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:205,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:216,1
    - Dst: NodeToPartition
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:216,1
    - Dst: NodeToPartition
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:217,1
    - Dst: FakeNumaAwareRegionFactory*::VerifyHint
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:219,1
    - Dst: NodeToPartition
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:220,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:229,1
    - Dst: FakeNumaAwareRegionFactory*::NotFoundCount
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 231
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - FakeNumaAwareRegionFactory*::NotFoundCount
    - tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    - syscall
    - GTEST_SKIP
    - absl::Uniform
    - std::vector::size
    - tcmalloc::tcmalloc_internal::BackingNode
    - AllowedCpus
    - ScopedAffinityMask::Tampered
    - EXPECT_EQ
    - numa_topology
    - FakeNumaAwareRegionFactory*::VerifyHint
    - NodeToPartition
    - ::operator delete
    - ASSERT_EQ
    - ASSERT_NE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(NumaLocalityTest, AllocationsAreLocal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:236,1
    - Dst: tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::install_factory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    linkageType: ''
    returnType: void
    signature: void install_factory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Foo
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Foo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc:34,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc:36,1
    - Dst: Foo::Foo
      Src: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc:36,1
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (v[i]->x == 42)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: fn
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc
    functionUses: 0
    functionsReached:
    - Foo::Foo
    - std::vector::reserve
    - assert
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void * fn(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: Init
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc
    functionUses: 306
    functionsReached:
    - pthread_create
    linkageType: ''
    returnType: pthread_t
    signature: pthread_t Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Foo
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Foo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc:34,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc:36,1
    - Dst: Foo::Foo
      Src: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc:36,1
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (v[i]->x == 42)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: fn
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc
    functionUses: 0
    functionsReached:
    - Foo::Foo
    - std::vector::reserve
    - assert
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void * fn(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: Init
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc
    functionUses: 306
    functionsReached:
    - pthread_create
    linkageType: ''
    returnType: pthread_t
    signature: pthread_t Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Func
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: pthread_t
    signature: pthread_t * Func()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tcmalloc::Object
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Object()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - Object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: tcmalloc::Object
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Object(const Object& o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:36,1
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:37,1
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - Object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tcmalloc::Object
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: void
    signature: void Object(Object&& o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - Object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const Object& o)'
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: Object & operator=(const Object& o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:43,1
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:44,1
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - Object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: '& operator=(Object&& o)'
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: Object
    signature: Object & operator=(Object&& o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:57,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:57,1
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:60,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:60,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:61,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:61,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: tcmalloc::State
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached:
    - swap
    - back
    - size
    - absl::Uniform<size_t>
    - pop_back
    - std::move
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED State
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:57,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:57,1
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:60,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:60,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:61,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:61,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: tcmalloc::RemoveRandomObject
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached:
    - swap
    - back
    - size
    - absl::Uniform<size_t>
    - pop_back
    - std::move
    linkageType: ''
    returnType: Object
    signature: Object RemoveRandomObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - nthreads
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: tcmalloc::AllocatorHarness::AllocatorHarness
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocatorHarness(int nthreads)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:87,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: ~AllocatorHarness()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    linkageType: ''
    returnType: void
    signature: void ~AllocatorHarness()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:104,1
    - Dst: owned::reserve
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:107,1
    - Dst: owned::size
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:107,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:107,1
    - Dst: owned::push_back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:109,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:109,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:111,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:113,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:116,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:129,1
    - Dst: tcmalloc::AllocatorHarness::FillContents
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:132,1
    - Dst: owned::push_back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:134,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:134,1
    - Dst: owned::empty
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:141,1
    - Dst: RemoveRandomObject
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:147,1
    - Dst: tcmalloc::AllocatorHarness::CheckContents
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:149,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:151,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:158,1
    - Dst: owned::size
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:158,1
    - Dst: tcmalloc::AllocatorHarness::CheckContents
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:161,1
    - Dst: tcmalloc::AllocatorHarness::FillContents
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:163,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:166,1
    - Dst: RemoveRandomObject
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:168,1
    - Dst: inbound::push_back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:172,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - thread_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 174
    functionName: tcmalloc::AllocatorHarness::Run
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached:
    - tcmalloc::AllocatorHarness::CheckContents
    - owned::reserve
    - std::vector::clear
    - absl::LogUniform<size_t>
    - tcmalloc::AllocatorHarness::FillContents
    - std::vector::swap
    - inbound::push_back
    - sized_delete
    - std::vector::size
    - absl::Uniform
    - RemoveRandomObject
    - owned::empty
    - owned::push_back
    - std::move
    - ::operator new
    - owned::size
    linkageType: ''
    returnType: void
    signature: void Run(int thread_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:179,1
    - Dst: absl::Uniform<uint32_t>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:181,1
    - Dst: absl::Uniform<char>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:183,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:184,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:184,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:186,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - Object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: tcmalloc::AllocatorHarness::FillContents
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 1
    functionsReached:
    - absl::Uniform<char>
    - static_cast<char*>
    - memset
    - absl::Uniform<uint32_t>
    - std::min
    - reinterpret_cast<intptr_t>
    linkageType: ''
    returnType: void
    signature: void FillContents(Object& object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:195,1
    - Dst: absl::Uniform<uint32_t>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:197,1
    - Dst: absl::Uniform<char>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:201,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:202,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:203,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:205,1
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:205,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:208,1
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - Object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 210
    functionName: tcmalloc::AllocatorHarness::CheckContents
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 1
    functionsReached:
    - static_cast<const char*>
    - absl::Uniform<char>
    - absl::Uniform<uint32_t>
    - std::min
    - std::max
    - ASSERT_EQ
    - reinterpret_cast<intptr_t>
    linkageType: ''
    returnType: void
    signature: void CheckContents(const Object& object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tcmalloc::Object
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Object()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - Object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: tcmalloc::Object
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Object(const Object& o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:36,1
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:37,1
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - Object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tcmalloc::Object
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: void
    signature: void Object(Object&& o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - Object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const Object& o)'
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: Object & operator=(const Object& o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:43,1
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:44,1
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - Object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: '& operator=(Object&& o)'
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: Object
    signature: Object & operator=(Object&& o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:57,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:57,1
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:60,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:60,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:61,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:61,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: tcmalloc::State
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached:
    - swap
    - back
    - size
    - absl::Uniform<size_t>
    - pop_back
    - std::move
    linkageType: ''
    returnType: struct ABSL_CACHELINE_ALIGNED
    signature: struct ABSL_CACHELINE_ALIGNED State
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:57,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:57,1
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:60,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:60,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:61,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:61,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: tcmalloc::RemoveRandomObject
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached:
    - swap
    - back
    - size
    - absl::Uniform<size_t>
    - pop_back
    - std::move
    linkageType: ''
    returnType: Object
    signature: Object RemoveRandomObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - nthreads
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: tcmalloc::AllocatorHarness::AllocatorHarness
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllocatorHarness(int nthreads)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:87,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: ~AllocatorHarness()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached:
    - sized_delete
    linkageType: ''
    returnType: void
    signature: void ~AllocatorHarness()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:104,1
    - Dst: owned::reserve
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:107,1
    - Dst: owned::size
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:107,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:107,1
    - Dst: owned::push_back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:109,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:109,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:111,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:113,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:116,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:129,1
    - Dst: tcmalloc::AllocatorHarness::FillContents
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:132,1
    - Dst: owned::push_back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:134,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:134,1
    - Dst: owned::empty
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:141,1
    - Dst: RemoveRandomObject
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:147,1
    - Dst: tcmalloc::AllocatorHarness::CheckContents
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:149,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:151,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:158,1
    - Dst: owned::size
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:158,1
    - Dst: tcmalloc::AllocatorHarness::CheckContents
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:161,1
    - Dst: tcmalloc::AllocatorHarness::FillContents
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:163,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:166,1
    - Dst: RemoveRandomObject
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:168,1
    - Dst: inbound::push_back
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:172,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - thread_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 174
    functionName: tcmalloc::AllocatorHarness::Run
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 0
    functionsReached:
    - tcmalloc::AllocatorHarness::CheckContents
    - owned::reserve
    - std::vector::clear
    - absl::LogUniform<size_t>
    - tcmalloc::AllocatorHarness::FillContents
    - std::vector::swap
    - inbound::push_back
    - sized_delete
    - std::vector::size
    - absl::Uniform
    - RemoveRandomObject
    - owned::empty
    - owned::push_back
    - std::move
    - ::operator new
    - owned::size
    linkageType: ''
    returnType: void
    signature: void Run(int thread_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:179,1
    - Dst: absl::Uniform<uint32_t>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:181,1
    - Dst: absl::Uniform<char>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:183,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:184,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:184,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:186,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - Object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: tcmalloc::AllocatorHarness::FillContents
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 2
    functionsReached:
    - absl::Uniform<char>
    - static_cast<char*>
    - memset
    - absl::Uniform<uint32_t>
    - std::min
    - reinterpret_cast<intptr_t>
    linkageType: ''
    returnType: void
    signature: void FillContents(Object& object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:195,1
    - Dst: absl::Uniform<uint32_t>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:197,1
    - Dst: absl::Uniform<char>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:201,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:202,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:203,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:205,1
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:205,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:208,1
    - Dst: static_cast<const char*>
      Src: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - Object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 210
    functionName: tcmalloc::AllocatorHarness::CheckContents
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    functionUses: 2
    functionsReached:
    - static_cast<const char*>
    - absl::Uniform<char>
    - absl::Uniform<uint32_t>
    - std::min
    - std::max
    - ASSERT_EQ
    - reinterpret_cast<intptr_t>
    linkageType: ''
    returnType: void
    signature: void CheckContents(const Object& object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:57,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: TestProfileSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - absl::FPrintF
    linkageType: ''
    returnType: bool
    signature: bool TestProfileSamplingInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:69,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: TestGuardedSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - absl::FPrintF
    linkageType: ''
    returnType: bool
    signature: bool TestGuardedSamplingInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:81,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: TestBackgroundReleaseRate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetBackgroundReleaseRate
    - absl::FPrintF
    linkageType: ''
    returnType: bool
    signature: bool TestBackgroundReleaseRate()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:94,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:96,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:97,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:98,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:102,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:104,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:105,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 111
    functionName: TestSkipSubreleaseIntervals
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - absl::ToInt64Seconds
    - absl::FPrintF
    linkageType: ''
    returnType: bool
    signature: bool TestSkipSubreleaseIntervals()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TestProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:120,1
    - Dst: TestGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:121,1
    - Dst: TestBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:122,1
    - Dst: TestSkipSubreleaseIntervals
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:123,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc
    functionUses: 0
    functionsReached:
    - TestGuardedSamplingInterval
    - TestSkipSubreleaseIntervals
    - TestBackgroundReleaseRate
    - fprintf
    - TestProfileSamplingInterval
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_ForceCpuCacheActivation
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:43,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:51,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:54,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:56,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:64,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:69,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:73,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:75,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:100,1
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:109,1
    - Dst: MallocExtension_Internal_GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:119,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:121,1
    - Dst: MallocExtension_Internal_GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:124,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:125,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:125,1
    - Dst: MallocExtension_Internal_GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:130,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:131,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:134,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:138,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc:142,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(false &&\n           \"Not linked against TCMalloc, but not built
        with sanitizers.\")"
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc
    constantsTouched: []
    func_position:
      end: 145
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 145
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - absl::string_view::data
    - MallocExtension_Internal_GetProperties
    - abort
    - std::string
    - absl::FPrintF
    - ABSL_ARRAYSIZE
    - MallocExtension_Internal_GetNumericProperty
    - assert
    - ::operator delete
    - std::max
    - absl::string_view::size
    - TCMalloc_Internal_ForceCpuCacheActivation
    - free
    - ::operator new
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchmark::Initialize
      Src: /src/tcmalloc/tcmalloc/testing/benchmark_main.cc:18,1
    - Dst: benchmark::RunSpecifiedBenchmarks
      Src: /src/tcmalloc/tcmalloc/testing/benchmark_main.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/benchmark_main.cc
    functionUses: 0
    functionsReached:
    - benchmark::RunSpecifiedBenchmarks
    - benchmark::Initialize
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:40,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:43,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:44,1
    - Dst: absl::StatusOr::status
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc
    functionUses: 2
    functionsReached:
    - absl::StatusOr::ok
    - EXPECT_EQ
    - absl::StatusOr::status
    - ASSERT_FALSE
    - tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
    linkageType: ''
    returnType: void
    signature: void TEST(MallocTracingExtension, GetAllocatedAddressRanges)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' span'
    - obj_start
    - obj_size
    argTypes:
    - AllocatedAddressRanges::SpanDetails
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: InRange
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool InRange(const AllocatedAddressRanges::SpanDetails& span, void*
      obj_start,\n             size_t obj_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InRange
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' allocated'
    - obj_start
    - obj_size
    argTypes:
    - AllocatedAddressRanges
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: GetSpanDetailsForObject
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc
    functionUses: 0
    functionsReached:
    - InRange
    linkageType: ''
    returnType: std::optional<AllocatedAddressRanges::SpanDetails>
    signature: "std::optional<AllocatedAddressRanges::SpanDetails> GetSpanDetailsForObject(\n
      \   const AllocatedAddressRanges& allocated, void* obj_start, size_t obj_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:74,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:78,1
    - Dst: tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:85,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:88,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:88,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:89,1
    - Dst: absl::StatusOr::value
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:89,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:90,1
    - Dst: absl::StatusOr::value
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:91,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:92,1
    - Dst: AllOf
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:92,1
    - Dst: Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:93,1
    - Dst: Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:94,1
    - Dst: Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:95,1
    - Dst: Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:95,1
    - Dst: GetSpanDetailsForObject
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:98,1
    - Dst: absl::StatusOr::value
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:98,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:99,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:99,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:103,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:104,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 108
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc
    functionUses: 2
    functionsReached:
    - absl::StatusOr::ok
    - std::optional::value
    - Each
    - Gt
    - AllOf
    - std::optional::has_value
    - EXPECT_GT
    - size
    - EXPECT_THAT
    - absl::StatusOr::value
    - EXPECT_GE
    - Field
    - ASSERT_TRUE
    - tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
    - ::operator delete
    - ::operator new
    - GetSpanDetailsForObject
    linkageType: ''
    returnType: void
    signature: void TEST(MallocTracingExtension, GetAllocatedAddressRanges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:40,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:43,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:44,1
    - Dst: absl::StatusOr::status
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc
    functionUses: 2
    functionsReached:
    - absl::StatusOr::ok
    - EXPECT_EQ
    - absl::StatusOr::status
    - ASSERT_FALSE
    - tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
    linkageType: ''
    returnType: void
    signature: void TEST(MallocTracingExtension, GetAllocatedAddressRanges)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' span'
    - obj_start
    - obj_size
    argTypes:
    - AllocatedAddressRanges::SpanDetails
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: InRange
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool InRange(const AllocatedAddressRanges::SpanDetails& span, void*
      obj_start,\n             size_t obj_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InRange
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' allocated'
    - obj_start
    - obj_size
    argTypes:
    - AllocatedAddressRanges
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: GetSpanDetailsForObject
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc
    functionUses: 1
    functionsReached:
    - InRange
    linkageType: ''
    returnType: std::optional<AllocatedAddressRanges::SpanDetails>
    signature: "std::optional<AllocatedAddressRanges::SpanDetails> GetSpanDetailsForObject(\n
      \   const AllocatedAddressRanges& allocated, void* obj_start, size_t obj_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:74,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:78,1
    - Dst: tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:85,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:88,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:88,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:89,1
    - Dst: absl::StatusOr::value
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:89,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:90,1
    - Dst: absl::StatusOr::value
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:91,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:92,1
    - Dst: AllOf
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:92,1
    - Dst: Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:93,1
    - Dst: Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:94,1
    - Dst: Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:95,1
    - Dst: Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:95,1
    - Dst: GetSpanDetailsForObject
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:98,1
    - Dst: absl::StatusOr::value
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:98,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:99,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:99,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:103,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:104,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 108
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc
    functionUses: 2
    functionsReached:
    - absl::StatusOr::ok
    - std::optional::value
    - Each
    - Gt
    - AllOf
    - std::optional::has_value
    - EXPECT_GT
    - size
    - EXPECT_THAT
    - absl::StatusOr::value
    - EXPECT_GE
    - Field
    - ASSERT_TRUE
    - tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
    - ::operator delete
    - ::operator new
    - GetSpanDetailsForObject
    linkageType: ''
    returnType: void
    signature: void TEST(MallocTracingExtension, GetAllocatedAddressRanges)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/want_hpaa_test_helper.cc:29,1
    - Dst: absl::StrSplit
      Src: /src/tcmalloc/tcmalloc/testing/want_hpaa_test_helper.cc:32,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/want_hpaa_test_helper.cc:33,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/want_hpaa_test_helper.cc:41,1
    - Dst: absl::ConsumePrefix
      Src: /src/tcmalloc/tcmalloc/testing/want_hpaa_test_helper.cc:43,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/want_hpaa_test_helper.cc:44,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/testing/want_hpaa_test_helper.cc:44,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/testing/want_hpaa_test_helper.cc:48,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/want_hpaa_test_helper.cc:50,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/testing/want_hpaa_test_helper.cc:52,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/want_hpaa_test_helper.cc:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/want_hpaa_test_helper.cc
    functionUses: 0
    functionsReached:
    - absl::StrContains
    - tcmalloc::MallocExtension::GetStats
    - CHECK_EQ
    - absl::StrSplit
    - printf
    - absl::SimpleAtoi
    - CHECK_NE
    - absl::ConsumePrefix
    - CHECK
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:34,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:35,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:36,1
    - Dst: auto::StartTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:36,1
    - Dst: auto::StartTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: tcmalloc::ProfileSizeAndTime
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - CHECK
    - auto::StartTime
    - tcmalloc::MallocExtension::SnapshotCurrent
    - auto::Iterate
    linkageType: ''
    returnType: std::pair<int64_t, absl::Time>
    signature: std::pair<int64_t, absl::Time> ProfileSizeAndTime(ProfileType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:41,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:43,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:43,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tcmalloc::PeakMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - auto::value
    - auto::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    - CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t PeakMemoryUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_GetPeakSamplingHeapGrowthFraction
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:50,1
    - Dst: TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - temporary_value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tcmalloc::ScopedPeakGrowthFraction::ScopedPeakGrowthFraction
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
    - TCMalloc_Internal_GetPeakSamplingHeapGrowthFraction
    linkageType: ''
    returnType: void
    signature: void ScopedPeakGrowthFraction(double temporary_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: ~ScopedPeakGrowthFraction()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
    linkageType: ''
    returnType: void
    signature: void ~ScopedPeakGrowthFraction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:76,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:80,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:83,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:86,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:87,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:88,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:89,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:90,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:94,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:95,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:99,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:101,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:101,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:106,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:107,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:110,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:111,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:112,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:113,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:114,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:119,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:120,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:120,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:123,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:124,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:124,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:127,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:128,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:128,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:132,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:133,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:134,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:136,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:137,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:137,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:144,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:145,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:147,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:147,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:148,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:148,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:150,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:151,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 155
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - tcmalloc::PeakMemoryUsage
    - EXPECT_GT
    - EXPECT_LE
    - tcmalloc::ProfileSizeAndTime
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(PeakHeapProfilingTest, DISABLED_PeakHeapTracking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:34,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:35,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:36,1
    - Dst: auto::StartTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:36,1
    - Dst: auto::StartTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: tcmalloc::ProfileSizeAndTime
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 1
    functionsReached:
    - CHECK
    - auto::StartTime
    - tcmalloc::MallocExtension::SnapshotCurrent
    - auto::Iterate
    linkageType: ''
    returnType: std::pair<int64_t, absl::Time>
    signature: std::pair<int64_t, absl::Time> ProfileSizeAndTime(ProfileType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:41,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:43,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:43,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tcmalloc::PeakMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 1
    functionsReached:
    - auto::value
    - auto::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    - CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t PeakMemoryUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_GetPeakSamplingHeapGrowthFraction
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:50,1
    - Dst: TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - temporary_value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tcmalloc::ScopedPeakGrowthFraction::ScopedPeakGrowthFraction
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
    - TCMalloc_Internal_GetPeakSamplingHeapGrowthFraction
    linkageType: ''
    returnType: void
    signature: void ScopedPeakGrowthFraction(double temporary_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: ~ScopedPeakGrowthFraction()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
    linkageType: ''
    returnType: void
    signature: void ~ScopedPeakGrowthFraction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:76,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:80,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:83,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:86,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:87,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:88,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:89,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:90,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:94,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:95,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:99,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:101,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:101,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:106,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:107,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:110,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:111,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:112,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:113,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:114,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:119,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:120,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:120,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:123,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:124,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:124,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:127,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:128,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:128,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:132,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:133,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:134,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:136,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:137,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:137,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:144,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:145,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:147,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:147,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:148,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:148,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:150,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:151,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 155
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - tcmalloc::PeakMemoryUsage
    - EXPECT_GT
    - EXPECT_LE
    - tcmalloc::ProfileSizeAndTime
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(PeakHeapProfilingTest, DISABLED_PeakHeapTracking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:34,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:35,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:36,1
    - Dst: auto::StartTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:36,1
    - Dst: auto::StartTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: tcmalloc::ProfileSizeAndTime
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 2
    functionsReached:
    - CHECK
    - auto::StartTime
    - tcmalloc::MallocExtension::SnapshotCurrent
    - auto::Iterate
    linkageType: ''
    returnType: std::pair<int64_t, absl::Time>
    signature: std::pair<int64_t, absl::Time> ProfileSizeAndTime(ProfileType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:41,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:43,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:43,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tcmalloc::PeakMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 2
    functionsReached:
    - auto::value
    - auto::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    - CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t PeakMemoryUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_GetPeakSamplingHeapGrowthFraction
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:50,1
    - Dst: TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - temporary_value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tcmalloc::ScopedPeakGrowthFraction::ScopedPeakGrowthFraction
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
    - TCMalloc_Internal_GetPeakSamplingHeapGrowthFraction
    linkageType: ''
    returnType: void
    signature: void ScopedPeakGrowthFraction(double temporary_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: ~ScopedPeakGrowthFraction()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
    linkageType: ''
    returnType: void
    signature: void ~ScopedPeakGrowthFraction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:76,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:80,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:83,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:86,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:87,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:88,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:89,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:90,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:94,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:95,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:99,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:101,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:101,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:106,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:107,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:110,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:111,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:112,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:113,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:114,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:119,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:120,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:120,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:123,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:124,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:124,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:127,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:128,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:128,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:132,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:133,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:134,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:136,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:137,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:137,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:144,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:145,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:147,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:147,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:148,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:148,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:150,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:151,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 155
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - tcmalloc::PeakMemoryUsage
    - EXPECT_GT
    - EXPECT_LE
    - tcmalloc::ProfileSizeAndTime
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(PeakHeapProfilingTest, DISABLED_PeakHeapTracking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:34,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:35,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:36,1
    - Dst: auto::StartTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:36,1
    - Dst: auto::StartTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: tcmalloc::ProfileSizeAndTime
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 3
    functionsReached:
    - CHECK
    - auto::StartTime
    - tcmalloc::MallocExtension::SnapshotCurrent
    - auto::Iterate
    linkageType: ''
    returnType: std::pair<int64_t, absl::Time>
    signature: std::pair<int64_t, absl::Time> ProfileSizeAndTime(ProfileType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:41,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:43,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:43,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tcmalloc::PeakMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 3
    functionsReached:
    - auto::value
    - auto::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    - CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t PeakMemoryUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_GetPeakSamplingHeapGrowthFraction
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:50,1
    - Dst: TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - temporary_value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tcmalloc::ScopedPeakGrowthFraction::ScopedPeakGrowthFraction
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
    - TCMalloc_Internal_GetPeakSamplingHeapGrowthFraction
    linkageType: ''
    returnType: void
    signature: void ScopedPeakGrowthFraction(double temporary_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: ~ScopedPeakGrowthFraction()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
    linkageType: ''
    returnType: void
    signature: void ~ScopedPeakGrowthFraction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:76,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:80,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:83,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:86,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:87,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:88,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:89,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:90,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:94,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:95,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:99,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:101,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:101,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:106,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:107,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:110,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:111,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:112,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:113,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:114,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:119,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:120,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:120,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:123,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:124,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:124,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:127,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:128,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:128,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:132,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:133,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:134,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:136,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:137,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:137,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:144,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:145,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:147,1
    - Dst: tcmalloc::ProfileSizeAndTime
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:147,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:148,1
    - Dst: tcmalloc::PeakMemoryUsage
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:148,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:150,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:151,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 155
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - tcmalloc::PeakMemoryUsage
    - EXPECT_GT
    - EXPECT_LE
    - tcmalloc::ProfileSizeAndTime
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(PeakHeapProfilingTest, DISABLED_PeakHeapTracking)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stop'
    - do_sized_delete
    argTypes:
    - std::atomic<bool>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: tcmalloc::Allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Allocator(std::atomic<bool>& stop, bool do_sized_delete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:45,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:49,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:50,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:52,1
    - Dst: TCMallocInternalNew
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:52,1
    - Dst: ABSL_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:56,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:56,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:61,1
    - Dst: TCMallocInternalDelete
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:63,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: operator()()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - load
    - ABSL_CHECK_GE
    - std::vector::push_back
    - TCMallocInternalDelete
    - tcmalloc::MallocExtension::GetAllocatedSize
    - TCMallocInternalDeleteSized
    - absl::LogUniform
    - TCMallocInternalNew
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void operator()()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:81,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:81,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:83,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:84,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:85,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - std::thread::join
    - std::atomic::store
    - join
    linkageType: ''
    returnType: void
    signature: void TEST(ParallelTest, Stable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stop'
    - do_sized_delete
    argTypes:
    - std::atomic<bool>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: tcmalloc::Allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Allocator(std::atomic<bool>& stop, bool do_sized_delete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:45,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:49,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:50,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:52,1
    - Dst: TCMallocInternalNew
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:52,1
    - Dst: ABSL_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:56,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:56,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:61,1
    - Dst: TCMallocInternalDelete
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:63,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: operator()()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - load
    - ABSL_CHECK_GE
    - std::vector::push_back
    - TCMallocInternalDelete
    - tcmalloc::MallocExtension::GetAllocatedSize
    - TCMallocInternalDeleteSized
    - absl::LogUniform
    - TCMallocInternalNew
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void operator()()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:81,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:81,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:83,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:84,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:85,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - std::thread::join
    - std::atomic::store
    - join
    linkageType: ''
    returnType: void
    signature: void TEST(ParallelTest, Stable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stop'
    - do_sized_delete
    argTypes:
    - std::atomic<bool>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: tcmalloc::Allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Allocator(std::atomic<bool>& stop, bool do_sized_delete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:45,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:49,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:50,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:52,1
    - Dst: TCMallocInternalNew
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:52,1
    - Dst: ABSL_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:56,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:56,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:61,1
    - Dst: TCMallocInternalDelete
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:63,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: operator()()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - load
    - ABSL_CHECK_GE
    - std::vector::push_back
    - TCMallocInternalDelete
    - tcmalloc::MallocExtension::GetAllocatedSize
    - TCMallocInternalDeleteSized
    - absl::LogUniform
    - TCMallocInternalNew
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void operator()()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:81,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:81,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:83,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:84,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:85,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - std::thread::join
    - std::atomic::store
    - join
    linkageType: ''
    returnType: void
    signature: void TEST(ParallelTest, Stable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stop'
    - do_sized_delete
    argTypes:
    - std::atomic<bool>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: tcmalloc::Allocator
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Allocator(std::atomic<bool>& stop, bool do_sized_delete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:45,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:49,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:50,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:52,1
    - Dst: TCMallocInternalNew
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:52,1
    - Dst: ABSL_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:56,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:56,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:61,1
    - Dst: TCMallocInternalDelete
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:63,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: operator()()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - load
    - ABSL_CHECK_GE
    - std::vector::push_back
    - TCMallocInternalDelete
    - tcmalloc::MallocExtension::GetAllocatedSize
    - TCMallocInternalDeleteSized
    - absl::LogUniform
    - TCMallocInternalNew
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void operator()()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:81,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:81,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:83,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:84,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:85,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/parallel_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - std::thread::join
    - std::atomic::store
    - join
    linkageType: ''
    returnType: void
    signature: void TEST(ParallelTest, Stable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:60,1
    - Dst: ProcMapsIterator::NextExt
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:70,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mmap_start
    - mmap_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::MappingName
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - ProcMapsIterator::NextExt
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: std::string
    signature: std::string MappingName(void* mmap_start, size_t mmap_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:81,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:81,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:85,1
    - Dst: static_cast<unsigned int>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:85,1
    - Dst: MmapAligned
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:87,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:89,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:90,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:91,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:94,1
    - Dst: MappingName
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:94,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:95,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:95,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:98,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - static_cast<unsigned int>
    - EXPECT_NE
    - IsNormalMemory
    - MappingName
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    - MmapAligned
    - static_cast<char*>
    - SCOPED_TRACE
    - EXPECT_THAT
    - GetMemoryTag
    - HasSubstr
    - MemoryTagToLabel
    - reinterpret_cast<uintptr_t>
    - munmap
    linkageType: ''
    returnType: void
    signature: void MmapAndCheck(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:105,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:111,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 1
    functionsReached:
    - prctl
    - munmap
    - mmap
    linkageType: ''
    returnType: bool
    signature: bool PrSetVmaIsSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:128,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(MmapAlignedTest, CorrectAlignmentAndTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(MmapAlignedTest, LargeSizeSmallAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::SimpleRegion::SimpleRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleRegion(uintptr_t start, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:151,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::SimpleRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - mprotect
    - TC_CHECK_EQ
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::SimpleRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleRegionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:167,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:171,1
    - Dst: SimpleRegion::SimpleRegion
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MallocInternal
    - SimpleRegion::SimpleRegion
    - TC_CHECK_NE
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - usage_hint
    argTypes:
    - AddressRegionFactory::UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 196
    functionName: tcmalloc::tcmalloc_internal::hintToString
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view hintToString(AddressRegionFactory::UsageHint usage_hint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:201,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:204,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:207,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:208,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::SetRegionFactory
    - ASSERT_TRUE
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(Basic, InvokedTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:228,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:229,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:231,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:232,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:235,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - ASSERT_NE
    - tcmalloc_internal::max
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(Basic, RetryFailTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:242,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:246,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:248,1
    - Dst: usage_hint_::has_value
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::hintToString
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:250,1
    - Dst: absl::IgnoreLeak
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::hintToString
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetRegionFactory
    - absl::IgnoreLeak
    - ASSERT_TRUE
    - usage_hint_::has_value
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(UsageHint, VerifyUsageHintkMetadataTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:60,1
    - Dst: ProcMapsIterator::NextExt
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:70,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mmap_start
    - mmap_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::MappingName
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - ProcMapsIterator::NextExt
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: std::string
    signature: std::string MappingName(void* mmap_start, size_t mmap_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:81,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:81,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:85,1
    - Dst: static_cast<unsigned int>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:85,1
    - Dst: MmapAligned
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:87,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:89,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:90,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:91,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:94,1
    - Dst: MappingName
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:94,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:95,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:95,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:98,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - static_cast<unsigned int>
    - EXPECT_NE
    - IsNormalMemory
    - MappingName
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    - MmapAligned
    - static_cast<char*>
    - SCOPED_TRACE
    - EXPECT_THAT
    - GetMemoryTag
    - HasSubstr
    - MemoryTagToLabel
    - reinterpret_cast<uintptr_t>
    - munmap
    linkageType: ''
    returnType: void
    signature: void MmapAndCheck(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:105,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:111,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 2
    functionsReached:
    - prctl
    - munmap
    - mmap
    linkageType: ''
    returnType: bool
    signature: bool PrSetVmaIsSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:128,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(MmapAlignedTest, CorrectAlignmentAndTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(MmapAlignedTest, LargeSizeSmallAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::SimpleRegion::SimpleRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleRegion(uintptr_t start, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:151,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::SimpleRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - mprotect
    - TC_CHECK_EQ
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::SimpleRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleRegionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:167,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:171,1
    - Dst: SimpleRegion::SimpleRegion
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MallocInternal
    - SimpleRegion::SimpleRegion
    - TC_CHECK_NE
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - usage_hint
    argTypes:
    - AddressRegionFactory::UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 196
    functionName: tcmalloc::tcmalloc_internal::hintToString
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view hintToString(AddressRegionFactory::UsageHint usage_hint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:201,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:204,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:207,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:208,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::SetRegionFactory
    - ASSERT_TRUE
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(Basic, InvokedTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:228,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:229,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:231,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:232,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:235,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - ASSERT_NE
    - tcmalloc_internal::max
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(Basic, RetryFailTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:242,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:246,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:248,1
    - Dst: usage_hint_::has_value
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::hintToString
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:250,1
    - Dst: absl::IgnoreLeak
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::hintToString
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetRegionFactory
    - absl::IgnoreLeak
    - ASSERT_TRUE
    - usage_hint_::has_value
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(UsageHint, VerifyUsageHintkMetadataTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:60,1
    - Dst: ProcMapsIterator::NextExt
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:70,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mmap_start
    - mmap_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::MappingName
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - ProcMapsIterator::NextExt
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: std::string
    signature: std::string MappingName(void* mmap_start, size_t mmap_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:81,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:81,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:85,1
    - Dst: static_cast<unsigned int>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:85,1
    - Dst: MmapAligned
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:87,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:89,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:90,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:91,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:94,1
    - Dst: MappingName
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:94,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:95,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:95,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:98,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - static_cast<unsigned int>
    - EXPECT_NE
    - IsNormalMemory
    - MappingName
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    - MmapAligned
    - static_cast<char*>
    - SCOPED_TRACE
    - EXPECT_THAT
    - GetMemoryTag
    - HasSubstr
    - MemoryTagToLabel
    - reinterpret_cast<uintptr_t>
    - munmap
    linkageType: ''
    returnType: void
    signature: void MmapAndCheck(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:105,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:111,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 3
    functionsReached:
    - prctl
    - munmap
    - mmap
    linkageType: ''
    returnType: bool
    signature: bool PrSetVmaIsSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:128,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(MmapAlignedTest, CorrectAlignmentAndTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(MmapAlignedTest, LargeSizeSmallAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::SimpleRegion::SimpleRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleRegion(uintptr_t start, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:151,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::SimpleRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - mprotect
    - TC_CHECK_EQ
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::SimpleRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleRegionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:167,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:171,1
    - Dst: SimpleRegion::SimpleRegion
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MallocInternal
    - SimpleRegion::SimpleRegion
    - TC_CHECK_NE
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - usage_hint
    argTypes:
    - AddressRegionFactory::UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 196
    functionName: tcmalloc::tcmalloc_internal::hintToString
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view hintToString(AddressRegionFactory::UsageHint usage_hint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:201,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:204,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:207,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:208,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::SetRegionFactory
    - ASSERT_TRUE
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(Basic, InvokedTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:228,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:229,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:231,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:232,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:235,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - ASSERT_NE
    - tcmalloc_internal::max
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(Basic, RetryFailTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:242,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:246,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:248,1
    - Dst: usage_hint_::has_value
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::hintToString
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:250,1
    - Dst: absl::IgnoreLeak
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::hintToString
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetRegionFactory
    - absl::IgnoreLeak
    - ASSERT_TRUE
    - usage_hint_::has_value
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(UsageHint, VerifyUsageHintkMetadataTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:60,1
    - Dst: ProcMapsIterator::NextExt
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:70,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mmap_start
    - mmap_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::MappingName
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - ProcMapsIterator::NextExt
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: std::string
    signature: std::string MappingName(void* mmap_start, size_t mmap_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:81,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:81,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:85,1
    - Dst: static_cast<unsigned int>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:85,1
    - Dst: MmapAligned
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:87,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:89,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:90,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:91,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:94,1
    - Dst: MappingName
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:94,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:95,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:95,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:98,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - static_cast<unsigned int>
    - EXPECT_NE
    - IsNormalMemory
    - MappingName
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    - MmapAligned
    - static_cast<char*>
    - SCOPED_TRACE
    - EXPECT_THAT
    - GetMemoryTag
    - HasSubstr
    - MemoryTagToLabel
    - reinterpret_cast<uintptr_t>
    - munmap
    linkageType: ''
    returnType: void
    signature: void MmapAndCheck(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:105,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:111,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 4
    functionsReached:
    - prctl
    - munmap
    - mmap
    linkageType: ''
    returnType: bool
    signature: bool PrSetVmaIsSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:128,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(MmapAlignedTest, CorrectAlignmentAndTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(MmapAlignedTest, LargeSizeSmallAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::SimpleRegion::SimpleRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleRegion(uintptr_t start, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:151,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::SimpleRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - mprotect
    - TC_CHECK_EQ
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::SimpleRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleRegionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:167,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:171,1
    - Dst: SimpleRegion::SimpleRegion
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MallocInternal
    - SimpleRegion::SimpleRegion
    - TC_CHECK_NE
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - usage_hint
    argTypes:
    - AddressRegionFactory::UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 196
    functionName: tcmalloc::tcmalloc_internal::hintToString
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view hintToString(AddressRegionFactory::UsageHint usage_hint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:201,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:204,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:207,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:208,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::SetRegionFactory
    - ASSERT_TRUE
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(Basic, InvokedTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:228,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:229,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:231,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:232,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:235,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - ASSERT_NE
    - tcmalloc_internal::max
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(Basic, RetryFailTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:242,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:246,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:248,1
    - Dst: usage_hint_::has_value
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::hintToString
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:250,1
    - Dst: absl::IgnoreLeak
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::hintToString
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetRegionFactory
    - absl::IgnoreLeak
    - ASSERT_TRUE
    - usage_hint_::has_value
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(UsageHint, VerifyUsageHintkMetadataTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:60,1
    - Dst: ProcMapsIterator::NextExt
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:70,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mmap_start
    - mmap_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::MappingName
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - ProcMapsIterator::NextExt
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: std::string
    signature: std::string MappingName(void* mmap_start, size_t mmap_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:81,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:81,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:85,1
    - Dst: static_cast<unsigned int>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:85,1
    - Dst: MmapAligned
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:87,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:89,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:90,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:91,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:94,1
    - Dst: MappingName
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:94,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:95,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:95,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:98,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - static_cast<unsigned int>
    - EXPECT_NE
    - IsNormalMemory
    - MappingName
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    - MmapAligned
    - static_cast<char*>
    - SCOPED_TRACE
    - EXPECT_THAT
    - GetMemoryTag
    - HasSubstr
    - MemoryTagToLabel
    - reinterpret_cast<uintptr_t>
    - munmap
    linkageType: ''
    returnType: void
    signature: void MmapAndCheck(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:105,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:111,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 5
    functionsReached:
    - prctl
    - munmap
    - mmap
    linkageType: ''
    returnType: bool
    signature: bool PrSetVmaIsSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:128,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(MmapAlignedTest, CorrectAlignmentAndTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(MmapAlignedTest, LargeSizeSmallAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::SimpleRegion::SimpleRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleRegion(uintptr_t start, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:151,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::SimpleRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - mprotect
    - TC_CHECK_EQ
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::SimpleRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleRegionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:167,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:171,1
    - Dst: SimpleRegion::SimpleRegion
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MallocInternal
    - SimpleRegion::SimpleRegion
    - TC_CHECK_NE
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - usage_hint
    argTypes:
    - AddressRegionFactory::UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 196
    functionName: tcmalloc::tcmalloc_internal::hintToString
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view hintToString(AddressRegionFactory::UsageHint usage_hint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:201,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:204,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:207,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:208,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::SetRegionFactory
    - ASSERT_TRUE
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(Basic, InvokedTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:228,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:229,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:231,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:232,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:235,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - ASSERT_NE
    - tcmalloc_internal::max
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(Basic, RetryFailTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:242,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:246,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:248,1
    - Dst: usage_hint_::has_value
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::hintToString
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:250,1
    - Dst: absl::IgnoreLeak
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::hintToString
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetRegionFactory
    - absl::IgnoreLeak
    - ASSERT_TRUE
    - usage_hint_::has_value
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(UsageHint, VerifyUsageHintkMetadataTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:60,1
    - Dst: ProcMapsIterator::NextExt
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:70,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mmap_start
    - mmap_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::MappingName
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - ProcMapsIterator::NextExt
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: std::string
    signature: std::string MappingName(void* mmap_start, size_t mmap_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:81,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:81,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:85,1
    - Dst: static_cast<unsigned int>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:85,1
    - Dst: MmapAligned
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:87,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:89,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:90,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:91,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:94,1
    - Dst: MappingName
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:94,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:95,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:95,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:98,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - static_cast<unsigned int>
    - EXPECT_NE
    - IsNormalMemory
    - MappingName
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    - MmapAligned
    - static_cast<char*>
    - SCOPED_TRACE
    - EXPECT_THAT
    - GetMemoryTag
    - HasSubstr
    - MemoryTagToLabel
    - reinterpret_cast<uintptr_t>
    - munmap
    linkageType: ''
    returnType: void
    signature: void MmapAndCheck(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:105,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:111,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 6
    functionsReached:
    - prctl
    - munmap
    - mmap
    linkageType: ''
    returnType: bool
    signature: bool PrSetVmaIsSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:128,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(MmapAlignedTest, CorrectAlignmentAndTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(MmapAlignedTest, LargeSizeSmallAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::SimpleRegion::SimpleRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleRegion(uintptr_t start, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:151,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::SimpleRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - mprotect
    - TC_CHECK_EQ
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::SimpleRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleRegionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:167,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:171,1
    - Dst: SimpleRegion::SimpleRegion
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MallocInternal
    - SimpleRegion::SimpleRegion
    - TC_CHECK_NE
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - usage_hint
    argTypes:
    - AddressRegionFactory::UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 196
    functionName: tcmalloc::tcmalloc_internal::hintToString
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view hintToString(AddressRegionFactory::UsageHint usage_hint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:201,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:204,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:207,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:208,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::SetRegionFactory
    - ASSERT_TRUE
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(Basic, InvokedTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:228,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:229,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:231,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:232,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:235,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - ASSERT_NE
    - tcmalloc_internal::max
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(Basic, RetryFailTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:242,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:246,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:248,1
    - Dst: usage_hint_::has_value
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::hintToString
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:250,1
    - Dst: absl::IgnoreLeak
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::hintToString
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetRegionFactory
    - absl::IgnoreLeak
    - ASSERT_TRUE
    - usage_hint_::has_value
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(UsageHint, VerifyUsageHintkMetadataTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:60,1
    - Dst: ProcMapsIterator::NextExt
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:70,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mmap_start
    - mmap_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::MappingName
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - ProcMapsIterator::NextExt
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: std::string
    signature: std::string MappingName(void* mmap_start, size_t mmap_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:81,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:81,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:85,1
    - Dst: static_cast<unsigned int>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:85,1
    - Dst: MmapAligned
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:87,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:89,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:90,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:91,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:94,1
    - Dst: MappingName
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:94,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:95,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:95,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:98,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - static_cast<unsigned int>
    - EXPECT_NE
    - IsNormalMemory
    - MappingName
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    - MmapAligned
    - static_cast<char*>
    - SCOPED_TRACE
    - EXPECT_THAT
    - GetMemoryTag
    - HasSubstr
    - MemoryTagToLabel
    - reinterpret_cast<uintptr_t>
    - munmap
    linkageType: ''
    returnType: void
    signature: void MmapAndCheck(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:105,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:111,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 7
    functionsReached:
    - prctl
    - munmap
    - mmap
    linkageType: ''
    returnType: bool
    signature: bool PrSetVmaIsSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:128,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(MmapAlignedTest, CorrectAlignmentAndTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(MmapAlignedTest, LargeSizeSmallAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::SimpleRegion::SimpleRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleRegion(uintptr_t start, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:151,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::SimpleRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - mprotect
    - TC_CHECK_EQ
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::SimpleRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleRegionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:167,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:171,1
    - Dst: SimpleRegion::SimpleRegion
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MallocInternal
    - SimpleRegion::SimpleRegion
    - TC_CHECK_NE
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - usage_hint
    argTypes:
    - AddressRegionFactory::UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 196
    functionName: tcmalloc::tcmalloc_internal::hintToString
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view hintToString(AddressRegionFactory::UsageHint usage_hint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:201,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:204,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:207,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:208,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::SetRegionFactory
    - ASSERT_TRUE
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(Basic, InvokedTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:228,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:229,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:231,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:232,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:235,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - ASSERT_NE
    - tcmalloc_internal::max
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(Basic, RetryFailTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:242,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:246,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:248,1
    - Dst: usage_hint_::has_value
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::hintToString
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:250,1
    - Dst: absl::IgnoreLeak
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::hintToString
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetRegionFactory
    - absl::IgnoreLeak
    - ASSERT_TRUE
    - usage_hint_::has_value
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(UsageHint, VerifyUsageHintkMetadataTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:60,1
    - Dst: ProcMapsIterator::NextExt
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:70,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mmap_start
    - mmap_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::MappingName
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - ProcMapsIterator::NextExt
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: std::string
    signature: std::string MappingName(void* mmap_start, size_t mmap_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:81,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:81,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:85,1
    - Dst: static_cast<unsigned int>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:85,1
    - Dst: MmapAligned
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:87,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:89,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:90,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:91,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:92,1
    - Dst: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:94,1
    - Dst: MappingName
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:94,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:95,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:95,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:98,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - static_cast<unsigned int>
    - EXPECT_NE
    - IsNormalMemory
    - MappingName
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    - MmapAligned
    - static_cast<char*>
    - SCOPED_TRACE
    - EXPECT_THAT
    - GetMemoryTag
    - HasSubstr
    - MemoryTagToLabel
    - reinterpret_cast<uintptr_t>
    - munmap
    linkageType: ''
    returnType: void
    signature: void MmapAndCheck(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:105,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:111,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 8
    functionsReached:
    - prctl
    - munmap
    - mmap
    linkageType: ''
    returnType: bool
    signature: bool PrSetVmaIsSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:128,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(MmapAlignedTest, CorrectAlignmentAndTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(MmapAlignedTest, LargeSizeSmallAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: tcmalloc::tcmalloc_internal::SimpleRegion::SimpleRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleRegion(uintptr_t start, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:151,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::SimpleRegion::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - mprotect
    - TC_CHECK_EQ
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: std::pair<void*, size_t> Alloc(size_t size, size_t alignment) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::SimpleRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleRegionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:167,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:171,1
    - Dst: SimpleRegion::SimpleRegion
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - MallocInternal
    - SimpleRegion::SimpleRegion
    - TC_CHECK_NE
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: AddressRegion
    signature: AddressRegion * Create(void* start, size_t size, UsageHint hint) override
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - usage_hint
    argTypes:
    - AddressRegionFactory::UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 196
    functionName: tcmalloc::tcmalloc_internal::hintToString
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view hintToString(AddressRegionFactory::UsageHint usage_hint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:201,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:204,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:207,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:208,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::SetRegionFactory
    - ASSERT_TRUE
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(Basic, InvokedTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:228,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:229,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:231,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:232,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:235,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - ASSERT_NE
    - tcmalloc_internal::max
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(Basic, RetryFailTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:242,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:246,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:248,1
    - Dst: usage_hint_::has_value
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:249,1
    - Dst: tcmalloc::tcmalloc_internal::hintToString
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:250,1
    - Dst: absl::IgnoreLeak
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::hintToString
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetRegionFactory
    - absl::IgnoreLeak
    - ASSERT_TRUE
    - usage_hint_::has_value
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(UsageHint, VerifyUsageHintkMetadataTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc::SamplingMemoryTest::SamplingMemoryTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void SamplingMemoryTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:42,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:43,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: tcmalloc::SamplingMemoryTest::Property
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::optional::has_value
    linkageType: ''
    returnType: size_t
    signature: size_t Property(absl::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:48,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:51,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:54,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: tcmalloc::SamplingMemoryTest::SetSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - benchmark::DoNotOptimize
    - ::operator new
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    linkageType: ''
    returnType: void
    signature: void SetSamplingInterval(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::SamplingMemoryTest::Property
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:59,1
    - Dst: tcmalloc::SamplingMemoryTest::Property
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::SamplingMemoryTest::CurrentHeapSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::SamplingMemoryTest::Property
    linkageType: ''
    returnType: size_t
    signature: size_t CurrentHeapSize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:84,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:87,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:90,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:91,1
    - Dst: tcmalloc::SamplingMemoryTest::CurrentHeapSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:93,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:97,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:97,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:98,1
    - Dst: tcmalloc::SamplingMemoryTest::CurrentHeapSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:104,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:107,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:109,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 120
    functionName: tcmalloc::SamplingMemoryTest::HeapGrowth
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - ScopedAffinityMask::Tampered
    - benchmark::DoNotOptimize
    - AllowedCpus
    - reinterpret_cast<void**>
    - ::operator delete
    - tcmalloc::SamplingMemoryTest::CurrentHeapSize
    - ::operator new
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t HeapGrowth(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:126,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:127,1
    - Dst: SetSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:128,1
    - Dst: HeapGrowth
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:129,1
    - Dst: SetSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:131,1
    - Dst: HeapGrowth
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:133,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:136,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:137,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:140,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:140,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:141,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:152,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 154
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - EXPECT_GE
    - EXPECT_LE
    - GetParam
    - SetSamplingInterval
    - HeapGrowth
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST_P(SamplingMemoryTest, Overhead)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:164,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:169,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:172,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: tcmalloc::InterestingSizes
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::back
    - sizemap
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> InterestingSizes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc::SamplingMemoryTest::SamplingMemoryTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void SamplingMemoryTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:42,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:43,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: tcmalloc::SamplingMemoryTest::Property
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 1
    functionsReached:
    - TC_CHECK
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::optional::has_value
    linkageType: ''
    returnType: size_t
    signature: size_t Property(absl::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:48,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:51,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:54,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: tcmalloc::SamplingMemoryTest::SetSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - benchmark::DoNotOptimize
    - ::operator new
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    linkageType: ''
    returnType: void
    signature: void SetSamplingInterval(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::SamplingMemoryTest::Property
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:59,1
    - Dst: tcmalloc::SamplingMemoryTest::Property
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::SamplingMemoryTest::CurrentHeapSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::SamplingMemoryTest::Property
    linkageType: ''
    returnType: size_t
    signature: size_t CurrentHeapSize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:84,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:87,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:90,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:91,1
    - Dst: tcmalloc::SamplingMemoryTest::CurrentHeapSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:93,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:97,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:97,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:98,1
    - Dst: tcmalloc::SamplingMemoryTest::CurrentHeapSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:104,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:107,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:109,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 120
    functionName: tcmalloc::SamplingMemoryTest::HeapGrowth
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - ScopedAffinityMask::Tampered
    - benchmark::DoNotOptimize
    - AllowedCpus
    - reinterpret_cast<void**>
    - ::operator delete
    - tcmalloc::SamplingMemoryTest::CurrentHeapSize
    - ::operator new
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t HeapGrowth(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:126,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:127,1
    - Dst: SetSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:128,1
    - Dst: HeapGrowth
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:129,1
    - Dst: SetSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:131,1
    - Dst: HeapGrowth
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:133,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:136,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:137,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:140,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:140,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:141,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:152,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 154
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - EXPECT_GE
    - EXPECT_LE
    - GetParam
    - SetSamplingInterval
    - HeapGrowth
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST_P(SamplingMemoryTest, Overhead)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:164,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:169,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:172,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: tcmalloc::InterestingSizes
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::back
    - sizemap
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> InterestingSizes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc::SamplingMemoryTest::SamplingMemoryTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void SamplingMemoryTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:42,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:43,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: tcmalloc::SamplingMemoryTest::Property
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 2
    functionsReached:
    - TC_CHECK
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::optional::has_value
    linkageType: ''
    returnType: size_t
    signature: size_t Property(absl::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:48,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:51,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:54,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: tcmalloc::SamplingMemoryTest::SetSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - benchmark::DoNotOptimize
    - ::operator new
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    linkageType: ''
    returnType: void
    signature: void SetSamplingInterval(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::SamplingMemoryTest::Property
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:59,1
    - Dst: tcmalloc::SamplingMemoryTest::Property
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::SamplingMemoryTest::CurrentHeapSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::SamplingMemoryTest::Property
    linkageType: ''
    returnType: size_t
    signature: size_t CurrentHeapSize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:84,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:87,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:90,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:91,1
    - Dst: tcmalloc::SamplingMemoryTest::CurrentHeapSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:93,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:97,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:97,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:98,1
    - Dst: tcmalloc::SamplingMemoryTest::CurrentHeapSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:104,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:107,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:109,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 120
    functionName: tcmalloc::SamplingMemoryTest::HeapGrowth
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - ScopedAffinityMask::Tampered
    - benchmark::DoNotOptimize
    - AllowedCpus
    - reinterpret_cast<void**>
    - ::operator delete
    - tcmalloc::SamplingMemoryTest::CurrentHeapSize
    - ::operator new
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t HeapGrowth(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:126,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:127,1
    - Dst: SetSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:128,1
    - Dst: HeapGrowth
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:129,1
    - Dst: SetSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:131,1
    - Dst: HeapGrowth
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:133,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:136,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:137,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:140,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:140,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:141,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:152,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 154
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - EXPECT_GE
    - EXPECT_LE
    - GetParam
    - SetSamplingInterval
    - HeapGrowth
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST_P(SamplingMemoryTest, Overhead)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:164,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:169,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:172,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: tcmalloc::InterestingSizes
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::back
    - sizemap
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> InterestingSizes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tcmalloc::SamplingMemoryTest::SamplingMemoryTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void SamplingMemoryTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:42,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:43,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: tcmalloc::SamplingMemoryTest::Property
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 3
    functionsReached:
    - TC_CHECK
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::optional::has_value
    linkageType: ''
    returnType: size_t
    signature: size_t Property(absl::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:48,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:51,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:54,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: tcmalloc::SamplingMemoryTest::SetSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - benchmark::DoNotOptimize
    - ::operator new
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    linkageType: ''
    returnType: void
    signature: void SetSamplingInterval(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::SamplingMemoryTest::Property
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:59,1
    - Dst: tcmalloc::SamplingMemoryTest::Property
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tcmalloc::SamplingMemoryTest::CurrentHeapSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::SamplingMemoryTest::Property
    linkageType: ''
    returnType: size_t
    signature: size_t CurrentHeapSize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AllowedCpus
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:84,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:87,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:90,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:91,1
    - Dst: tcmalloc::SamplingMemoryTest::CurrentHeapSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:93,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:97,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:97,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:98,1
    - Dst: tcmalloc::SamplingMemoryTest::CurrentHeapSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:104,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:107,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:109,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 120
    functionName: tcmalloc::SamplingMemoryTest::HeapGrowth
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - ScopedAffinityMask::Tampered
    - benchmark::DoNotOptimize
    - AllowedCpus
    - reinterpret_cast<void**>
    - ::operator delete
    - tcmalloc::SamplingMemoryTest::CurrentHeapSize
    - ::operator new
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t HeapGrowth(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:126,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:127,1
    - Dst: SetSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:128,1
    - Dst: HeapGrowth
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:129,1
    - Dst: SetSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:131,1
    - Dst: HeapGrowth
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:133,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:136,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:137,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:140,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:140,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:141,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:152,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 154
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - EXPECT_GE
    - EXPECT_LE
    - GetParam
    - SetSamplingInterval
    - HeapGrowth
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST_P(SamplingMemoryTest, Overhead)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:164,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:169,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:172,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: tcmalloc::InterestingSizes
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::back
    - sizemap
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> InterestingSizes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:184,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - RUN_ALL_TESTS
    - testing::InitGoogleTest
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: tcmalloc::PhysicalMemoryUsed
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: int64_t
    signature: int64_t PhysicalMemoryUsed()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:54,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:56,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:57,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:62,1
    - Dst: tcmalloc_internal::LinkedList::LinkedList
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:63,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:64,1
    - Dst: tcmalloc_internal::LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:65,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:65,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:75,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:79,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:79,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:84,1
    - Dst: tcmalloc_internal::LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:88,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:90,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:95,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:96,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:97,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:98,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:99,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:99,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:103,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 106
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::LinkedList::Push
    - tcmalloc::sized_delete
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - tcmalloc_internal::max
    - tcmalloc::PhysicalMemoryUsed
    - tcmalloc_internal::LinkedList::LinkedList
    - absl::FPrintF
    - EXPECT_LE
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(LargeSmallFrag, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: tcmalloc::PhysicalMemoryUsed
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: int64_t
    signature: int64_t PhysicalMemoryUsed()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:54,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:56,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:57,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:62,1
    - Dst: tcmalloc_internal::LinkedList::LinkedList
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:63,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:64,1
    - Dst: tcmalloc_internal::LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:65,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:65,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:75,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:79,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:79,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:84,1
    - Dst: tcmalloc_internal::LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:88,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:90,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:95,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:96,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:97,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:98,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:99,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:99,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:103,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 106
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::LinkedList::Push
    - tcmalloc::sized_delete
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - tcmalloc_internal::max
    - tcmalloc::PhysicalMemoryUsed
    - tcmalloc_internal::LinkedList::LinkedList
    - absl::FPrintF
    - EXPECT_LE
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(LargeSmallFrag, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: tcmalloc::PhysicalMemoryUsed
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: int64_t
    signature: int64_t PhysicalMemoryUsed()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:54,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:56,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:57,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:62,1
    - Dst: tcmalloc_internal::LinkedList::LinkedList
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:63,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:64,1
    - Dst: tcmalloc_internal::LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:65,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:65,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:75,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:79,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:79,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:84,1
    - Dst: tcmalloc_internal::LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:88,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:90,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:95,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:96,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:97,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:98,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:99,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:99,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:103,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 106
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::LinkedList::Push
    - tcmalloc::sized_delete
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - tcmalloc_internal::max
    - tcmalloc::PhysicalMemoryUsed
    - tcmalloc_internal::LinkedList::LinkedList
    - absl::FPrintF
    - EXPECT_LE
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(LargeSmallFrag, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: tcmalloc::PhysicalMemoryUsed
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: int64_t
    signature: int64_t PhysicalMemoryUsed()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:54,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:56,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:57,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:62,1
    - Dst: tcmalloc_internal::LinkedList::LinkedList
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:63,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:64,1
    - Dst: tcmalloc_internal::LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:65,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:65,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:75,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:79,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:79,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:84,1
    - Dst: tcmalloc_internal::LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:88,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:90,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:95,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:96,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:97,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:98,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:99,1
    - Dst: tcmalloc::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:99,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:103,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 106
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::LinkedList::Push
    - tcmalloc::sized_delete
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - tcmalloc_internal::max
    - tcmalloc::PhysicalMemoryUsed
    - tcmalloc_internal::LinkedList::LinkedList
    - absl::FPrintF
    - EXPECT_LE
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(LargeSmallFrag, Test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/want_disable_wider_slabs_test_helper.cc:24,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/want_disable_wider_slabs_test_helper.cc:26,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/testing/want_disable_wider_slabs_test_helper.cc:27,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/testing/want_disable_wider_slabs_test_helper.cc:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/want_disable_wider_slabs_test_helper.cc
    functionUses: 0
    functionsReached:
    - absl::StrContains
    - printf
    - tcmalloc::MallocExtension::GetStats
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:58,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 74
    functionName: tcmalloc::TestSampledNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: void
    signature: void TestSampledNewHook(const MallocHook::SampledAlloc& sampled_alloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: tcmalloc::TestSampledDeleteHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TestSampledDeleteHook(\n    const\n    MallocHook::SampledAlloc&
      sampled_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:91,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:92,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:94,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:95,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:98,1
    - Dst: MallocHook::AddSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:98,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:99,1
    - Dst: MallocHook::AddSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: tcmalloc::SampledHooksTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - ASSERT_TRUE
    - std::numeric_limits<double>::infinity
    - MallocHook::AddSampledDeleteHook
    - MallocHook::AddSampledNewHook
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:102,1
    - Dst: MallocHook::RemoveSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:102,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:103,1
    - Dst: MallocHook::RemoveSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: tcmalloc::SampledHooksTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - MallocHook::RemoveSampledNewHook
    - ASSERT_TRUE
    - MallocHook::RemoveSampledDeleteHook
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: tcmalloc::SampledHooksTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * Allocate(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:113,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: tcmalloc::SampledHooksTest::AllocateAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::align_val_t
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * AllocateAligned(size_t bytes, size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: tcmalloc::SampledHooksTest::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - sized_delete
    linkageType: ''
    returnType: void
    signature: void Deallocate(void* p, size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:124,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - bytes
    - alignment
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: tcmalloc::SampledHooksTest::DeallocateAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - sized_aligned_delete
    - std::align_val_t
    linkageType: ''
    returnType: void
    signature: void DeallocateAligned(void* p, size_t bytes, size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:132,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:134,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:135,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:138,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:140,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:145,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:147,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:149,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:150,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:150,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:151,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:153,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:155,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - absl::Now
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - Allocate
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, AlwaysSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:167,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:168,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:173,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:175,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:176,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:178,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:179,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:183,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:183,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:186,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 193
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - SCOPED_TRACE
    - tcmalloc_internal::max
    - nallocx
    - EXPECT_LE
    - EXPECT_GE
    - std::numeric_limits<double>::infinity
    - Allocate
    - std::max<size_t>
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, SometimesSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:198,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:200,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:203,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - Allocate
    - Deallocate
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, NeverSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:213,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:214,1
    - Dst: AllocateAligned
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:218,1
    - Dst: DeallocateAligned
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - DeallocateAligned
    - EXPECT_EQ
    - Allocate
    - Deallocate
    - AllocateAligned
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, RequestedSizeAndAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:228,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:229,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:235,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:237,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 243
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete[]
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - ::operator new[]
    - Allocate
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, AlwaysSampledAndGuarded)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:58,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 74
    functionName: tcmalloc::TestSampledNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: void
    signature: void TestSampledNewHook(const MallocHook::SampledAlloc& sampled_alloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: tcmalloc::TestSampledDeleteHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TestSampledDeleteHook(\n    const\n    MallocHook::SampledAlloc&
      sampled_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:91,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:92,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:94,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:95,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:98,1
    - Dst: MallocHook::AddSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:98,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:99,1
    - Dst: MallocHook::AddSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: tcmalloc::SampledHooksTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - ASSERT_TRUE
    - std::numeric_limits<double>::infinity
    - MallocHook::AddSampledDeleteHook
    - MallocHook::AddSampledNewHook
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:102,1
    - Dst: MallocHook::RemoveSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:102,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:103,1
    - Dst: MallocHook::RemoveSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: tcmalloc::SampledHooksTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - MallocHook::RemoveSampledNewHook
    - ASSERT_TRUE
    - MallocHook::RemoveSampledDeleteHook
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: tcmalloc::SampledHooksTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * Allocate(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:113,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: tcmalloc::SampledHooksTest::AllocateAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::align_val_t
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * AllocateAligned(size_t bytes, size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: tcmalloc::SampledHooksTest::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - sized_delete
    linkageType: ''
    returnType: void
    signature: void Deallocate(void* p, size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:124,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - bytes
    - alignment
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: tcmalloc::SampledHooksTest::DeallocateAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - sized_aligned_delete
    - std::align_val_t
    linkageType: ''
    returnType: void
    signature: void DeallocateAligned(void* p, size_t bytes, size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:132,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:134,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:135,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:138,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:140,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:145,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:147,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:149,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:150,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:150,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:151,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:153,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:155,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - absl::Now
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - Allocate
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, AlwaysSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:167,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:168,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:173,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:175,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:176,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:178,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:179,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:183,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:183,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:186,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 193
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - SCOPED_TRACE
    - tcmalloc_internal::max
    - nallocx
    - EXPECT_LE
    - EXPECT_GE
    - std::numeric_limits<double>::infinity
    - Allocate
    - std::max<size_t>
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, SometimesSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:198,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:200,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:203,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - Allocate
    - Deallocate
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, NeverSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:213,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:214,1
    - Dst: AllocateAligned
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:218,1
    - Dst: DeallocateAligned
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - DeallocateAligned
    - EXPECT_EQ
    - Allocate
    - Deallocate
    - AllocateAligned
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, RequestedSizeAndAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:228,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:229,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:235,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:237,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 243
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete[]
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - ::operator new[]
    - Allocate
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, AlwaysSampledAndGuarded)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:58,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 74
    functionName: tcmalloc::TestSampledNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: void
    signature: void TestSampledNewHook(const MallocHook::SampledAlloc& sampled_alloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: tcmalloc::TestSampledDeleteHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TestSampledDeleteHook(\n    const\n    MallocHook::SampledAlloc&
      sampled_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:91,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:92,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:94,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:95,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:98,1
    - Dst: MallocHook::AddSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:98,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:99,1
    - Dst: MallocHook::AddSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: tcmalloc::SampledHooksTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - ASSERT_TRUE
    - std::numeric_limits<double>::infinity
    - MallocHook::AddSampledDeleteHook
    - MallocHook::AddSampledNewHook
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:102,1
    - Dst: MallocHook::RemoveSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:102,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:103,1
    - Dst: MallocHook::RemoveSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: tcmalloc::SampledHooksTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - MallocHook::RemoveSampledNewHook
    - ASSERT_TRUE
    - MallocHook::RemoveSampledDeleteHook
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: tcmalloc::SampledHooksTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * Allocate(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:113,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: tcmalloc::SampledHooksTest::AllocateAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::align_val_t
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * AllocateAligned(size_t bytes, size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: tcmalloc::SampledHooksTest::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - sized_delete
    linkageType: ''
    returnType: void
    signature: void Deallocate(void* p, size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:124,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - bytes
    - alignment
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: tcmalloc::SampledHooksTest::DeallocateAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - sized_aligned_delete
    - std::align_val_t
    linkageType: ''
    returnType: void
    signature: void DeallocateAligned(void* p, size_t bytes, size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:132,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:134,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:135,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:138,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:140,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:145,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:147,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:149,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:150,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:150,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:151,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:153,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:155,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - absl::Now
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - Allocate
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, AlwaysSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:167,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:168,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:173,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:175,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:176,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:178,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:179,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:183,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:183,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:186,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 193
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - SCOPED_TRACE
    - tcmalloc_internal::max
    - nallocx
    - EXPECT_LE
    - EXPECT_GE
    - std::numeric_limits<double>::infinity
    - Allocate
    - std::max<size_t>
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, SometimesSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:198,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:200,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:203,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - Allocate
    - Deallocate
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, NeverSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:213,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:214,1
    - Dst: AllocateAligned
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:218,1
    - Dst: DeallocateAligned
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - DeallocateAligned
    - EXPECT_EQ
    - Allocate
    - Deallocate
    - AllocateAligned
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, RequestedSizeAndAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:228,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:229,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:235,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:237,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 243
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete[]
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - ::operator new[]
    - Allocate
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, AlwaysSampledAndGuarded)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:58,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 74
    functionName: tcmalloc::TestSampledNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: void
    signature: void TestSampledNewHook(const MallocHook::SampledAlloc& sampled_alloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: tcmalloc::TestSampledDeleteHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TestSampledDeleteHook(\n    const\n    MallocHook::SampledAlloc&
      sampled_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:91,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:92,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:94,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:95,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:98,1
    - Dst: MallocHook::AddSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:98,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:99,1
    - Dst: MallocHook::AddSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: tcmalloc::SampledHooksTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - ASSERT_TRUE
    - std::numeric_limits<double>::infinity
    - MallocHook::AddSampledDeleteHook
    - MallocHook::AddSampledNewHook
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:102,1
    - Dst: MallocHook::RemoveSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:102,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:103,1
    - Dst: MallocHook::RemoveSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: tcmalloc::SampledHooksTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - MallocHook::RemoveSampledNewHook
    - ASSERT_TRUE
    - MallocHook::RemoveSampledDeleteHook
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: tcmalloc::SampledHooksTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * Allocate(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:113,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: tcmalloc::SampledHooksTest::AllocateAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::align_val_t
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void * AllocateAligned(size_t bytes, size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: tcmalloc::SampledHooksTest::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - sized_delete
    linkageType: ''
    returnType: void
    signature: void Deallocate(void* p, size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sized_aligned_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:124,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - bytes
    - alignment
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: tcmalloc::SampledHooksTest::DeallocateAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - sized_aligned_delete
    - std::align_val_t
    linkageType: ''
    returnType: void
    signature: void DeallocateAligned(void* p, size_t bytes, size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:132,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:134,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:135,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:135,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:138,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:140,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:145,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:147,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:149,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:150,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:150,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:151,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:153,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:155,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LT
    - absl::Now
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - Allocate
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, AlwaysSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:167,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:168,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:173,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:175,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:176,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:178,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:179,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:183,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:183,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:186,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 193
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - SCOPED_TRACE
    - tcmalloc_internal::max
    - nallocx
    - EXPECT_LE
    - EXPECT_GE
    - std::numeric_limits<double>::infinity
    - Allocate
    - std::max<size_t>
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, SometimesSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:198,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:200,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:203,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - Allocate
    - Deallocate
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, NeverSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:213,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:214,1
    - Dst: AllocateAligned
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:218,1
    - Dst: DeallocateAligned
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - DeallocateAligned
    - EXPECT_EQ
    - Allocate
    - Deallocate
    - AllocateAligned
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, RequestedSizeAndAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:228,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:229,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:235,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:237,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 243
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete[]
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - ::operator new[]
    - Allocate
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, AlwaysSampledAndGuarded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:32,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tcmalloc::tcmalloc_internal::GetPageSizeLog2
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - GetPageSize
    - absl::countr_zero
    linkageType: ''
    returnType: size_t
    signature: size_t GetPageSizeLog2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:35,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:36,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:37,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:39,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:39,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - min
    - max
    - scale
    argTypes:
    - size_t
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::PickDeleteSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - TC_ASSERT_LE
    - TC_ASSERT
    - static_cast<double>
    - TC_ASSERT_GE
    linkageType: ''
    returnType: size_t
    signature: size_t PickDeleteSize(size_t min, size_t max, double scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:45,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:46,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::MallocFreeSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeSized
    - TCMallocInternalMalloc
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void MallocFreeSized(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:54,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:55,1
    - Dst: TCMallocInternalRealloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:56,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:57,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::MallocReallocFreeSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeSized
    - TCMallocInternalMalloc
    - ASSERT_TRUE
    - TCMallocInternalRealloc
    linkageType: ''
    returnType: void
    signature: void MallocReallocFreeSized(size_t a, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:66,1
    - Dst: TCMallocInternalAlignedAlloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:67,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:68,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::AlignedAllocFreeAlignedSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - static_cast<int>
    - TCMallocInternalFreeAlignedSized
    - TCMallocInternalAlignedAlloc
    linkageType: ''
    returnType: void
    signature: void AlignedAllocFreeAlignedSized(size_t alignment_log2, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:77,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:78,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::AllocAtLeastFreeAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    - TCMallocInternalAllocAtLeast
    linkageType: ''
    returnType: void
    signature: void AllocAtLeastFreeAllocatedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:86,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:87,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: tcmalloc::tcmalloc_internal::AllocAtLeastFreeRequestedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    - TCMallocInternalAllocAtLeast
    linkageType: ''
    returnType: void
    signature: void AllocAtLeastFreeRequestedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:95,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:96,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:97,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::AllocAtLeastFreeSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    - TCMallocInternalAllocAtLeast
    linkageType: ''
    returnType: void
    signature: void AllocAtLeastFreeSized(size_t size, double delete_size_scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:107,1
    - Dst: TCMallocInternalAlignedAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:108,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:109,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeAllocatedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeAlignedSized
    - static_cast<int>
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: "void AlignedAllocAtLeastFreeAllocatedSizeAligned(size_t alignment_log2,\n
      \                                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:119,1
    - Dst: TCMallocInternalAlignedAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:120,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:121,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeRequestedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeAlignedSized
    - static_cast<int>
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: "void AlignedAllocAtLeastFreeRequestedSizeAligned(size_t alignment_log2,\n
      \                                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:131,1
    - Dst: TCMallocInternalAlignedAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:132,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:133,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - alignment_log2
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeSizedAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    - ASSERT_TRUE
    - TCMallocInternalFreeAlignedSized
    - static_cast<int>
    - TCMallocInternalAlignedAllocAtLeast
    linkageType: ''
    returnType: void
    signature: "void AlignedAllocAtLeastFreeSizedAligned(size_t alignment_log2, size_t
      size,\n                                         double delete_size_scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:145,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::NewSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSized
    - TCMallocInternalNew
    linkageType: ''
    returnType: void
    signature: void NewSizedDelete(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalSizeReturningNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:153,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewDeleteAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSized
    - TCMallocInternalSizeReturningNew
    linkageType: ''
    returnType: void
    signature: void SizeReturningNewDeleteAllocatedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalSizeReturningNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:161,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewDeleteRequestedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSized
    - TCMallocInternalSizeReturningNew
    linkageType: ''
    returnType: void
    signature: void SizeReturningNewDeleteRequestedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalSizeReturningNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:169,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:170,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewDeleteSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    - TCMallocInternalDeleteSized
    - TCMallocInternalSizeReturningNew
    linkageType: ''
    returnType: void
    signature: void SizeReturningNewDeleteSized(size_t size, double delete_size_scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:180,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:181,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:182,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:183,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteAllocatedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSizedAligned
    - TCMallocInternalSizeReturningNewAligned
    - static_cast<int>
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: void
    signature: "void SizeReturningNewAlignedDeleteAllocatedSizeAligned(size_t alignment_log2,\n
      \                                                      size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:193,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:194,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:195,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:196,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteRequestedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSizedAligned
    - TCMallocInternalSizeReturningNewAligned
    - static_cast<int>
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: void
    signature: "void SizeReturningNewAlignedDeleteRequestedSizeAligned(size_t alignment_log2,\n
      \                                                      size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:207,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:208,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:209,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:211,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - alignment_log2
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteSizedAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSizedAligned
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    - static_cast<std::align_val_t>
    - TCMallocInternalSizeReturningNewAligned
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void SizeReturningNewAlignedDeleteSizedAligned(size_t alignment_log2,\n
      \                                              size_t size,\n                                               double
      delete_size_scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:32,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tcmalloc::tcmalloc_internal::GetPageSizeLog2
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - GetPageSize
    - absl::countr_zero
    linkageType: ''
    returnType: size_t
    signature: size_t GetPageSizeLog2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:35,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:36,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:37,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:39,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:39,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - min
    - max
    - scale
    argTypes:
    - size_t
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::PickDeleteSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 4
    functionsReached:
    - static_cast<size_t>
    - TC_ASSERT_LE
    - TC_ASSERT
    - static_cast<double>
    - TC_ASSERT_GE
    linkageType: ''
    returnType: size_t
    signature: size_t PickDeleteSize(size_t min, size_t max, double scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:45,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:46,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::MallocFreeSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeSized
    - TCMallocInternalMalloc
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void MallocFreeSized(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:54,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:55,1
    - Dst: TCMallocInternalRealloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:56,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:57,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::MallocReallocFreeSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeSized
    - TCMallocInternalMalloc
    - ASSERT_TRUE
    - TCMallocInternalRealloc
    linkageType: ''
    returnType: void
    signature: void MallocReallocFreeSized(size_t a, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:66,1
    - Dst: TCMallocInternalAlignedAlloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:67,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:68,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::AlignedAllocFreeAlignedSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - static_cast<int>
    - TCMallocInternalFreeAlignedSized
    - TCMallocInternalAlignedAlloc
    linkageType: ''
    returnType: void
    signature: void AlignedAllocFreeAlignedSized(size_t alignment_log2, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:77,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:78,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::AllocAtLeastFreeAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    - TCMallocInternalAllocAtLeast
    linkageType: ''
    returnType: void
    signature: void AllocAtLeastFreeAllocatedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:86,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:87,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: tcmalloc::tcmalloc_internal::AllocAtLeastFreeRequestedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    - TCMallocInternalAllocAtLeast
    linkageType: ''
    returnType: void
    signature: void AllocAtLeastFreeRequestedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:95,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:96,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:97,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::AllocAtLeastFreeSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    - TCMallocInternalAllocAtLeast
    linkageType: ''
    returnType: void
    signature: void AllocAtLeastFreeSized(size_t size, double delete_size_scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:107,1
    - Dst: TCMallocInternalAlignedAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:108,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:109,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeAllocatedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeAlignedSized
    - static_cast<int>
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: "void AlignedAllocAtLeastFreeAllocatedSizeAligned(size_t alignment_log2,\n
      \                                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:119,1
    - Dst: TCMallocInternalAlignedAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:120,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:121,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeRequestedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeAlignedSized
    - static_cast<int>
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: "void AlignedAllocAtLeastFreeRequestedSizeAligned(size_t alignment_log2,\n
      \                                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:131,1
    - Dst: TCMallocInternalAlignedAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:132,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:133,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - alignment_log2
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeSizedAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    - ASSERT_TRUE
    - TCMallocInternalFreeAlignedSized
    - static_cast<int>
    - TCMallocInternalAlignedAllocAtLeast
    linkageType: ''
    returnType: void
    signature: "void AlignedAllocAtLeastFreeSizedAligned(size_t alignment_log2, size_t
      size,\n                                         double delete_size_scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:145,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::NewSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSized
    - TCMallocInternalNew
    linkageType: ''
    returnType: void
    signature: void NewSizedDelete(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalSizeReturningNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:153,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewDeleteAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSized
    - TCMallocInternalSizeReturningNew
    linkageType: ''
    returnType: void
    signature: void SizeReturningNewDeleteAllocatedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalSizeReturningNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:161,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewDeleteRequestedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSized
    - TCMallocInternalSizeReturningNew
    linkageType: ''
    returnType: void
    signature: void SizeReturningNewDeleteRequestedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalSizeReturningNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:169,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:170,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewDeleteSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    - TCMallocInternalDeleteSized
    - TCMallocInternalSizeReturningNew
    linkageType: ''
    returnType: void
    signature: void SizeReturningNewDeleteSized(size_t size, double delete_size_scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:180,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:181,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:182,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:183,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteAllocatedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSizedAligned
    - TCMallocInternalSizeReturningNewAligned
    - static_cast<int>
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: void
    signature: "void SizeReturningNewAlignedDeleteAllocatedSizeAligned(size_t alignment_log2,\n
      \                                                      size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:193,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:194,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:195,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:196,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteRequestedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSizedAligned
    - TCMallocInternalSizeReturningNewAligned
    - static_cast<int>
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: void
    signature: "void SizeReturningNewAlignedDeleteRequestedSizeAligned(size_t alignment_log2,\n
      \                                                      size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:207,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:208,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:209,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:211,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - alignment_log2
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteSizedAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSizedAligned
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    - static_cast<std::align_val_t>
    - TCMallocInternalSizeReturningNewAligned
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void SizeReturningNewAlignedDeleteSizedAligned(size_t alignment_log2,\n
      \                                              size_t size,\n                                               double
      delete_size_scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:32,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tcmalloc::tcmalloc_internal::GetPageSizeLog2
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - GetPageSize
    - absl::countr_zero
    linkageType: ''
    returnType: size_t
    signature: size_t GetPageSizeLog2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:35,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:36,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:37,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:39,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:39,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - min
    - max
    - scale
    argTypes:
    - size_t
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::PickDeleteSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 8
    functionsReached:
    - static_cast<size_t>
    - TC_ASSERT_LE
    - TC_ASSERT
    - static_cast<double>
    - TC_ASSERT_GE
    linkageType: ''
    returnType: size_t
    signature: size_t PickDeleteSize(size_t min, size_t max, double scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:45,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:46,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::MallocFreeSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeSized
    - TCMallocInternalMalloc
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void MallocFreeSized(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:54,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:55,1
    - Dst: TCMallocInternalRealloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:56,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:57,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::MallocReallocFreeSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeSized
    - TCMallocInternalMalloc
    - ASSERT_TRUE
    - TCMallocInternalRealloc
    linkageType: ''
    returnType: void
    signature: void MallocReallocFreeSized(size_t a, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:66,1
    - Dst: TCMallocInternalAlignedAlloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:67,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:68,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::AlignedAllocFreeAlignedSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - static_cast<int>
    - TCMallocInternalFreeAlignedSized
    - TCMallocInternalAlignedAlloc
    linkageType: ''
    returnType: void
    signature: void AlignedAllocFreeAlignedSized(size_t alignment_log2, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:77,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:78,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::AllocAtLeastFreeAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    - TCMallocInternalAllocAtLeast
    linkageType: ''
    returnType: void
    signature: void AllocAtLeastFreeAllocatedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:86,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:87,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: tcmalloc::tcmalloc_internal::AllocAtLeastFreeRequestedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    - TCMallocInternalAllocAtLeast
    linkageType: ''
    returnType: void
    signature: void AllocAtLeastFreeRequestedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:95,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:96,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:97,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::AllocAtLeastFreeSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    - TCMallocInternalAllocAtLeast
    linkageType: ''
    returnType: void
    signature: void AllocAtLeastFreeSized(size_t size, double delete_size_scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:107,1
    - Dst: TCMallocInternalAlignedAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:108,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:109,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeAllocatedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeAlignedSized
    - static_cast<int>
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: "void AlignedAllocAtLeastFreeAllocatedSizeAligned(size_t alignment_log2,\n
      \                                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:119,1
    - Dst: TCMallocInternalAlignedAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:120,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:121,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeRequestedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeAlignedSized
    - static_cast<int>
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: "void AlignedAllocAtLeastFreeRequestedSizeAligned(size_t alignment_log2,\n
      \                                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:131,1
    - Dst: TCMallocInternalAlignedAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:132,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:133,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - alignment_log2
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeSizedAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    - ASSERT_TRUE
    - TCMallocInternalFreeAlignedSized
    - static_cast<int>
    - TCMallocInternalAlignedAllocAtLeast
    linkageType: ''
    returnType: void
    signature: "void AlignedAllocAtLeastFreeSizedAligned(size_t alignment_log2, size_t
      size,\n                                         double delete_size_scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:145,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::NewSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSized
    - TCMallocInternalNew
    linkageType: ''
    returnType: void
    signature: void NewSizedDelete(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalSizeReturningNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:153,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewDeleteAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSized
    - TCMallocInternalSizeReturningNew
    linkageType: ''
    returnType: void
    signature: void SizeReturningNewDeleteAllocatedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalSizeReturningNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:161,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewDeleteRequestedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSized
    - TCMallocInternalSizeReturningNew
    linkageType: ''
    returnType: void
    signature: void SizeReturningNewDeleteRequestedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalSizeReturningNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:169,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:170,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewDeleteSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    - TCMallocInternalDeleteSized
    - TCMallocInternalSizeReturningNew
    linkageType: ''
    returnType: void
    signature: void SizeReturningNewDeleteSized(size_t size, double delete_size_scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:180,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:181,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:182,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:183,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteAllocatedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSizedAligned
    - TCMallocInternalSizeReturningNewAligned
    - static_cast<int>
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: void
    signature: "void SizeReturningNewAlignedDeleteAllocatedSizeAligned(size_t alignment_log2,\n
      \                                                      size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:193,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:194,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:195,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:196,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteRequestedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSizedAligned
    - TCMallocInternalSizeReturningNewAligned
    - static_cast<int>
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: void
    signature: "void SizeReturningNewAlignedDeleteRequestedSizeAligned(size_t alignment_log2,\n
      \                                                      size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:207,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:208,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:209,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:211,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - alignment_log2
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteSizedAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSizedAligned
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    - static_cast<std::align_val_t>
    - TCMallocInternalSizeReturningNewAligned
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void SizeReturningNewAlignedDeleteSizedAligned(size_t alignment_log2,\n
      \                                              size_t size,\n                                               double
      delete_size_scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:32,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tcmalloc::tcmalloc_internal::GetPageSizeLog2
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - GetPageSize
    - absl::countr_zero
    linkageType: ''
    returnType: size_t
    signature: size_t GetPageSizeLog2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:35,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:36,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:37,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:39,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:39,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - min
    - max
    - scale
    argTypes:
    - size_t
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: tcmalloc::tcmalloc_internal::PickDeleteSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 12
    functionsReached:
    - static_cast<size_t>
    - TC_ASSERT_LE
    - TC_ASSERT
    - static_cast<double>
    - TC_ASSERT_GE
    linkageType: ''
    returnType: size_t
    signature: size_t PickDeleteSize(size_t min, size_t max, double scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:45,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:46,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: tcmalloc::tcmalloc_internal::MallocFreeSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeSized
    - TCMallocInternalMalloc
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void MallocFreeSized(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:54,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:55,1
    - Dst: TCMallocInternalRealloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:56,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:57,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::MallocReallocFreeSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeSized
    - TCMallocInternalMalloc
    - ASSERT_TRUE
    - TCMallocInternalRealloc
    linkageType: ''
    returnType: void
    signature: void MallocReallocFreeSized(size_t a, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:66,1
    - Dst: TCMallocInternalAlignedAlloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:67,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:68,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: tcmalloc::tcmalloc_internal::AlignedAllocFreeAlignedSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - static_cast<int>
    - TCMallocInternalFreeAlignedSized
    - TCMallocInternalAlignedAlloc
    linkageType: ''
    returnType: void
    signature: void AlignedAllocFreeAlignedSized(size_t alignment_log2, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:77,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:78,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: tcmalloc::tcmalloc_internal::AllocAtLeastFreeAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    - TCMallocInternalAllocAtLeast
    linkageType: ''
    returnType: void
    signature: void AllocAtLeastFreeAllocatedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:86,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:87,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: tcmalloc::tcmalloc_internal::AllocAtLeastFreeRequestedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    - TCMallocInternalAllocAtLeast
    linkageType: ''
    returnType: void
    signature: void AllocAtLeastFreeRequestedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:95,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:96,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:97,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: tcmalloc::tcmalloc_internal::AllocAtLeastFreeSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    - TCMallocInternalAllocAtLeast
    linkageType: ''
    returnType: void
    signature: void AllocAtLeastFreeSized(size_t size, double delete_size_scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:107,1
    - Dst: TCMallocInternalAlignedAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:108,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:109,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeAllocatedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeAlignedSized
    - static_cast<int>
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: "void AlignedAllocAtLeastFreeAllocatedSizeAligned(size_t alignment_log2,\n
      \                                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:119,1
    - Dst: TCMallocInternalAlignedAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:120,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:121,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeRequestedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalFreeAlignedSized
    - static_cast<int>
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: "void AlignedAllocAtLeastFreeRequestedSizeAligned(size_t alignment_log2,\n
      \                                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:131,1
    - Dst: TCMallocInternalAlignedAllocAtLeast
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:132,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:133,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:134,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - alignment_log2
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeSizedAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    - ASSERT_TRUE
    - TCMallocInternalFreeAlignedSized
    - static_cast<int>
    - TCMallocInternalAlignedAllocAtLeast
    linkageType: ''
    returnType: void
    signature: "void AlignedAllocAtLeastFreeSizedAligned(size_t alignment_log2, size_t
      size,\n                                         double delete_size_scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:145,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::NewSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSized
    - TCMallocInternalNew
    linkageType: ''
    returnType: void
    signature: void NewSizedDelete(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalSizeReturningNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:153,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewDeleteAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSized
    - TCMallocInternalSizeReturningNew
    linkageType: ''
    returnType: void
    signature: void SizeReturningNewDeleteAllocatedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalSizeReturningNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:161,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewDeleteRequestedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSized
    - TCMallocInternalSizeReturningNew
    linkageType: ''
    returnType: void
    signature: void SizeReturningNewDeleteRequestedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalSizeReturningNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:169,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:170,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewDeleteSized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    - TCMallocInternalDeleteSized
    - TCMallocInternalSizeReturningNew
    linkageType: ''
    returnType: void
    signature: void SizeReturningNewDeleteSized(size_t size, double delete_size_scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:180,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:181,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:182,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:183,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteAllocatedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSizedAligned
    - TCMallocInternalSizeReturningNewAligned
    - static_cast<int>
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: void
    signature: "void SizeReturningNewAlignedDeleteAllocatedSizeAligned(size_t alignment_log2,\n
      \                                                      size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:193,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:194,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:195,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:196,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteRequestedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSizedAligned
    - TCMallocInternalSizeReturningNewAligned
    - static_cast<int>
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: void
    signature: "void SizeReturningNewAlignedDeleteRequestedSizeAligned(size_t alignment_log2,\n
      \                                                      size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:207,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:208,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:209,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:211,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - alignment_log2
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteSizedAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - TCMallocInternalDeleteSizedAligned
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    - static_cast<std::align_val_t>
    - TCMallocInternalSizeReturningNewAligned
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void SizeReturningNewAlignedDeleteSizedAligned(size_t alignment_log2,\n
      \                                              size_t size,\n                                               double
      delete_size_scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:224,1
    - Dst: fuzztest::InitFuzzTest
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:225,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - RUN_ALL_TESTS
    - testing::InitGoogleTest
    - fuzztest::InitFuzzTest
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:50,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:53,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: tcmalloc::BM_new_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - range
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:62,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: tcmalloc::BM_new_delete_fixed
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_delete_fixed(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:74,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:76,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:76,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:77,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:77,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:79,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: tcmalloc::BM_new_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - size
    - CHECK_EQ
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_sized_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:86,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:89,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:91,1
    - Dst: MallocHook::AddNewHook
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:91,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:94,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:95,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:98,1
    - Dst: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: tcmalloc::BM_hooked_new_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - benchmark::DoNotOptimize
    - MallocHook::AddNewHook
    - MallocHook::RemoveNewHook
    - CHECK
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_hooked_new_sized_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:103,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:106,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:108,1
    - Dst: MallocHook::AddDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:108,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:111,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:112,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:115,1
    - Dst: MallocHook::RemoveDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: tcmalloc::BM_new_hooked_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - MallocHook::AddDeleteHook
    - range
    - MallocHook::RemoveDeleteHook
    - benchmark::DoNotOptimize
    - CHECK
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_hooked_sized_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:120,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:123,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: tcmalloc::BM_size_returning_new_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - __size_returning_new
    - range
    linkageType: ''
    returnType: void
    signature: void BM_size_returning_new_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:130,1
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:133,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:134,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:135,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: tcmalloc::BM_nallocx_new_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - benchmark::DoNotOptimize
    - nallocx
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_nallocx_new_sized_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:142,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:143,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:146,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: tcmalloc::BM_aligned_new
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - operator new
    - range
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: void
    signature: void BM_aligned_new(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:156,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:159,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 165
    functionName: tcmalloc::BM_new_delete_slow_path
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - range
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_delete_slow_path(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:175,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: tcmalloc::BM_new_delete_transfer_cache
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_delete_transfer_cache(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pages
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: tcmalloc::malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - memalign
    linkageType: ''
    returnType: void
    signature: void * malloc_pages(size_t pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:192,1
    - Dst: tcmalloc::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:196,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:197,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: tcmalloc::BM_malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::malloc_pages
    - benchmark::DoNotOptimize
    - range
    - free
    linkageType: ''
    returnType: void
    signature: void BM_malloc_pages(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:221,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:223,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:226,1
    - Dst: tcmalloc::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:229,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:237,1
    - Dst: tcmalloc::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:238,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 247
    functionName: tcmalloc::BM_random_malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::malloc_pages
    - free
    - absl::Uniform<int32_t>
    - memset
    linkageType: ''
    returnType: void
    signature: void BM_random_malloc_pages(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:262,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:264,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:267,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:272,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:273,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 281
    functionName: tcmalloc::BM_random_new_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - absl::Uniform<int32_t>
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void BM_random_new_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:286,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:287,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:294,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:295,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:295,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:300,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 303
    functionName: tcmalloc::BM_get_stats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc::MallocExtension::GetStats
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:312,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:313,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:320,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:321,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:321,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:326,1
    - Dst: MallocExtension_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 330
    functionName: tcmalloc::BM_get_stats_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - MallocExtension_Internal_GetStats
    - std::string::resize
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats_internal(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:337,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:338,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:345,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:346,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:346,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:354,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:355,1
    - Dst: std::atomic::fetch_add
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:356,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:357,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:370,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:371,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:372,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:373,1
    - Dst: SetIterationTime
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:378,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:378,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:383,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 385
    functionName: tcmalloc::BM_get_stats_pageheap_lock
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::atomic::fetch_add
    - SetIterationTime
    - range
    - Lock
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Notification::Notify
    - Unlock
    - absl::ToDoubleSeconds
    - absl::Uniform<size_t>
    - tcmalloc::MallocExtension::GetStats
    - absl::Notification::HasBeenNotified
    - absl::Now
    - std::thread::join
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats_pageheap_lock(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:397,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:398,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:405,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:406,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:406,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:413,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:413,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 416
    functionName: tcmalloc::BM_get_stats_pbtxt_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - std::vector::size
    - std::vector::emplace_back
    - benchmark::DoNotOptimize
    - absl::Uniform<size_t>
    - MallocExtension_Internal_GetStatsInPbtxt
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats_pbtxt_internal(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:427,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:428,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:435,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:436,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:436,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:445,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:447,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:447,1
    - Dst: std::atomic::fetch_add
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:448,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:449,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:462,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:463,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:464,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:465,1
    - Dst: SetIterationTime
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:470,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:470,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:475,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 477
    functionName: tcmalloc::BM_get_stats_pbtxt_pageheap_lock
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::atomic::fetch_add
    - SetIterationTime
    - range
    - Lock
    - std::vector::size
    - std::vector::emplace_back
    - benchmark::DoNotOptimize
    - Unlock
    - absl::ToDoubleSeconds
    - absl::Uniform<size_t>
    - absl::Notification::Notify
    - absl::Notification::HasBeenNotified
    - absl::Now
    - MallocExtension_Internal_GetStatsInPbtxt
    - std::thread::join
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats_pbtxt_pageheap_lock(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:485,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:486,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:492,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:493,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:493,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:497,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 500
    functionName: tcmalloc::BM_get_heap_profile
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - tcmalloc::MallocExtension::SnapshotCurrent
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_heap_profile(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:505,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:506,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:512,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:513,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:513,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:519,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:520,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:521,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:530,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:532,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:533,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:533,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:538,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 540
    functionName: tcmalloc::BM_get_heap_profile_while_allocating
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - tcmalloc::MallocExtension::SnapshotCurrent
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Notification::Notify
    - std::thread::join
    - absl::Uniform<size_t>
    - absl::Notification::HasBeenNotified
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_heap_profile_while_allocating(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:50,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:53,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: tcmalloc::BM_new_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - range
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:62,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: tcmalloc::BM_new_delete_fixed
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_delete_fixed(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:74,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:76,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:76,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:77,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:77,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:79,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: tcmalloc::BM_new_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - size
    - CHECK_EQ
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_sized_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:86,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:89,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:91,1
    - Dst: MallocHook::AddNewHook
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:91,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:94,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:95,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:98,1
    - Dst: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: tcmalloc::BM_hooked_new_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - benchmark::DoNotOptimize
    - MallocHook::AddNewHook
    - MallocHook::RemoveNewHook
    - CHECK
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_hooked_new_sized_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:103,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:106,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:108,1
    - Dst: MallocHook::AddDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:108,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:111,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:112,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:115,1
    - Dst: MallocHook::RemoveDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: tcmalloc::BM_new_hooked_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - MallocHook::AddDeleteHook
    - range
    - MallocHook::RemoveDeleteHook
    - benchmark::DoNotOptimize
    - CHECK
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_hooked_sized_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:120,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:123,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: tcmalloc::BM_size_returning_new_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - __size_returning_new
    - range
    linkageType: ''
    returnType: void
    signature: void BM_size_returning_new_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:130,1
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:133,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:134,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:135,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: tcmalloc::BM_nallocx_new_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - benchmark::DoNotOptimize
    - nallocx
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_nallocx_new_sized_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:142,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:143,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:146,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: tcmalloc::BM_aligned_new
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - operator new
    - range
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: void
    signature: void BM_aligned_new(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:156,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:159,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 165
    functionName: tcmalloc::BM_new_delete_slow_path
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - range
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_delete_slow_path(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:175,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: tcmalloc::BM_new_delete_transfer_cache
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_delete_transfer_cache(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pages
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: tcmalloc::malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 2
    functionsReached:
    - memalign
    linkageType: ''
    returnType: void
    signature: void * malloc_pages(size_t pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:192,1
    - Dst: tcmalloc::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:196,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:197,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: tcmalloc::BM_malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::malloc_pages
    - benchmark::DoNotOptimize
    - range
    - free
    linkageType: ''
    returnType: void
    signature: void BM_malloc_pages(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:221,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:223,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:226,1
    - Dst: tcmalloc::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:229,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:237,1
    - Dst: tcmalloc::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:238,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 247
    functionName: tcmalloc::BM_random_malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::malloc_pages
    - free
    - absl::Uniform<int32_t>
    - memset
    linkageType: ''
    returnType: void
    signature: void BM_random_malloc_pages(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:262,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:264,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:267,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:272,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:273,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 281
    functionName: tcmalloc::BM_random_new_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - absl::Uniform<int32_t>
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void BM_random_new_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:286,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:287,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:294,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:295,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:295,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:300,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 303
    functionName: tcmalloc::BM_get_stats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc::MallocExtension::GetStats
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:312,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:313,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:320,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:321,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:321,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:326,1
    - Dst: MallocExtension_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 330
    functionName: tcmalloc::BM_get_stats_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - MallocExtension_Internal_GetStats
    - std::string::resize
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats_internal(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:337,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:338,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:345,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:346,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:346,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:354,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:355,1
    - Dst: std::atomic::fetch_add
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:356,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:357,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:370,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:371,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:372,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:373,1
    - Dst: SetIterationTime
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:378,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:378,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:383,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 385
    functionName: tcmalloc::BM_get_stats_pageheap_lock
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::atomic::fetch_add
    - SetIterationTime
    - range
    - Lock
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Notification::Notify
    - Unlock
    - absl::ToDoubleSeconds
    - absl::Uniform<size_t>
    - tcmalloc::MallocExtension::GetStats
    - absl::Notification::HasBeenNotified
    - absl::Now
    - std::thread::join
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats_pageheap_lock(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:397,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:398,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:405,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:406,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:406,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:413,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:413,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 416
    functionName: tcmalloc::BM_get_stats_pbtxt_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - std::vector::size
    - std::vector::emplace_back
    - benchmark::DoNotOptimize
    - absl::Uniform<size_t>
    - MallocExtension_Internal_GetStatsInPbtxt
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats_pbtxt_internal(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:427,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:428,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:435,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:436,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:436,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:445,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:447,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:447,1
    - Dst: std::atomic::fetch_add
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:448,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:449,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:462,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:463,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:464,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:465,1
    - Dst: SetIterationTime
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:470,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:470,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:475,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 477
    functionName: tcmalloc::BM_get_stats_pbtxt_pageheap_lock
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::atomic::fetch_add
    - SetIterationTime
    - range
    - Lock
    - std::vector::size
    - std::vector::emplace_back
    - benchmark::DoNotOptimize
    - Unlock
    - absl::ToDoubleSeconds
    - absl::Uniform<size_t>
    - absl::Notification::Notify
    - absl::Notification::HasBeenNotified
    - absl::Now
    - MallocExtension_Internal_GetStatsInPbtxt
    - std::thread::join
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats_pbtxt_pageheap_lock(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:485,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:486,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:492,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:493,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:493,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:497,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 500
    functionName: tcmalloc::BM_get_heap_profile
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - tcmalloc::MallocExtension::SnapshotCurrent
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_heap_profile(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:505,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:506,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:512,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:513,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:513,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:519,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:520,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:521,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:530,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:532,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:533,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:533,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:538,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 540
    functionName: tcmalloc::BM_get_heap_profile_while_allocating
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - tcmalloc::MallocExtension::SnapshotCurrent
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Notification::Notify
    - std::thread::join
    - absl::Uniform<size_t>
    - absl::Notification::HasBeenNotified
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_heap_profile_while_allocating(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:50,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:53,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: tcmalloc::BM_new_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - range
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:62,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: tcmalloc::BM_new_delete_fixed
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_delete_fixed(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:74,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:76,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:76,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:77,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:77,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:79,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: tcmalloc::BM_new_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - size
    - CHECK_EQ
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_sized_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:86,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:89,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:91,1
    - Dst: MallocHook::AddNewHook
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:91,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:94,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:95,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:98,1
    - Dst: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: tcmalloc::BM_hooked_new_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - benchmark::DoNotOptimize
    - MallocHook::AddNewHook
    - MallocHook::RemoveNewHook
    - CHECK
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_hooked_new_sized_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:103,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:106,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:108,1
    - Dst: MallocHook::AddDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:108,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:111,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:112,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:115,1
    - Dst: MallocHook::RemoveDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: tcmalloc::BM_new_hooked_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - MallocHook::AddDeleteHook
    - range
    - MallocHook::RemoveDeleteHook
    - benchmark::DoNotOptimize
    - CHECK
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_hooked_sized_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:120,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:123,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: tcmalloc::BM_size_returning_new_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - __size_returning_new
    - range
    linkageType: ''
    returnType: void
    signature: void BM_size_returning_new_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:130,1
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:133,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:134,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:135,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: tcmalloc::BM_nallocx_new_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - benchmark::DoNotOptimize
    - nallocx
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_nallocx_new_sized_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:142,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:143,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:146,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: tcmalloc::BM_aligned_new
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - operator new
    - range
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: void
    signature: void BM_aligned_new(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:156,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:159,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 165
    functionName: tcmalloc::BM_new_delete_slow_path
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - range
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_delete_slow_path(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:175,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: tcmalloc::BM_new_delete_transfer_cache
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_delete_transfer_cache(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pages
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: tcmalloc::malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 4
    functionsReached:
    - memalign
    linkageType: ''
    returnType: void
    signature: void * malloc_pages(size_t pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:192,1
    - Dst: tcmalloc::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:196,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:197,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: tcmalloc::BM_malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::malloc_pages
    - benchmark::DoNotOptimize
    - range
    - free
    linkageType: ''
    returnType: void
    signature: void BM_malloc_pages(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:221,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:223,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:226,1
    - Dst: tcmalloc::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:229,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:237,1
    - Dst: tcmalloc::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:238,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 247
    functionName: tcmalloc::BM_random_malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::malloc_pages
    - free
    - absl::Uniform<int32_t>
    - memset
    linkageType: ''
    returnType: void
    signature: void BM_random_malloc_pages(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:262,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:264,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:267,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:272,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:273,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 281
    functionName: tcmalloc::BM_random_new_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - absl::Uniform<int32_t>
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void BM_random_new_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:286,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:287,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:294,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:295,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:295,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:300,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 303
    functionName: tcmalloc::BM_get_stats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc::MallocExtension::GetStats
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:312,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:313,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:320,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:321,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:321,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:326,1
    - Dst: MallocExtension_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 330
    functionName: tcmalloc::BM_get_stats_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - MallocExtension_Internal_GetStats
    - std::string::resize
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats_internal(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:337,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:338,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:345,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:346,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:346,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:354,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:355,1
    - Dst: std::atomic::fetch_add
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:356,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:357,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:370,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:371,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:372,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:373,1
    - Dst: SetIterationTime
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:378,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:378,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:383,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 385
    functionName: tcmalloc::BM_get_stats_pageheap_lock
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::atomic::fetch_add
    - SetIterationTime
    - range
    - Lock
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Notification::Notify
    - Unlock
    - absl::ToDoubleSeconds
    - absl::Uniform<size_t>
    - tcmalloc::MallocExtension::GetStats
    - absl::Notification::HasBeenNotified
    - absl::Now
    - std::thread::join
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats_pageheap_lock(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:397,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:398,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:405,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:406,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:406,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:413,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:413,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 416
    functionName: tcmalloc::BM_get_stats_pbtxt_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - std::vector::size
    - std::vector::emplace_back
    - benchmark::DoNotOptimize
    - absl::Uniform<size_t>
    - MallocExtension_Internal_GetStatsInPbtxt
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats_pbtxt_internal(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:427,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:428,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:435,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:436,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:436,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:445,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:447,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:447,1
    - Dst: std::atomic::fetch_add
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:448,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:449,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:462,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:463,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:464,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:465,1
    - Dst: SetIterationTime
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:470,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:470,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:475,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 477
    functionName: tcmalloc::BM_get_stats_pbtxt_pageheap_lock
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::atomic::fetch_add
    - SetIterationTime
    - range
    - Lock
    - std::vector::size
    - std::vector::emplace_back
    - benchmark::DoNotOptimize
    - Unlock
    - absl::ToDoubleSeconds
    - absl::Uniform<size_t>
    - absl::Notification::Notify
    - absl::Notification::HasBeenNotified
    - absl::Now
    - MallocExtension_Internal_GetStatsInPbtxt
    - std::thread::join
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats_pbtxt_pageheap_lock(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:485,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:486,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:492,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:493,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:493,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:497,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 500
    functionName: tcmalloc::BM_get_heap_profile
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - tcmalloc::MallocExtension::SnapshotCurrent
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_heap_profile(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:505,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:506,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:512,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:513,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:513,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:519,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:520,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:521,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:530,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:532,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:533,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:533,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:538,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 540
    functionName: tcmalloc::BM_get_heap_profile_while_allocating
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - tcmalloc::MallocExtension::SnapshotCurrent
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Notification::Notify
    - std::thread::join
    - absl::Uniform<size_t>
    - absl::Notification::HasBeenNotified
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_heap_profile_while_allocating(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:50,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:53,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: tcmalloc::BM_new_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - range
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:62,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: tcmalloc::BM_new_delete_fixed
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_delete_fixed(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:74,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:76,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:76,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:77,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:77,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:79,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: tcmalloc::BM_new_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - size
    - CHECK_EQ
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_sized_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:86,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:89,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:91,1
    - Dst: MallocHook::AddNewHook
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:91,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:94,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:95,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:98,1
    - Dst: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: tcmalloc::BM_hooked_new_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - benchmark::DoNotOptimize
    - MallocHook::AddNewHook
    - MallocHook::RemoveNewHook
    - CHECK
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_hooked_new_sized_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:103,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:106,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:108,1
    - Dst: MallocHook::AddDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:108,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:111,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:112,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:115,1
    - Dst: MallocHook::RemoveDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: tcmalloc::BM_new_hooked_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - MallocHook::AddDeleteHook
    - range
    - MallocHook::RemoveDeleteHook
    - benchmark::DoNotOptimize
    - CHECK
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_hooked_sized_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:120,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:123,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: tcmalloc::BM_size_returning_new_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - __size_returning_new
    - range
    linkageType: ''
    returnType: void
    signature: void BM_size_returning_new_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:130,1
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:133,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:134,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:135,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: tcmalloc::BM_nallocx_new_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - benchmark::DoNotOptimize
    - nallocx
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_nallocx_new_sized_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:142,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:143,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:146,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: tcmalloc::BM_aligned_new
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - operator new
    - range
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: void
    signature: void BM_aligned_new(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:156,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:159,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 165
    functionName: tcmalloc::BM_new_delete_slow_path
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - range
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_delete_slow_path(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:175,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: tcmalloc::BM_new_delete_transfer_cache
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void BM_new_delete_transfer_cache(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pages
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: tcmalloc::malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 6
    functionsReached:
    - memalign
    linkageType: ''
    returnType: void
    signature: void * malloc_pages(size_t pages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:192,1
    - Dst: tcmalloc::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:196,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:197,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: tcmalloc::BM_malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::malloc_pages
    - benchmark::DoNotOptimize
    - range
    - free
    linkageType: ''
    returnType: void
    signature: void BM_malloc_pages(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:221,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:223,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:226,1
    - Dst: tcmalloc::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:229,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:237,1
    - Dst: tcmalloc::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:238,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 247
    functionName: tcmalloc::BM_random_malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::malloc_pages
    - free
    - absl::Uniform<int32_t>
    - memset
    linkageType: ''
    returnType: void
    signature: void BM_random_malloc_pages(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:262,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:264,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:267,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:272,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:273,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 281
    functionName: tcmalloc::BM_random_new_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - absl::Uniform<int32_t>
    - ::operator new
    - memset
    linkageType: ''
    returnType: void
    signature: void BM_random_new_delete(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:286,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:287,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:294,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:295,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:295,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:300,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 303
    functionName: tcmalloc::BM_get_stats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc::MallocExtension::GetStats
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:312,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:313,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:320,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:321,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:321,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:326,1
    - Dst: MallocExtension_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 330
    functionName: tcmalloc::BM_get_stats_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - MallocExtension_Internal_GetStats
    - std::string::resize
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats_internal(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:337,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:338,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:345,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:346,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:346,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:354,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:355,1
    - Dst: std::atomic::fetch_add
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:356,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:357,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:370,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:371,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:372,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:373,1
    - Dst: SetIterationTime
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:378,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:378,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:383,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 385
    functionName: tcmalloc::BM_get_stats_pageheap_lock
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::atomic::fetch_add
    - SetIterationTime
    - range
    - Lock
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Notification::Notify
    - Unlock
    - absl::ToDoubleSeconds
    - absl::Uniform<size_t>
    - tcmalloc::MallocExtension::GetStats
    - absl::Notification::HasBeenNotified
    - absl::Now
    - std::thread::join
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats_pageheap_lock(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:397,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:398,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:405,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:406,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:406,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:413,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:413,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 416
    functionName: tcmalloc::BM_get_stats_pbtxt_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - std::vector::size
    - std::vector::emplace_back
    - benchmark::DoNotOptimize
    - absl::Uniform<size_t>
    - MallocExtension_Internal_GetStatsInPbtxt
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats_pbtxt_internal(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:427,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:428,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:435,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:436,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:436,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:445,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:447,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:447,1
    - Dst: std::atomic::fetch_add
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:448,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:449,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:462,1
    - Dst: Lock
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:463,1
    - Dst: Unlock
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:464,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:465,1
    - Dst: SetIterationTime
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:470,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:470,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:475,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 477
    functionName: tcmalloc::BM_get_stats_pbtxt_pageheap_lock
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::atomic::fetch_add
    - SetIterationTime
    - range
    - Lock
    - std::vector::size
    - std::vector::emplace_back
    - benchmark::DoNotOptimize
    - Unlock
    - absl::ToDoubleSeconds
    - absl::Uniform<size_t>
    - absl::Notification::Notify
    - absl::Notification::HasBeenNotified
    - absl::Now
    - MallocExtension_Internal_GetStatsInPbtxt
    - std::thread::join
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_stats_pbtxt_pageheap_lock(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:485,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:486,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:492,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:493,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:493,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:497,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 500
    functionName: tcmalloc::BM_get_heap_profile
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - tcmalloc::MallocExtension::SnapshotCurrent
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_heap_profile(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:505,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:506,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:512,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:513,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:513,1
    - Dst: absl::Notification::HasBeenNotified
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:519,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:520,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:521,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:530,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:532,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:533,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:533,1
    - Dst: absl::Notification::Notify
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:538,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 540
    functionName: tcmalloc::BM_get_heap_profile_while_allocating
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - range
    - tcmalloc::MallocExtension::SnapshotCurrent
    - benchmark::DoNotOptimize
    - std::vector::emplace_back
    - absl::Notification::Notify
    - std::thread::join
    - absl::Uniform<size_t>
    - absl::Notification::HasBeenNotified
    - char::char
    linkageType: ''
    returnType: void
    signature: void BM_get_heap_profile_while_allocating(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/current_allocated_bytes_test.cc:37,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/current_allocated_bytes_test.cc:39,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/current_allocated_bytes_test.cc:39,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/current_allocated_bytes_test.cc:41,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/current_allocated_bytes_test.cc:42,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/current_allocated_bytes_test.cc:48,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/current_allocated_bytes_test.cc:51,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/current_allocated_bytes_test.cc:54,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/current_allocated_bytes_test.cc:59,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/current_allocated_bytes_test.cc:60,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/testing/current_allocated_bytes_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/current_allocated_bytes_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc::MallocExtension::GetNumericProperty
    - TC_CHECK_EQ
    - printf
    - std::max
    - free
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:43,1
    - Dst: tcmalloc_internal::GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: GetRSS
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/releasing_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::GetMemoryStats
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetRSS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:48,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:50,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: UnmappedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/releasing_test.cc
    functionUses: 7
    functionsReached:
    - TC_CHECK
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::optional::has_value
    linkageType: ''
    returnType: int64_t
    signature: int64_t UnmappedBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:43,1
    - Dst: tcmalloc_internal::GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: GetRSS
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/releasing_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::GetMemoryStats
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetRSS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:48,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:50,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: UnmappedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/releasing_test.cc
    functionUses: 7
    functionsReached:
    - TC_CHECK
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::optional::has_value
    linkageType: ''
    returnType: int64_t
    signature: int64_t UnmappedBytes()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:57,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:64,1
    - Dst: getrlimit
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:64,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:67,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:72,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:81,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:85,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:86,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:87,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:88,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:89,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:93,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:94,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:95,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:96,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:97,1
    - Dst: GetRSS
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:104,1
    - Dst: UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:105,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:109,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:113,1
    - Dst: GetRSS
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:114,1
    - Dst: UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:115,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:119,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:120,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:124,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:125,1
    - Dst: GetRSS
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:126,1
    - Dst: UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:127,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:133,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:134,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:135,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:136,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:137,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:138,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:139,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:140,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:141,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/testing/releasing_test.cc:142,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/releasing_test.cc
    functionUses: 0
    functionsReached:
    - mlockall
    - printf
    - TC_CHECK_GE
    - memset
    - ::operator delete
    - TC_CHECK_LE
    - absl::LogUniform<size_t>
    - UnmappedBytes
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - getrlimit
    - tcmalloc_internal::max
    - TC_CHECK_EQ
    - std::vector::reserve
    - TC_CHECK_NE
    - std::vector::push_back
    - GetRSS
    - TC_BUG
    - ::benchmark::DoNotOptimize
    - TC_LOG
    - ::operator new
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sampler*::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - seed
    argTypes:
    - Sampler*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: tcmalloc::tcmalloc_internal::SamplerTest::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - Sampler*::Init
    linkageType: ''
    returnType: void
    signature: void Init(Sampler* s, uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:52,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:53,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, TestGetSamplePeriod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::begin
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::end
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::size
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:61,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:67,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:67,1
    - Dst: AndersonDarlingTest
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:70,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:71,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sample_period
    - sample
    argTypes:
    - int
    - std::vector<uint64_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - std::vector<uint64_t>*::end
    - exp
    - std::vector<uint64_t>*::begin
    - EXPECT_GT
    - AndersonDarlingTest
    - std::min
    - std::sort
    - std::vector<uint64_t>*::size
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void TestSampleAndersonDarling(int sample_period,\n                               std::vector<uint64_t>*
      sample)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:84,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:86,1
    - Dst: Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:89,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:90,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: tcmalloc::tcmalloc_internal::TestPickNextSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    - Sampler::PickNextSamplingPoint
    linkageType: ''
    returnType: void
    signature: void TestPickNextSample(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:101,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestPickNextSample
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, TestPickNextSample_MultipleValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:110,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:110,1
    - Dst: pow
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - total_samples
    - picked_samples
    - alloc_size
    - sampling_interval
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - pow
    - exp
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: "double StandardDeviationsErrorInSample(int total_samples, int picked_samples,\n
      \                                      int alloc_size, int sampling_interval)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:118,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:126,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:130,1
    - Dst: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:138,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:140,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:140,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:141,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 142
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_LE
    - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    - fabs
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, LargeAndSmallAllocs_CombinedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next_sampling_point
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:148,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:150,1
    - Dst: pow
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:151,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:152,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mean
    - num_samples
    - next_sampling_point
    argTypes:
    - size_t
    - int
    - Body
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: tcmalloc::tcmalloc_internal::DoCheckMean
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - next_sampling_point
    - fabs
    - pow
    - EXPECT_LT
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DoCheckMean(size_t mean, int num_samples, Body next_sampling_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:158,1
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:159,1
    - Dst: Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - Sampler::PickNextSamplingPoint
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, IsMeanRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:167,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:173,1
    - Dst: std::log
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:175,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:182,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:185,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:185,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:187,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:189,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:195,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:195,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:196,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - std::log2
    - ASSERT_LE
    - static_cast<uint64_t>
    - SCOPED_TRACE
    - ASSERT_GE
    - std::log
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, bytes_until_sample_Overflow_Underflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:212,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:215,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:215,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:217,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - ASSERT_LT
    - ASSERT_GE
    - static_cast<double>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, arithmetic_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:224,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, size_of_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:235,1
    - Dst: Sampler::Sampler
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:236,1
    - Dst: Sampler*::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:240,1
    - Dst: Sampler*::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:242,1
    - Dst: Sampler*::Sampler::~Sampler
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - Sampler*::Sampler::~Sampler
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - Sampler*::RecordAllocation
    - Sampler*::PickNextSamplingPoint
    - Sampler::Sampler
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, stirring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:254,1
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:257,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:261,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:261,1
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:264,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - exp
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - SCOPED_TRACE
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, weight_distribution)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:52,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:53,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, TestGetSamplePeriod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::begin
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::end
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::size
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:61,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:67,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:67,1
    - Dst: AndersonDarlingTest
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:70,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:71,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sample_period
    - sample
    argTypes:
    - int
    - std::vector<uint64_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 1
    functionsReached:
    - std::vector<uint64_t>*::end
    - exp
    - std::vector<uint64_t>*::begin
    - EXPECT_GT
    - AndersonDarlingTest
    - std::min
    - std::sort
    - std::vector<uint64_t>*::size
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void TestSampleAndersonDarling(int sample_period,\n                               std::vector<uint64_t>*
      sample)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:84,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:86,1
    - Dst: Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:89,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:90,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: tcmalloc::tcmalloc_internal::TestPickNextSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 1
    functionsReached:
    - EXPECT_LT
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    - Sampler::PickNextSamplingPoint
    linkageType: ''
    returnType: void
    signature: void TestPickNextSample(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:101,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestPickNextSample
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, TestPickNextSample_MultipleValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:110,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:110,1
    - Dst: pow
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - total_samples
    - picked_samples
    - alloc_size
    - sampling_interval
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 1
    functionsReached:
    - pow
    - exp
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: "double StandardDeviationsErrorInSample(int total_samples, int picked_samples,\n
      \                                      int alloc_size, int sampling_interval)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:118,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:126,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:130,1
    - Dst: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:138,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:140,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:140,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:141,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 142
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_LE
    - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    - fabs
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, LargeAndSmallAllocs_CombinedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next_sampling_point
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:148,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:150,1
    - Dst: pow
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:151,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:152,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mean
    - num_samples
    - next_sampling_point
    argTypes:
    - size_t
    - int
    - Body
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: tcmalloc::tcmalloc_internal::DoCheckMean
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 3
    functionsReached:
    - next_sampling_point
    - fabs
    - pow
    - EXPECT_LT
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DoCheckMean(size_t mean, int num_samples, Body next_sampling_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:158,1
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:159,1
    - Dst: Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - Sampler::PickNextSamplingPoint
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, IsMeanRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:167,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:173,1
    - Dst: std::log
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:175,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:182,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:185,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:185,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:187,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:189,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:195,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:195,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:196,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - std::log2
    - ASSERT_LE
    - static_cast<uint64_t>
    - SCOPED_TRACE
    - ASSERT_GE
    - std::log
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, bytes_until_sample_Overflow_Underflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:212,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:215,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:215,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:217,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - ASSERT_LT
    - ASSERT_GE
    - static_cast<double>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, arithmetic_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:224,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, size_of_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:235,1
    - Dst: Sampler::Sampler
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:236,1
    - Dst: Sampler*::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:240,1
    - Dst: Sampler*::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:242,1
    - Dst: Sampler*::Sampler::~Sampler
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - Sampler*::Sampler::~Sampler
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - Sampler*::RecordAllocation
    - Sampler*::PickNextSamplingPoint
    - Sampler::Sampler
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, stirring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:254,1
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:257,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:261,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:261,1
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:264,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - exp
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - SCOPED_TRACE
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, weight_distribution)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sampler*::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - seed
    argTypes:
    - Sampler*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: tcmalloc::tcmalloc_internal::SamplerTest::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 14
    functionsReached:
    - Sampler*::Init
    linkageType: ''
    returnType: void
    signature: void Init(Sampler* s, uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:52,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:53,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, TestGetSamplePeriod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::begin
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::end
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::size
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:61,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:67,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:67,1
    - Dst: AndersonDarlingTest
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:70,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:71,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sample_period
    - sample
    argTypes:
    - int
    - std::vector<uint64_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 2
    functionsReached:
    - std::vector<uint64_t>*::end
    - exp
    - std::vector<uint64_t>*::begin
    - EXPECT_GT
    - AndersonDarlingTest
    - std::min
    - std::sort
    - std::vector<uint64_t>*::size
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void TestSampleAndersonDarling(int sample_period,\n                               std::vector<uint64_t>*
      sample)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:84,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:86,1
    - Dst: Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:89,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:90,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: tcmalloc::tcmalloc_internal::TestPickNextSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_LT
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    - Sampler::PickNextSamplingPoint
    linkageType: ''
    returnType: void
    signature: void TestPickNextSample(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:101,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestPickNextSample
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, TestPickNextSample_MultipleValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:110,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:110,1
    - Dst: pow
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - total_samples
    - picked_samples
    - alloc_size
    - sampling_interval
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 2
    functionsReached:
    - pow
    - exp
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: "double StandardDeviationsErrorInSample(int total_samples, int picked_samples,\n
      \                                      int alloc_size, int sampling_interval)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:118,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:126,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:130,1
    - Dst: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:138,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:140,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:140,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:141,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 142
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_LE
    - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    - fabs
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, LargeAndSmallAllocs_CombinedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next_sampling_point
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:148,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:150,1
    - Dst: pow
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:151,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:152,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mean
    - num_samples
    - next_sampling_point
    argTypes:
    - size_t
    - int
    - Body
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: tcmalloc::tcmalloc_internal::DoCheckMean
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 6
    functionsReached:
    - next_sampling_point
    - fabs
    - pow
    - EXPECT_LT
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DoCheckMean(size_t mean, int num_samples, Body next_sampling_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:158,1
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:159,1
    - Dst: Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - Sampler::PickNextSamplingPoint
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, IsMeanRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:167,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:173,1
    - Dst: std::log
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:175,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:182,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:185,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:185,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:187,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:189,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:195,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:195,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:196,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - std::log2
    - ASSERT_LE
    - static_cast<uint64_t>
    - SCOPED_TRACE
    - ASSERT_GE
    - std::log
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, bytes_until_sample_Overflow_Underflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:212,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:215,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:215,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:217,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - ASSERT_LT
    - ASSERT_GE
    - static_cast<double>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, arithmetic_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:224,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, size_of_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:235,1
    - Dst: Sampler::Sampler
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:236,1
    - Dst: Sampler*::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:240,1
    - Dst: Sampler*::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:242,1
    - Dst: Sampler*::Sampler::~Sampler
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - Sampler*::Sampler::~Sampler
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - Sampler*::RecordAllocation
    - Sampler*::PickNextSamplingPoint
    - Sampler::Sampler
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, stirring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:254,1
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:257,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:261,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:261,1
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:264,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - exp
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - SCOPED_TRACE
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, weight_distribution)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:52,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:53,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, TestGetSamplePeriod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::begin
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::end
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::size
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:61,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:67,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:67,1
    - Dst: AndersonDarlingTest
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:70,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:71,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sample_period
    - sample
    argTypes:
    - int
    - std::vector<uint64_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 3
    functionsReached:
    - std::vector<uint64_t>*::end
    - exp
    - std::vector<uint64_t>*::begin
    - EXPECT_GT
    - AndersonDarlingTest
    - std::min
    - std::sort
    - std::vector<uint64_t>*::size
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void TestSampleAndersonDarling(int sample_period,\n                               std::vector<uint64_t>*
      sample)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:84,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:86,1
    - Dst: Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:89,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:90,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: tcmalloc::tcmalloc_internal::TestPickNextSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 3
    functionsReached:
    - EXPECT_LT
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    - Sampler::PickNextSamplingPoint
    linkageType: ''
    returnType: void
    signature: void TestPickNextSample(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:101,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestPickNextSample
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, TestPickNextSample_MultipleValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:110,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:110,1
    - Dst: pow
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - total_samples
    - picked_samples
    - alloc_size
    - sampling_interval
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 3
    functionsReached:
    - pow
    - exp
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: "double StandardDeviationsErrorInSample(int total_samples, int picked_samples,\n
      \                                      int alloc_size, int sampling_interval)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:118,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:126,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:130,1
    - Dst: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:138,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:140,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:140,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:141,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 142
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_LE
    - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    - fabs
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, LargeAndSmallAllocs_CombinedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next_sampling_point
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:148,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:150,1
    - Dst: pow
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:151,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:152,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mean
    - num_samples
    - next_sampling_point
    argTypes:
    - size_t
    - int
    - Body
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: tcmalloc::tcmalloc_internal::DoCheckMean
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 9
    functionsReached:
    - next_sampling_point
    - fabs
    - pow
    - EXPECT_LT
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DoCheckMean(size_t mean, int num_samples, Body next_sampling_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:158,1
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:159,1
    - Dst: Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - Sampler::PickNextSamplingPoint
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, IsMeanRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:167,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:173,1
    - Dst: std::log
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:175,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:182,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:185,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:185,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:187,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:189,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:195,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:195,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:196,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - std::log2
    - ASSERT_LE
    - static_cast<uint64_t>
    - SCOPED_TRACE
    - ASSERT_GE
    - std::log
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, bytes_until_sample_Overflow_Underflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:212,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:215,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:215,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:217,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - ASSERT_LT
    - ASSERT_GE
    - static_cast<double>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, arithmetic_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:224,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, size_of_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:235,1
    - Dst: Sampler::Sampler
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:236,1
    - Dst: Sampler*::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:240,1
    - Dst: Sampler*::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:242,1
    - Dst: Sampler*::Sampler::~Sampler
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - Sampler*::Sampler::~Sampler
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - Sampler*::RecordAllocation
    - Sampler*::PickNextSamplingPoint
    - Sampler::Sampler
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, stirring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:254,1
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:257,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:261,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:261,1
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:264,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - exp
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - SCOPED_TRACE
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, weight_distribution)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sampler*::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - seed
    argTypes:
    - Sampler*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: tcmalloc::tcmalloc_internal::SamplerTest::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 28
    functionsReached:
    - Sampler*::Init
    linkageType: ''
    returnType: void
    signature: void Init(Sampler* s, uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:52,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:53,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, TestGetSamplePeriod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::begin
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::end
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::size
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:61,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:67,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:67,1
    - Dst: AndersonDarlingTest
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:70,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:71,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sample_period
    - sample
    argTypes:
    - int
    - std::vector<uint64_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 4
    functionsReached:
    - std::vector<uint64_t>*::end
    - exp
    - std::vector<uint64_t>*::begin
    - EXPECT_GT
    - AndersonDarlingTest
    - std::min
    - std::sort
    - std::vector<uint64_t>*::size
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void TestSampleAndersonDarling(int sample_period,\n                               std::vector<uint64_t>*
      sample)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:84,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:86,1
    - Dst: Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:89,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:90,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: tcmalloc::tcmalloc_internal::TestPickNextSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 4
    functionsReached:
    - EXPECT_LT
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    - Sampler::PickNextSamplingPoint
    linkageType: ''
    returnType: void
    signature: void TestPickNextSample(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:101,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestPickNextSample
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, TestPickNextSample_MultipleValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:110,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:110,1
    - Dst: pow
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - total_samples
    - picked_samples
    - alloc_size
    - sampling_interval
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 4
    functionsReached:
    - pow
    - exp
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: "double StandardDeviationsErrorInSample(int total_samples, int picked_samples,\n
      \                                      int alloc_size, int sampling_interval)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:118,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:126,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:130,1
    - Dst: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:138,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:140,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:140,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:141,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 142
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_LE
    - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    - fabs
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, LargeAndSmallAllocs_CombinedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next_sampling_point
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:148,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:150,1
    - Dst: pow
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:151,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:152,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mean
    - num_samples
    - next_sampling_point
    argTypes:
    - size_t
    - int
    - Body
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: tcmalloc::tcmalloc_internal::DoCheckMean
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 12
    functionsReached:
    - next_sampling_point
    - fabs
    - pow
    - EXPECT_LT
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DoCheckMean(size_t mean, int num_samples, Body next_sampling_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:158,1
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:159,1
    - Dst: Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - Sampler::PickNextSamplingPoint
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, IsMeanRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:167,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:173,1
    - Dst: std::log
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:175,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:182,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:185,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:185,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:187,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:189,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:195,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:195,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:196,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - std::log2
    - ASSERT_LE
    - static_cast<uint64_t>
    - SCOPED_TRACE
    - ASSERT_GE
    - std::log
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, bytes_until_sample_Overflow_Underflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:212,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:215,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:215,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:217,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - ASSERT_LT
    - ASSERT_GE
    - static_cast<double>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, arithmetic_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:224,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, size_of_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:235,1
    - Dst: Sampler::Sampler
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:236,1
    - Dst: Sampler*::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:240,1
    - Dst: Sampler*::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:242,1
    - Dst: Sampler*::Sampler::~Sampler
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - Sampler*::Sampler::~Sampler
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - Sampler*::RecordAllocation
    - Sampler*::PickNextSamplingPoint
    - Sampler::Sampler
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, stirring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:254,1
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:257,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:261,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:261,1
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:264,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - exp
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - SCOPED_TRACE
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, weight_distribution)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:52,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:53,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, TestGetSamplePeriod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::begin
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::end
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::size
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:61,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:67,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:67,1
    - Dst: AndersonDarlingTest
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:70,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:71,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sample_period
    - sample
    argTypes:
    - int
    - std::vector<uint64_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 5
    functionsReached:
    - std::vector<uint64_t>*::end
    - exp
    - std::vector<uint64_t>*::begin
    - EXPECT_GT
    - AndersonDarlingTest
    - std::min
    - std::sort
    - std::vector<uint64_t>*::size
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void TestSampleAndersonDarling(int sample_period,\n                               std::vector<uint64_t>*
      sample)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:84,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:86,1
    - Dst: Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:89,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:90,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: tcmalloc::tcmalloc_internal::TestPickNextSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 5
    functionsReached:
    - EXPECT_LT
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    - Sampler::PickNextSamplingPoint
    linkageType: ''
    returnType: void
    signature: void TestPickNextSample(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:101,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestPickNextSample
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, TestPickNextSample_MultipleValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:110,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:110,1
    - Dst: pow
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - total_samples
    - picked_samples
    - alloc_size
    - sampling_interval
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 5
    functionsReached:
    - pow
    - exp
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: "double StandardDeviationsErrorInSample(int total_samples, int picked_samples,\n
      \                                      int alloc_size, int sampling_interval)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:118,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:126,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:130,1
    - Dst: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:138,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:140,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:140,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:141,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 142
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_LE
    - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    - fabs
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, LargeAndSmallAllocs_CombinedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next_sampling_point
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:148,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:150,1
    - Dst: pow
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:151,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:152,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mean
    - num_samples
    - next_sampling_point
    argTypes:
    - size_t
    - int
    - Body
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: tcmalloc::tcmalloc_internal::DoCheckMean
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 15
    functionsReached:
    - next_sampling_point
    - fabs
    - pow
    - EXPECT_LT
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DoCheckMean(size_t mean, int num_samples, Body next_sampling_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:158,1
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:159,1
    - Dst: Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - Sampler::PickNextSamplingPoint
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, IsMeanRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:167,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:173,1
    - Dst: std::log
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:175,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:182,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:185,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:185,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:187,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:189,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:195,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:195,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:196,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - std::log2
    - ASSERT_LE
    - static_cast<uint64_t>
    - SCOPED_TRACE
    - ASSERT_GE
    - std::log
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, bytes_until_sample_Overflow_Underflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:212,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:215,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:215,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:217,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - ASSERT_LT
    - ASSERT_GE
    - static_cast<double>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, arithmetic_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:224,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, size_of_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:235,1
    - Dst: Sampler::Sampler
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:236,1
    - Dst: Sampler*::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:240,1
    - Dst: Sampler*::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:242,1
    - Dst: Sampler*::Sampler::~Sampler
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - Sampler*::Sampler::~Sampler
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - Sampler*::RecordAllocation
    - Sampler*::PickNextSamplingPoint
    - Sampler::Sampler
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, stirring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:254,1
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:257,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:261,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:261,1
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:264,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - exp
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - SCOPED_TRACE
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, weight_distribution)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sampler*::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - seed
    argTypes:
    - Sampler*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: tcmalloc::tcmalloc_internal::SamplerTest::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 42
    functionsReached:
    - Sampler*::Init
    linkageType: ''
    returnType: void
    signature: void Init(Sampler* s, uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:52,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:53,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, TestGetSamplePeriod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::begin
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::end
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::size
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:61,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:67,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:67,1
    - Dst: AndersonDarlingTest
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:70,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:71,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sample_period
    - sample
    argTypes:
    - int
    - std::vector<uint64_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 6
    functionsReached:
    - std::vector<uint64_t>*::end
    - exp
    - std::vector<uint64_t>*::begin
    - EXPECT_GT
    - AndersonDarlingTest
    - std::min
    - std::sort
    - std::vector<uint64_t>*::size
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void TestSampleAndersonDarling(int sample_period,\n                               std::vector<uint64_t>*
      sample)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:84,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:86,1
    - Dst: Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:89,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:90,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: tcmalloc::tcmalloc_internal::TestPickNextSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 6
    functionsReached:
    - EXPECT_LT
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    - Sampler::PickNextSamplingPoint
    linkageType: ''
    returnType: void
    signature: void TestPickNextSample(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:101,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestPickNextSample
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, TestPickNextSample_MultipleValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:110,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:110,1
    - Dst: pow
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - total_samples
    - picked_samples
    - alloc_size
    - sampling_interval
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 6
    functionsReached:
    - pow
    - exp
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: "double StandardDeviationsErrorInSample(int total_samples, int picked_samples,\n
      \                                      int alloc_size, int sampling_interval)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:118,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:126,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:130,1
    - Dst: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:138,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:140,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:140,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:141,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 142
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_LE
    - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    - fabs
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, LargeAndSmallAllocs_CombinedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next_sampling_point
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:148,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:150,1
    - Dst: pow
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:151,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:152,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mean
    - num_samples
    - next_sampling_point
    argTypes:
    - size_t
    - int
    - Body
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: tcmalloc::tcmalloc_internal::DoCheckMean
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 18
    functionsReached:
    - next_sampling_point
    - fabs
    - pow
    - EXPECT_LT
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DoCheckMean(size_t mean, int num_samples, Body next_sampling_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:158,1
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:159,1
    - Dst: Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - Sampler::PickNextSamplingPoint
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, IsMeanRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:167,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:173,1
    - Dst: std::log
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:175,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:182,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:185,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:185,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:187,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:189,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:195,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:195,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:196,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - std::log2
    - ASSERT_LE
    - static_cast<uint64_t>
    - SCOPED_TRACE
    - ASSERT_GE
    - std::log
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, bytes_until_sample_Overflow_Underflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:212,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:215,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:215,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:217,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - ASSERT_LT
    - ASSERT_GE
    - static_cast<double>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, arithmetic_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:224,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, size_of_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:235,1
    - Dst: Sampler::Sampler
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:236,1
    - Dst: Sampler*::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:240,1
    - Dst: Sampler*::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:242,1
    - Dst: Sampler*::Sampler::~Sampler
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - Sampler*::Sampler::~Sampler
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - Sampler*::RecordAllocation
    - Sampler*::PickNextSamplingPoint
    - Sampler::Sampler
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, stirring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:254,1
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:257,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:261,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:261,1
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:264,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - exp
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - SCOPED_TRACE
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, weight_distribution)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:52,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:53,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, TestGetSamplePeriod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::begin
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::end
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:60,1
    - Dst: std::vector<uint64_t>*::size
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:61,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:67,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:67,1
    - Dst: AndersonDarlingTest
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:70,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:71,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sample_period
    - sample
    argTypes:
    - int
    - std::vector<uint64_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 7
    functionsReached:
    - std::vector<uint64_t>*::end
    - exp
    - std::vector<uint64_t>*::begin
    - EXPECT_GT
    - AndersonDarlingTest
    - std::min
    - std::sort
    - std::vector<uint64_t>*::size
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void TestSampleAndersonDarling(int sample_period,\n                               std::vector<uint64_t>*
      sample)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:84,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:86,1
    - Dst: Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:89,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:90,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:94,1
    - Dst: tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: tcmalloc::tcmalloc_internal::TestPickNextSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 7
    functionsReached:
    - EXPECT_LT
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    - Sampler::PickNextSamplingPoint
    linkageType: ''
    returnType: void
    signature: void TestPickNextSample(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:100,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:101,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:102,1
    - Dst: tcmalloc::tcmalloc_internal::TestPickNextSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::TestPickNextSample
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, TestPickNextSample_MultipleValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:110,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:110,1
    - Dst: pow
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - total_samples
    - picked_samples
    - alloc_size
    - sampling_interval
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 7
    functionsReached:
    - pow
    - exp
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: "double StandardDeviationsErrorInSample(int total_samples, int picked_samples,\n
      \                                      int alloc_size, int sampling_interval)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:118,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:126,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:130,1
    - Dst: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:138,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:140,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:140,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:141,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 142
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_LE
    - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    - fabs
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, LargeAndSmallAllocs_CombinedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next_sampling_point
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:148,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:150,1
    - Dst: pow
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:151,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:152,1
    - Dst: fabs
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mean
    - num_samples
    - next_sampling_point
    argTypes:
    - size_t
    - int
    - Body
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: tcmalloc::tcmalloc_internal::DoCheckMean
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 21
    functionsReached:
    - next_sampling_point
    - fabs
    - pow
    - EXPECT_LT
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DoCheckMean(size_t mean, int num_samples, Body next_sampling_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:158,1
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:159,1
    - Dst: Sampler::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - Sampler::PickNextSamplingPoint
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, IsMeanRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:167,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:173,1
    - Dst: std::log
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:175,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:182,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:185,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:185,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:187,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:189,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:195,1
    - Dst: std::log2
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:195,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:196,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - std::log2
    - ASSERT_LE
    - static_cast<uint64_t>
    - SCOPED_TRACE
    - ASSERT_GE
    - std::log
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, bytes_until_sample_Overflow_Underflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:212,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:213,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:215,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:215,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:217,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - ASSERT_LT
    - ASSERT_GE
    - static_cast<double>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, arithmetic_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:224,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, size_of_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:235,1
    - Dst: Sampler::Sampler
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:236,1
    - Dst: Sampler*::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:240,1
    - Dst: Sampler*::PickNextSamplingPoint
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:242,1
    - Dst: Sampler*::Sampler::~Sampler
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - Sampler*::Sampler::~Sampler
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - Sampler*::RecordAllocation
    - Sampler*::PickNextSamplingPoint
    - Sampler::Sampler
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, stirring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:254,1
    - Dst: tcmalloc::tcmalloc_internal::SamplerTest::Init
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:257,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:261,1
    - Dst: Sampler::GetSampleInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:261,1
    - Dst: tcmalloc::tcmalloc_internal::DoCheckMean
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:264,1
    - Dst: Sampler::RecordAllocation
      Src: /src/tcmalloc/tcmalloc/testing/sampler_test.cc:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
    functionUses: 0
    functionsReached:
    - exp
    - tcmalloc::tcmalloc_internal::DoCheckMean
    - SCOPED_TRACE
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    linkageType: ''
    returnType: void
    signature: void TEST(Sampler, weight_distribution)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: CheckerIsActive
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckerIsActive()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:66,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - offset
    - args
    argTypes:
    - size_t
    - AllocatorArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: AllocateBaseCase
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - operator new
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE AllocateBaseCase(\n    size_t offset, const
      AllocatorArgs &args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AllocateBaseCase
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:74,1
    - Dst: AllocateRecursive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - offset
    - recursion_depth
    - args
    argTypes:
    - size_t
    - size_t
    - AllocatorArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: AllocateRecursive
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 1
    functionsReached:
    - AllocateRecursive
    - AllocateBaseCase
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE AllocateRecursive(\n    size_t offset, size_t
      recursion_depth, const AllocatorArgs &args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - offset
    - args
    argTypes:
    - size_t
    - AllocatorArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: DeallocBaseCase
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE DeallocBaseCase(\n    size_t offset, const
      AllocatorArgs &args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeallocBaseCase
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:90,1
    - Dst: DeallocRecursive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - offset
    - recursion_depth
    - args
    argTypes:
    - size_t
    - size_t
    - AllocatorArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: DeallocRecursive
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 1
    functionsReached:
    - DeallocRecursive
    - DeallocBaseCase
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE DeallocRecursive(\n    size_t offset, size_t
      recursion_depth, const AllocatorArgs &args)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:106,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:107,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:109,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:109,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:114,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:115,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:118,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:119,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:120,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:121,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:122,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:123,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:126,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:129,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:133,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:134,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:135,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:136,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:137,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:138,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:139,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:140,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:141,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:142,1
    - Dst: log_optional_bool
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:143,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:145,1
    - Dst: log_optional_bool
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:146,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:147,1
    - Dst: log_optional_bool
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:148,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:149,1
    - Dst: log_optional_bool
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:150,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 2
    argNames:
    - p
    - e
    argTypes:
    - Params
    - tcmalloc::Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 153
    functionName: testEntry
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - log_optional_bool
    - absl::ZeroDuration
    - EXPECT_GE
    - EXPECT_LE
    - has_value
    - value
    - LOG
    linkageType: ''
    returnType: void
    signature: void testEntry(Params &p, const tcmalloc::Profile::Sample &e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:159,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:160,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:166,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:167,1
    - Dst: absl::GetCurrentTimeNanos
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:168,1
    - Dst: DeallocationzTest::AllocDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:169,1
    - Dst: absl::GetCurrentTimeNanos
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:170,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:171,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:172,1
    - Dst: tcmalloc::Profile::Type
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:172,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:176,1
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:185,1
    - Dst: testEntry
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:186,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:203,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:211,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:221,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 233
    functionName: DeallocationzTest::Run
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::Profile::Iterate
    - resize
    - CheckerIsActive
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - EXPECT_GE
    - EXPECT_LE
    - DeallocationzTest::AllocDealloc
    - testEntry
    - tcmalloc::Profile::Type
    - LOG
    - ASSERT_EQ
    - std::move
    - absl::Nanoseconds
    - absl::GetCurrentTimeNanos
    linkageType: ''
    returnType: void
    signature: void Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:238,1
    - Dst: DeallocationzTest::Allocate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: DeallocationzTest::RunAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - DeallocationzTest::Allocate
    - resize
    linkageType: ''
    returnType: void
    signature: void RunAlloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:245,1
    - Dst: DeallocationzTest::Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: DeallocationzTest::RunDelloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - resize
    - DeallocationzTest::Deallocate
    linkageType: ''
    returnType: void
    signature: void RunDelloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeallocationzTest::Allocate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:251,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:253,1
    - Dst: DeallocationzTest::Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: DeallocationzTest::AllocDealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 1
    functionsReached:
    - DeallocationzTest::Allocate
    - DeallocationzTest::Deallocate
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void AllocDealloc()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllocateRecursive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:264,1
    - Dst: DeallocationzTest::Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:280,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:283,1
    - Dst: DeallocationzTest::Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:283,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 288
    functionName: DeallocationzTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - join
    - std::vector::emplace_back
    - AllocateRecursive
    - DeallocationzTest::Run
    linkageType: ''
    returnType: void
    signature: void Allocate()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DeallocRecursive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:297,1
    - Dst: DeallocationzTest::Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:323,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:325,1
    - Dst: DeallocationzTest::Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:327,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 331
    functionName: DeallocationzTest::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - join
    - std::vector::emplace_back
    - DeallocRecursive
    - DeallocationzTest::Run
    linkageType: ''
    returnType: void
    signature: void Deallocate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:351,1
    - Dst: Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 355
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - Run
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, SingleThreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:364,1
    - Dst: Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 368
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - Run
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, MultiThreaded)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:372,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:373,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:376,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:377,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:378,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:378,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:379,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:381,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:381,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:381,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:382,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:382,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:383,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:383,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:383,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:384,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:384,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 385
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - CheckerIsActive
    - absl::SleepFor
    - EXPECT_GT
    - absl::Milliseconds
    - LOG
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, ConcurrentDeallocationSamples)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:390,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:391,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:395,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:396,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:396,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:397,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:399,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:400,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:400,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:401,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:401,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:401,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:402,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 404
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - CheckerIsActive
    - absl::SleepFor
    - EXPECT_GT
    - absl::Milliseconds
    - LOG
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, MultipleAllocationPeriods)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:414,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:415,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:416,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:416,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:417,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:418,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:418,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 423
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - absl::SleepFor
    - std::vector::emplace_back
    - absl::Milliseconds
    - std::move
    - join
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, ConcurrentProfilerRequests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:426,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:433,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:440,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:441,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:442,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:443,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:443,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:445,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:448,1
    - Dst: RunAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:449,1
    - Dst: RunDelloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:450,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:451,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:451,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 455
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - std::atomic::load
    - absl::SleepFor
    - std::thread::join
    - RunAlloc
    - std::atomic::store
    - absl::Milliseconds
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - RunDelloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, ConcurrentProfilerEnableDisable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:460,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:461,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:468,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:472,1
    - Dst: RunAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:473,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:474,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:474,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:474,1
    - Dst: RunDelloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 476
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - CheckerIsActive
    - RunAlloc
    - EXPECT_GT
    - LOG
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - RunDelloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, ObserveAllocationButNotDeallocation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:481,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:482,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:489,1
    - Dst: RunAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:493,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:494,1
    - Dst: RunDelloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:495,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:496,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:496,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 497
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - CheckerIsActive
    - RunAlloc
    - EXPECT_GT
    - LOG
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - RunDelloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, ObserveDeallocationButNotAllocation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:502,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - depth
    - size
    argTypes:
    - int
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 506
    functionName: SingleAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 1
    functionsReached:
    - SingleAlloc
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE *SingleAlloc(\n    int depth, uintptr_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:511,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - depth
    - ptr
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 515
    functionName: SingleDealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 1
    functionsReached:
    - ::operator delete
    - SingleDealloc
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE SingleDealloc(\n    int depth, void *ptr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:520,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:526,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:533,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:538,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:539,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:540,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:544,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:545,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:546,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:549,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:551,1
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:571,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:572,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:575,1
    - Dst: Counters::counts::push_back
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:587,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:590,1
    - Dst: allocator_deallocator_physical_cpu_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:590,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:591,1
    - Dst: allocator_deallocator_virtual_cpu_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:591,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:592,1
    - Dst: allocator_deallocator_l3_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:592,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:593,1
    - Dst: allocator_deallocator_numa_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:593,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:594,1
    - Dst: allocator_deallocator_thread_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:594,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:595,1
    - Dst: allocator_deallocator_thread_matched::value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:595,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:604,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:605,1
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:610,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:615,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:620,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:623,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:624,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:628,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:629,1
    - Dst: Counters::counts::size
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:633,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 635
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - allocator_deallocator_numa_matched::has_value
    - absl::Microseconds
    - allocator_deallocator_virtual_cpu_matched::has_value
    - Counters::counts::push_back
    - allocator_deallocator_physical_cpu_matched::has_value
    - SingleAlloc
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - tcmalloc::Profile::Iterate
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - CheckerIsActive
    - allocator_deallocator_l3_matched::has_value
    - Counters::counts::size
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LE
    - ASSERT_TRUE
    - absl::Symbolize
    - allocator_deallocator_thread_matched::value
    - std::move
    - SingleDealloc
    - absl::SleepFor
    - absl::StrContains
    - EXPECT_GE
    - allocator_deallocator_thread_matched::has_value
    linkageType: ''
    returnType: void
    signature: void TEST(LifetimeProfiler, BasicCounterValues)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:638,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:646,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:648,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:649,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:651,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:652,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:653,1
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:659,1
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:664,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:665,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:669,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:686,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:689,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:690,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:691,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 692
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::Profile::Iterate
    - CheckerIsActive
    - absl::SleepFor
    - EXPECT_EQ
    - absl::StrContains
    - EXPECT_GE
    - absl::Symbolize
    - ASSERT_EQ
    - absl::Milliseconds
    - SingleAlloc
    - std::move
    - SingleDealloc
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST(LifetimeProfiler, RecordLiveAllocations)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:695,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:703,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:706,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:708,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:711,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:713,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:714,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:717,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:718,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:722,1
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:723,1
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:728,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:729,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:741,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 750
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::Profile::Iterate
    - CheckerIsActive
    - absl::SleepFor
    - EXPECT_EQ
    - absl::StrContains
    - ASSERT_TRUE
    - absl::Symbolize
    - ASSERT_EQ
    - ASSERT_NO_FATAL_FAILURE
    - absl::Milliseconds
    - SingleAlloc
    - std::move
    - SingleDealloc
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST(LifetimeProfiler, RecordCensoredAllocations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LifetimeNsToBucketedDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:759,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:759,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:760,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:760,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:760,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:761,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:761,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:761,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:762,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:762,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:762,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:763,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:763,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:764,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:764,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:764,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:765,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:765,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:766,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:766,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:766,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:767,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:767,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:767,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:768,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:768,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:768,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:769,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:769,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 770
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - absl::Nanoseconds
    - BucketizeDuration
    - LifetimeNsToBucketedDuration
    linkageType: ''
    returnType: void
    signature: void TEST(LifetimeProfiler, LifetimeBucketing)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: CheckerIsActive
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckerIsActive()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:66,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - offset
    - args
    argTypes:
    - size_t
    - AllocatorArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: AllocateBaseCase
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 1
    functionsReached:
    - operator new
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE AllocateBaseCase(\n    size_t offset, const
      AllocatorArgs &args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AllocateBaseCase
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:74,1
    - Dst: AllocateRecursive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - offset
    - recursion_depth
    - args
    argTypes:
    - size_t
    - size_t
    - AllocatorArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: AllocateRecursive
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 3
    functionsReached:
    - AllocateRecursive
    - AllocateBaseCase
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE AllocateRecursive(\n    size_t offset, size_t
      recursion_depth, const AllocatorArgs &args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - offset
    - args
    argTypes:
    - size_t
    - AllocatorArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: DeallocBaseCase
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE DeallocBaseCase(\n    size_t offset, const
      AllocatorArgs &args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeallocBaseCase
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:90,1
    - Dst: DeallocRecursive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - offset
    - recursion_depth
    - args
    argTypes:
    - size_t
    - size_t
    - AllocatorArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: DeallocRecursive
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 3
    functionsReached:
    - DeallocRecursive
    - DeallocBaseCase
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE DeallocRecursive(\n    size_t offset, size_t
      recursion_depth, const AllocatorArgs &args)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:106,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:107,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:109,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:109,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:114,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:115,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:118,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:119,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:120,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:121,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:122,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:123,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:126,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:129,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:133,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:134,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:135,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:136,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:137,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:138,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:139,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:140,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:141,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:142,1
    - Dst: log_optional_bool
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:143,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:145,1
    - Dst: log_optional_bool
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:146,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:147,1
    - Dst: log_optional_bool
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:148,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:149,1
    - Dst: log_optional_bool
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:150,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 2
    argNames:
    - p
    - e
    argTypes:
    - Params
    - tcmalloc::Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 153
    functionName: testEntry
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 1
    functionsReached:
    - log_optional_bool
    - absl::ZeroDuration
    - EXPECT_GE
    - EXPECT_LE
    - has_value
    - value
    - LOG
    linkageType: ''
    returnType: void
    signature: void testEntry(Params &p, const tcmalloc::Profile::Sample &e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:159,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:160,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:166,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:167,1
    - Dst: absl::GetCurrentTimeNanos
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:168,1
    - Dst: DeallocationzTest::AllocDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:169,1
    - Dst: absl::GetCurrentTimeNanos
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:170,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:171,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:172,1
    - Dst: tcmalloc::Profile::Type
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:172,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:176,1
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:185,1
    - Dst: testEntry
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:186,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:203,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:211,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:221,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 233
    functionName: DeallocationzTest::Run
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::Profile::Iterate
    - resize
    - CheckerIsActive
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - EXPECT_GE
    - EXPECT_LE
    - DeallocationzTest::AllocDealloc
    - testEntry
    - tcmalloc::Profile::Type
    - LOG
    - ASSERT_EQ
    - std::move
    - absl::Nanoseconds
    - absl::GetCurrentTimeNanos
    linkageType: ''
    returnType: void
    signature: void Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:238,1
    - Dst: DeallocationzTest::Allocate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: DeallocationzTest::RunAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - DeallocationzTest::Allocate
    - resize
    linkageType: ''
    returnType: void
    signature: void RunAlloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:245,1
    - Dst: DeallocationzTest::Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 4
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: DeallocationzTest::RunDelloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - resize
    - DeallocationzTest::Deallocate
    linkageType: ''
    returnType: void
    signature: void RunDelloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeallocationzTest::Allocate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:251,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:253,1
    - Dst: DeallocationzTest::Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 4
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: DeallocationzTest::AllocDealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - DeallocationzTest::Allocate
    - DeallocationzTest::Deallocate
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void AllocDealloc()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllocateRecursive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:264,1
    - Dst: DeallocationzTest::Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:280,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:283,1
    - Dst: DeallocationzTest::Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:283,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 288
    functionName: DeallocationzTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 4
    functionsReached:
    - join
    - std::vector::emplace_back
    - AllocateRecursive
    - DeallocationzTest::Run
    linkageType: ''
    returnType: void
    signature: void Allocate()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DeallocRecursive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:297,1
    - Dst: DeallocationzTest::Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:323,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:325,1
    - Dst: DeallocationzTest::Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:327,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 331
    functionName: DeallocationzTest::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 4
    functionsReached:
    - join
    - std::vector::emplace_back
    - DeallocRecursive
    - DeallocationzTest::Run
    linkageType: ''
    returnType: void
    signature: void Deallocate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:351,1
    - Dst: Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 355
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - Run
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, SingleThreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:364,1
    - Dst: Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 368
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - Run
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, MultiThreaded)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:372,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:373,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:376,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:377,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:378,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:378,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:379,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:381,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:381,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:381,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:382,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:382,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:383,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:383,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:383,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:384,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:384,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 385
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - CheckerIsActive
    - absl::SleepFor
    - EXPECT_GT
    - absl::Milliseconds
    - LOG
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, ConcurrentDeallocationSamples)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:390,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:391,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:395,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:396,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:396,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:397,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:399,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:400,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:400,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:401,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:401,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:401,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:402,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 404
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - CheckerIsActive
    - absl::SleepFor
    - EXPECT_GT
    - absl::Milliseconds
    - LOG
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, MultipleAllocationPeriods)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:414,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:415,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:416,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:416,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:417,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:418,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:418,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 423
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - absl::SleepFor
    - std::vector::emplace_back
    - absl::Milliseconds
    - std::move
    - join
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, ConcurrentProfilerRequests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:426,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:433,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:440,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:441,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:442,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:443,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:443,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:445,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:448,1
    - Dst: RunAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:449,1
    - Dst: RunDelloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:450,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:451,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:451,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 455
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - std::atomic::load
    - absl::SleepFor
    - std::thread::join
    - RunAlloc
    - std::atomic::store
    - absl::Milliseconds
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - RunDelloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, ConcurrentProfilerEnableDisable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:460,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:461,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:468,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:472,1
    - Dst: RunAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:473,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:474,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:474,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:474,1
    - Dst: RunDelloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 476
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - CheckerIsActive
    - RunAlloc
    - EXPECT_GT
    - LOG
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - RunDelloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, ObserveAllocationButNotDeallocation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:481,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:482,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:489,1
    - Dst: RunAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:493,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:494,1
    - Dst: RunDelloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:495,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:496,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:496,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 497
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - CheckerIsActive
    - RunAlloc
    - EXPECT_GT
    - LOG
    - std::move
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - RunDelloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, ObserveDeallocationButNotAllocation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:502,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - depth
    - size
    argTypes:
    - int
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 506
    functionName: SingleAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 5
    functionsReached:
    - SingleAlloc
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE *SingleAlloc(\n    int depth, uintptr_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:511,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - depth
    - ptr
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 515
    functionName: SingleDealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 5
    functionsReached:
    - ::operator delete
    - SingleDealloc
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE SingleDealloc(\n    int depth, void *ptr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:520,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:526,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:533,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:538,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:539,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:540,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:544,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:545,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:546,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:549,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:549,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:551,1
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:571,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:572,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:575,1
    - Dst: Counters::counts::push_back
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:587,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:590,1
    - Dst: allocator_deallocator_physical_cpu_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:590,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:591,1
    - Dst: allocator_deallocator_virtual_cpu_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:591,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:592,1
    - Dst: allocator_deallocator_l3_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:592,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:593,1
    - Dst: allocator_deallocator_numa_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:593,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:594,1
    - Dst: allocator_deallocator_thread_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:594,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:595,1
    - Dst: allocator_deallocator_thread_matched::value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:595,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:604,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:605,1
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:610,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:615,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:620,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:623,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:624,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:628,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:629,1
    - Dst: Counters::counts::size
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:633,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 635
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - allocator_deallocator_numa_matched::has_value
    - absl::Microseconds
    - allocator_deallocator_virtual_cpu_matched::has_value
    - Counters::counts::push_back
    - allocator_deallocator_physical_cpu_matched::has_value
    - SingleAlloc
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - tcmalloc::Profile::Iterate
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - CheckerIsActive
    - allocator_deallocator_l3_matched::has_value
    - Counters::counts::size
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - EXPECT_LE
    - ASSERT_TRUE
    - absl::Symbolize
    - allocator_deallocator_thread_matched::value
    - std::move
    - SingleDealloc
    - absl::SleepFor
    - absl::StrContains
    - EXPECT_GE
    - allocator_deallocator_thread_matched::has_value
    linkageType: ''
    returnType: void
    signature: void TEST(LifetimeProfiler, BasicCounterValues)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:638,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:646,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:648,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:649,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:651,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:652,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:653,1
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:659,1
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:664,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:665,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:669,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:686,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:689,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:690,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:691,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 692
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::Profile::Iterate
    - CheckerIsActive
    - absl::SleepFor
    - EXPECT_EQ
    - absl::StrContains
    - EXPECT_GE
    - absl::Symbolize
    - ASSERT_EQ
    - absl::Milliseconds
    - SingleAlloc
    - std::move
    - SingleDealloc
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST(LifetimeProfiler, RecordLiveAllocations)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:695,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:703,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:706,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:708,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:711,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:713,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:714,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:717,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:718,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:722,1
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:723,1
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:728,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:729,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:741,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 750
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::Profile::Iterate
    - CheckerIsActive
    - absl::SleepFor
    - EXPECT_EQ
    - absl::StrContains
    - ASSERT_TRUE
    - absl::Symbolize
    - ASSERT_EQ
    - ASSERT_NO_FATAL_FAILURE
    - absl::Milliseconds
    - SingleAlloc
    - std::move
    - SingleDealloc
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    linkageType: ''
    returnType: void
    signature: void TEST(LifetimeProfiler, RecordCensoredAllocations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LifetimeNsToBucketedDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:759,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:759,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:760,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:760,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:760,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:761,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:761,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:761,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:762,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:762,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:762,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:763,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:763,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:763,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:764,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:764,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:764,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:765,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:765,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:766,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:766,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:766,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:767,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:767,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:767,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:768,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:768,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:768,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:769,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:769,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 770
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - absl::Nanoseconds
    - BucketizeDuration
    - LifetimeNsToBucketedDuration
    linkageType: ''
    returnType: void
    signature: void TEST(LifetimeProfiler, LifetimeBucketing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:48,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: tcmalloc::DumpHeapStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - absl::FPrintF
    - tcmalloc::MallocExtension::GetStats
    linkageType: ''
    returnType: void
    signature: void DumpHeapStats(absl::string_view label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:56,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tcmalloc::LimitTest::LimitTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - reserve
    linkageType: ''
    returnType: void
    signature: void LimitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:66,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:70,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: tcmalloc::LimitTest::ReleaseMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void ReleaseMemory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - MallocExtension::LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: tcmalloc::LimitTest::GetLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetMemoryLimit
    linkageType: ''
    returnType: size_t
    signature: size_t GetLimit(MallocExtension::LimitKind limit_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:80,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:82,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: tcmalloc::LimitTest::malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - posix_memalign
    linkageType: ''
    returnType: void
    signature: void * malloc_pages(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: tcmalloc::LimitTest::physical_memory_used
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: size_t
    signature: size_t physical_memory_used()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:93,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:94,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:95,1
    - Dst: TCMalloc_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:97,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:98,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: tcmalloc::LimitTest::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - erase
    - data
    - resize
    - capacity
    - absl::string_view
    - TCMalloc_Internal_GetStats
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:105,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:106,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:107,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:109,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:110,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: tcmalloc::LimitTest::GetStatsInPbTxt
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - data
    - resize
    - erase
    - capacity
    - absl::string_view
    - MallocExtension_Internal_GetStatsInPbtxt
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetStatsInPbTxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:121,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:122,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:124,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LimitZeroMeansNoLimit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testing::UnitTest::GetInstance
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:133,1
    - Dst: tcmalloc::LimitTest::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:135,1
    - Dst: tcmalloc::LimitTest::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:136,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:141,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:142,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:143,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:145,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:146,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:147,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:150,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:151,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:151,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:152,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:153,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:155,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:156,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:168,1
    - Dst: tcmalloc::LimitTest::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:168,1
    - Dst: DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:171,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:177,1
    - Dst: DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:183,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:189,1
    - Dst: tcmalloc::LimitTest::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:189,1
    - Dst: DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:192,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:195,1
    - Dst: tcmalloc::LimitTest::physical_memory_used
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:195,1
    - Dst: tcmalloc::LimitTest::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:197,1
    - Dst: tcmalloc::LimitTest::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:200,1
    - Dst: AllOf
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:202,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:202,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:204,1
    - Dst: AllOf
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:206,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:206,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:208,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:210,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:210,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:211,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:213,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:216,1
    - Dst: exit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:220,1
    - Dst: testing::Test::HasFailure
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 221
    functionName: tcmalloc::LimitTest::LimitRespected
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - DumpHeapStats
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::LimitTest::malloc_pages
    - std::vector::push_back
    - AllOf
    - exit
    - tcmalloc::LimitTest::GetStatsInPbTxt
    - testing::Test::HasFailure
    - EXPECT_THAT
    - EXPECT_LE
    - testing::UnitTest::GetInstance
    - HasSubstr
    - absl::SNPrintF
    - ContainsRegex
    - tcmalloc::LimitTest::physical_memory_used
    - tcmalloc::LimitTest::GetStats
    - free
    linkageType: ''
    returnType: void
    signature: void LimitTest::LimitRespected()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EXIT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:226,1
    - Dst: LimitRespected
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:226,1
    - Dst: testing::ExitedWithCode
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - LimitRespected
    - testing::ExitedWithCode
    - EXPECT_EXIT
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LimitRespected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:230,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:233,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, HardLimitZeroEqNoLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:238,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:240,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:241,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:246,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:246,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:248,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:249,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:249,1
    - Dst: ASSERT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:251,1
    - Dst: tcmalloc::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:251,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:253,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 255
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetMemoryLimit
    - GetStats
    - EXPECT_TRUE
    - absl::StrContains
    - tcmalloc_internal::max
    - ASSERT_DEATH
    - absl::SNPrintF
    - tcmalloc::malloc_pages
    - tcmalloc::GetStatsInPbTxt
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitDeathTest, HardLimitRespected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:259,1
    - Dst: TCMalloc_Internal_SetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:260,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:261,1
    - Dst: TCMalloc_Internal_GetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:261,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:263,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:264,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:267,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:268,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:268,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:270,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:271,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:271,1
    - Dst: ASSERT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:273,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:283,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:283,1
    - Dst: tcmalloc::DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:285,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:286,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:288,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:289,1
    - Dst: tcmalloc::DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:291,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:293,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:293,1
    - Dst: tcmalloc::DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:295,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:296,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:297,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:297,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:298,1
    - Dst: tcmalloc::DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:300,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:303,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 305
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - std::vector::back
    - HasSubstr
    - absl::SNPrintF
    - ::operator delete
    - tcmalloc::DumpHeapStats
    - TCMalloc_Internal_GetHPAASubrelease
    - ASSERT_DEATH
    - std::vector::pop_back
    - EXPECT_FALSE
    - TCMalloc_Internal_SetHPAASubrelease
    - tcmalloc_internal::max
    - std::vector::empty
    - tcmalloc::GetStatsInPbTxt
    - tcmalloc::MallocExtension::SetMemoryLimit
    - std::vector::push_back
    - std::vector::size
    - EXPECT_THAT
    - static_cast<void*>
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitDeathTest, HardLimitRespectsNoSubrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_GetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:312,1
    - Dst: TCMalloc_Internal_SetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:313,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:314,1
    - Dst: TCMalloc_Internal_GetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:314,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:315,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:321,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:322,1
    - Dst: TCMalloc_Internal_SetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetMemoryLimit
    - TCMalloc_Internal_GetHPAASubrelease
    - EXPECT_TRUE
    - ::operator new
    - ::operator delete
    - TCMalloc_Internal_SetHPAASubrelease
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LifetimeAllocatorPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::UnitTest::GetInstance
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:329,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:337,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:340,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:346,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:349,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:349,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:357,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:358,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:360,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:361,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:365,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:367,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:371,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:374,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:378,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:380,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:384,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:385,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:391,1
    - Dst: exit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:394,1
    - Dst: testing::Test::HasFailure
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 395
    functionName: tcmalloc::LimitTest::LimitChangeTriggersReleaseSmallAllocs
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - resize
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::MallocExtension::GetNumericProperty
    - exit
    - size
    - EXPECT_GE
    - EXPECT_LT
    - testing::UnitTest::GetInstance
    - push_back
    - reinterpret_cast<uintptr_t>
    - ::operator delete
    - absl::flat_hash_map::reserve
    - testing::Test::HasFailure
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LimitTest::LimitChangeTriggersReleaseSmallAllocs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EXIT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:400,1
    - Dst: LimitChangeTriggersReleaseSmallAllocs
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:400,1
    - Dst: testing::ExitedWithCode
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - testing::ExitedWithCode
    - LimitChangeTriggersReleaseSmallAllocs
    - EXPECT_EXIT
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LimitChangeTriggersReleaseSmallAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::UnitTest::GetInstance
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:406,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:414,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:417,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:417,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:420,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:422,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:425,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:429,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:431,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:435,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:436,1
    - Dst: exit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:441,1
    - Dst: testing::Test::HasFailure
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 442
    functionName: tcmalloc::LimitTest::LimitChangeTriggersReleaseLargeAllocs
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::MallocExtension::GetNumericProperty
    - EXPECT_LT
    - EXPECT_GE
    - testing::UnitTest::GetInstance
    - exit
    - ::operator delete
    - testing::Test::HasFailure
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LimitTest::LimitChangeTriggersReleaseLargeAllocs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EXIT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:447,1
    - Dst: LimitChangeTriggersReleaseLargeAllocs
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:447,1
    - Dst: testing::ExitedWithCode
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - LimitChangeTriggersReleaseLargeAllocs
    - testing::ExitedWithCode
    - EXPECT_EXIT
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LimitChangeTriggersReleaseLargeAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:453,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:457,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:459,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:464,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:464,1
    - Dst: exit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:467,1
    - Dst: testing::Test::HasFailure
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 468
    functionName: tcmalloc::LimitTest::ExceedingSoftLimitDoesntCrashWithHardLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::MallocExtension::GetNumericProperty
    - exit
    - ::operator delete
    - testing::Test::HasFailure
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LimitTest::ExceedingSoftLimitDoesntCrashWithHardLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EXIT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:473,1
    - Dst: ExceedingSoftLimitDoesntCrashWithHardLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:473,1
    - Dst: testing::ExitedWithCode
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 475
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - testing::ExitedWithCode
    - ExceedingSoftLimitDoesntCrashWithHardLimit
    - EXPECT_EXIT
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, ExceedingSoftLimitDoesntCrashWithHardLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:48,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: tcmalloc::DumpHeapStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 1
    functionsReached:
    - absl::FPrintF
    - tcmalloc::MallocExtension::GetStats
    linkageType: ''
    returnType: void
    signature: void DumpHeapStats(absl::string_view label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:56,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tcmalloc::LimitTest::LimitTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - reserve
    linkageType: ''
    returnType: void
    signature: void LimitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:66,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:70,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: tcmalloc::LimitTest::ReleaseMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void ReleaseMemory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - MallocExtension::LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: tcmalloc::LimitTest::GetLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetMemoryLimit
    linkageType: ''
    returnType: size_t
    signature: size_t GetLimit(MallocExtension::LimitKind limit_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:80,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:82,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: tcmalloc::LimitTest::malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 1
    functionsReached:
    - TC_CHECK_EQ
    - posix_memalign
    linkageType: ''
    returnType: void
    signature: void * malloc_pages(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: tcmalloc::LimitTest::physical_memory_used
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: size_t
    signature: size_t physical_memory_used()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:93,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:94,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:95,1
    - Dst: TCMalloc_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:97,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:98,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: tcmalloc::LimitTest::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 1
    functionsReached:
    - erase
    - data
    - resize
    - capacity
    - absl::string_view
    - TCMalloc_Internal_GetStats
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:105,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:106,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:107,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:109,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:110,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: tcmalloc::LimitTest::GetStatsInPbTxt
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 1
    functionsReached:
    - data
    - resize
    - erase
    - capacity
    - absl::string_view
    - MallocExtension_Internal_GetStatsInPbtxt
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetStatsInPbTxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:121,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:122,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:124,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LimitZeroMeansNoLimit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testing::UnitTest::GetInstance
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:133,1
    - Dst: tcmalloc::LimitTest::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:135,1
    - Dst: tcmalloc::LimitTest::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:136,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:141,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:142,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:143,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:145,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:146,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:147,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:150,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:151,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:151,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:152,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:153,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:155,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:156,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:168,1
    - Dst: tcmalloc::LimitTest::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:168,1
    - Dst: DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:171,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:177,1
    - Dst: DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:183,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:189,1
    - Dst: tcmalloc::LimitTest::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:189,1
    - Dst: DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:192,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:195,1
    - Dst: tcmalloc::LimitTest::physical_memory_used
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:195,1
    - Dst: tcmalloc::LimitTest::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:197,1
    - Dst: tcmalloc::LimitTest::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:200,1
    - Dst: AllOf
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:202,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:202,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:204,1
    - Dst: AllOf
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:206,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:206,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:208,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:210,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:210,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:211,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:213,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:216,1
    - Dst: exit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:220,1
    - Dst: testing::Test::HasFailure
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 221
    functionName: tcmalloc::LimitTest::LimitRespected
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - DumpHeapStats
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::LimitTest::malloc_pages
    - std::vector::push_back
    - AllOf
    - exit
    - tcmalloc::LimitTest::GetStatsInPbTxt
    - testing::Test::HasFailure
    - EXPECT_THAT
    - EXPECT_LE
    - testing::UnitTest::GetInstance
    - HasSubstr
    - absl::SNPrintF
    - ContainsRegex
    - tcmalloc::LimitTest::physical_memory_used
    - tcmalloc::LimitTest::GetStats
    - free
    linkageType: ''
    returnType: void
    signature: void LimitTest::LimitRespected()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EXIT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:226,1
    - Dst: LimitRespected
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:226,1
    - Dst: testing::ExitedWithCode
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - LimitRespected
    - testing::ExitedWithCode
    - EXPECT_EXIT
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LimitRespected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:230,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:233,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, HardLimitZeroEqNoLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:238,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:240,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:241,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:246,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:246,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:248,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:249,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:249,1
    - Dst: ASSERT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:251,1
    - Dst: tcmalloc::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:251,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:253,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 255
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetMemoryLimit
    - GetStats
    - EXPECT_TRUE
    - absl::StrContains
    - tcmalloc_internal::max
    - ASSERT_DEATH
    - absl::SNPrintF
    - tcmalloc::malloc_pages
    - tcmalloc::GetStatsInPbTxt
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitDeathTest, HardLimitRespected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:259,1
    - Dst: TCMalloc_Internal_SetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:260,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:261,1
    - Dst: TCMalloc_Internal_GetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:261,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:263,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:264,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:267,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:268,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:268,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:270,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:271,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:271,1
    - Dst: ASSERT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:273,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:283,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:283,1
    - Dst: tcmalloc::DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:285,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:286,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:288,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:289,1
    - Dst: tcmalloc::DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:291,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:293,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:293,1
    - Dst: tcmalloc::DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:295,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:296,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:297,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:297,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:298,1
    - Dst: tcmalloc::DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:300,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:303,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 305
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - std::vector::back
    - HasSubstr
    - absl::SNPrintF
    - ::operator delete
    - tcmalloc::DumpHeapStats
    - TCMalloc_Internal_GetHPAASubrelease
    - ASSERT_DEATH
    - std::vector::pop_back
    - EXPECT_FALSE
    - TCMalloc_Internal_SetHPAASubrelease
    - tcmalloc_internal::max
    - std::vector::empty
    - tcmalloc::GetStatsInPbTxt
    - tcmalloc::MallocExtension::SetMemoryLimit
    - std::vector::push_back
    - std::vector::size
    - EXPECT_THAT
    - static_cast<void*>
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitDeathTest, HardLimitRespectsNoSubrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_GetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:312,1
    - Dst: TCMalloc_Internal_SetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:313,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:314,1
    - Dst: TCMalloc_Internal_GetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:314,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:315,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:321,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:322,1
    - Dst: TCMalloc_Internal_SetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetMemoryLimit
    - TCMalloc_Internal_GetHPAASubrelease
    - EXPECT_TRUE
    - ::operator new
    - ::operator delete
    - TCMalloc_Internal_SetHPAASubrelease
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LifetimeAllocatorPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::UnitTest::GetInstance
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:329,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:337,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:340,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:346,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:349,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:349,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:357,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:358,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:360,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:361,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:365,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:367,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:371,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:374,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:378,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:380,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:384,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:385,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:391,1
    - Dst: exit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:394,1
    - Dst: testing::Test::HasFailure
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 395
    functionName: tcmalloc::LimitTest::LimitChangeTriggersReleaseSmallAllocs
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - resize
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::MallocExtension::GetNumericProperty
    - exit
    - size
    - EXPECT_GE
    - EXPECT_LT
    - testing::UnitTest::GetInstance
    - push_back
    - reinterpret_cast<uintptr_t>
    - ::operator delete
    - absl::flat_hash_map::reserve
    - testing::Test::HasFailure
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LimitTest::LimitChangeTriggersReleaseSmallAllocs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EXIT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:400,1
    - Dst: LimitChangeTriggersReleaseSmallAllocs
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:400,1
    - Dst: testing::ExitedWithCode
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - testing::ExitedWithCode
    - LimitChangeTriggersReleaseSmallAllocs
    - EXPECT_EXIT
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LimitChangeTriggersReleaseSmallAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::UnitTest::GetInstance
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:406,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:414,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:417,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:417,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:420,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:422,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:425,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:429,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:431,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:435,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:436,1
    - Dst: exit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:441,1
    - Dst: testing::Test::HasFailure
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 442
    functionName: tcmalloc::LimitTest::LimitChangeTriggersReleaseLargeAllocs
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::MallocExtension::GetNumericProperty
    - EXPECT_LT
    - EXPECT_GE
    - testing::UnitTest::GetInstance
    - exit
    - ::operator delete
    - testing::Test::HasFailure
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LimitTest::LimitChangeTriggersReleaseLargeAllocs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EXIT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:447,1
    - Dst: LimitChangeTriggersReleaseLargeAllocs
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:447,1
    - Dst: testing::ExitedWithCode
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - LimitChangeTriggersReleaseLargeAllocs
    - testing::ExitedWithCode
    - EXPECT_EXIT
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LimitChangeTriggersReleaseLargeAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:453,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:457,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:459,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:464,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:464,1
    - Dst: exit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:467,1
    - Dst: testing::Test::HasFailure
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 468
    functionName: tcmalloc::LimitTest::ExceedingSoftLimitDoesntCrashWithHardLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::MallocExtension::GetNumericProperty
    - exit
    - ::operator delete
    - testing::Test::HasFailure
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LimitTest::ExceedingSoftLimitDoesntCrashWithHardLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EXIT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:473,1
    - Dst: ExceedingSoftLimitDoesntCrashWithHardLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:473,1
    - Dst: testing::ExitedWithCode
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 475
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - testing::ExitedWithCode
    - ExceedingSoftLimitDoesntCrashWithHardLimit
    - EXPECT_EXIT
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, ExceedingSoftLimitDoesntCrashWithHardLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:48,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: tcmalloc::DumpHeapStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 2
    functionsReached:
    - absl::FPrintF
    - tcmalloc::MallocExtension::GetStats
    linkageType: ''
    returnType: void
    signature: void DumpHeapStats(absl::string_view label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:56,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tcmalloc::LimitTest::LimitTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - reserve
    linkageType: ''
    returnType: void
    signature: void LimitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:66,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:70,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: tcmalloc::LimitTest::ReleaseMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void ReleaseMemory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - MallocExtension::LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: tcmalloc::LimitTest::GetLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetMemoryLimit
    linkageType: ''
    returnType: size_t
    signature: size_t GetLimit(MallocExtension::LimitKind limit_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:80,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:82,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: tcmalloc::LimitTest::malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 2
    functionsReached:
    - TC_CHECK_EQ
    - posix_memalign
    linkageType: ''
    returnType: void
    signature: void * malloc_pages(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: tcmalloc::LimitTest::physical_memory_used
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: size_t
    signature: size_t physical_memory_used()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:93,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:94,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:95,1
    - Dst: TCMalloc_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:97,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:98,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: tcmalloc::LimitTest::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 2
    functionsReached:
    - erase
    - data
    - resize
    - capacity
    - absl::string_view
    - TCMalloc_Internal_GetStats
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:105,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:106,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:107,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:109,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:110,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: tcmalloc::LimitTest::GetStatsInPbTxt
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 2
    functionsReached:
    - data
    - resize
    - erase
    - capacity
    - absl::string_view
    - MallocExtension_Internal_GetStatsInPbtxt
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetStatsInPbTxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:121,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:122,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:124,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LimitZeroMeansNoLimit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testing::UnitTest::GetInstance
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:133,1
    - Dst: tcmalloc::LimitTest::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:135,1
    - Dst: tcmalloc::LimitTest::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:136,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:141,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:142,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:143,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:145,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:146,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:147,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:150,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:151,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:151,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:152,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:153,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:155,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:156,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:168,1
    - Dst: tcmalloc::LimitTest::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:168,1
    - Dst: DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:171,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:177,1
    - Dst: DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:183,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:189,1
    - Dst: tcmalloc::LimitTest::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:189,1
    - Dst: DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:192,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:195,1
    - Dst: tcmalloc::LimitTest::physical_memory_used
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:195,1
    - Dst: tcmalloc::LimitTest::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:197,1
    - Dst: tcmalloc::LimitTest::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:200,1
    - Dst: AllOf
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:202,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:202,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:204,1
    - Dst: AllOf
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:206,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:206,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:208,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:210,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:210,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:211,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:213,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:216,1
    - Dst: exit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:220,1
    - Dst: testing::Test::HasFailure
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 221
    functionName: tcmalloc::LimitTest::LimitRespected
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - DumpHeapStats
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::LimitTest::malloc_pages
    - std::vector::push_back
    - AllOf
    - exit
    - tcmalloc::LimitTest::GetStatsInPbTxt
    - testing::Test::HasFailure
    - EXPECT_THAT
    - EXPECT_LE
    - testing::UnitTest::GetInstance
    - HasSubstr
    - absl::SNPrintF
    - ContainsRegex
    - tcmalloc::LimitTest::physical_memory_used
    - tcmalloc::LimitTest::GetStats
    - free
    linkageType: ''
    returnType: void
    signature: void LimitTest::LimitRespected()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EXIT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:226,1
    - Dst: LimitRespected
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:226,1
    - Dst: testing::ExitedWithCode
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - LimitRespected
    - testing::ExitedWithCode
    - EXPECT_EXIT
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LimitRespected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:230,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:233,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, HardLimitZeroEqNoLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:238,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:240,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:241,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:246,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:246,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:248,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:249,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:249,1
    - Dst: ASSERT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:251,1
    - Dst: tcmalloc::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:251,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:253,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 255
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetMemoryLimit
    - GetStats
    - EXPECT_TRUE
    - absl::StrContains
    - tcmalloc_internal::max
    - ASSERT_DEATH
    - absl::SNPrintF
    - tcmalloc::malloc_pages
    - tcmalloc::GetStatsInPbTxt
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitDeathTest, HardLimitRespected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:259,1
    - Dst: TCMalloc_Internal_SetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:260,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:261,1
    - Dst: TCMalloc_Internal_GetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:261,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:263,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:264,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:267,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:268,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:268,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:270,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:271,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:271,1
    - Dst: ASSERT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:273,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:283,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:283,1
    - Dst: tcmalloc::DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:285,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:286,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:288,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:289,1
    - Dst: tcmalloc::DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:291,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:293,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:293,1
    - Dst: tcmalloc::DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:295,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:296,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:297,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:297,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:298,1
    - Dst: tcmalloc::DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:300,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:303,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 305
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - std::vector::back
    - HasSubstr
    - absl::SNPrintF
    - ::operator delete
    - tcmalloc::DumpHeapStats
    - TCMalloc_Internal_GetHPAASubrelease
    - ASSERT_DEATH
    - std::vector::pop_back
    - EXPECT_FALSE
    - TCMalloc_Internal_SetHPAASubrelease
    - tcmalloc_internal::max
    - std::vector::empty
    - tcmalloc::GetStatsInPbTxt
    - tcmalloc::MallocExtension::SetMemoryLimit
    - std::vector::push_back
    - std::vector::size
    - EXPECT_THAT
    - static_cast<void*>
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitDeathTest, HardLimitRespectsNoSubrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_GetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:312,1
    - Dst: TCMalloc_Internal_SetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:313,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:314,1
    - Dst: TCMalloc_Internal_GetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:314,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:315,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:321,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:322,1
    - Dst: TCMalloc_Internal_SetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetMemoryLimit
    - TCMalloc_Internal_GetHPAASubrelease
    - EXPECT_TRUE
    - ::operator new
    - ::operator delete
    - TCMalloc_Internal_SetHPAASubrelease
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LifetimeAllocatorPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::UnitTest::GetInstance
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:329,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:337,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:340,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:346,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:349,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:349,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:357,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:358,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:360,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:361,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:365,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:367,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:371,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:374,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:378,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:380,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:384,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:385,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:391,1
    - Dst: exit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:394,1
    - Dst: testing::Test::HasFailure
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 395
    functionName: tcmalloc::LimitTest::LimitChangeTriggersReleaseSmallAllocs
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - resize
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::MallocExtension::GetNumericProperty
    - exit
    - size
    - EXPECT_GE
    - EXPECT_LT
    - testing::UnitTest::GetInstance
    - push_back
    - reinterpret_cast<uintptr_t>
    - ::operator delete
    - absl::flat_hash_map::reserve
    - testing::Test::HasFailure
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LimitTest::LimitChangeTriggersReleaseSmallAllocs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EXIT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:400,1
    - Dst: LimitChangeTriggersReleaseSmallAllocs
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:400,1
    - Dst: testing::ExitedWithCode
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - testing::ExitedWithCode
    - LimitChangeTriggersReleaseSmallAllocs
    - EXPECT_EXIT
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LimitChangeTriggersReleaseSmallAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::UnitTest::GetInstance
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:406,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:414,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:417,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:417,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:420,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:422,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:425,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:429,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:431,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:435,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:436,1
    - Dst: exit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:441,1
    - Dst: testing::Test::HasFailure
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 442
    functionName: tcmalloc::LimitTest::LimitChangeTriggersReleaseLargeAllocs
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::MallocExtension::GetNumericProperty
    - EXPECT_LT
    - EXPECT_GE
    - testing::UnitTest::GetInstance
    - exit
    - ::operator delete
    - testing::Test::HasFailure
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LimitTest::LimitChangeTriggersReleaseLargeAllocs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EXIT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:447,1
    - Dst: LimitChangeTriggersReleaseLargeAllocs
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:447,1
    - Dst: testing::ExitedWithCode
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - LimitChangeTriggersReleaseLargeAllocs
    - testing::ExitedWithCode
    - EXPECT_EXIT
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LimitChangeTriggersReleaseLargeAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:453,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:457,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:459,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:464,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:464,1
    - Dst: exit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:467,1
    - Dst: testing::Test::HasFailure
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 468
    functionName: tcmalloc::LimitTest::ExceedingSoftLimitDoesntCrashWithHardLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::MallocExtension::GetNumericProperty
    - exit
    - ::operator delete
    - testing::Test::HasFailure
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LimitTest::ExceedingSoftLimitDoesntCrashWithHardLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EXIT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:473,1
    - Dst: ExceedingSoftLimitDoesntCrashWithHardLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:473,1
    - Dst: testing::ExitedWithCode
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 475
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - testing::ExitedWithCode
    - ExceedingSoftLimitDoesntCrashWithHardLimit
    - EXPECT_EXIT
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, ExceedingSoftLimitDoesntCrashWithHardLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:48,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: tcmalloc::DumpHeapStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 3
    functionsReached:
    - absl::FPrintF
    - tcmalloc::MallocExtension::GetStats
    linkageType: ''
    returnType: void
    signature: void DumpHeapStats(absl::string_view label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:56,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tcmalloc::LimitTest::LimitTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - reserve
    linkageType: ''
    returnType: void
    signature: void LimitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:66,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:70,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: tcmalloc::LimitTest::ReleaseMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void ReleaseMemory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - MallocExtension::LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: tcmalloc::LimitTest::GetLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetMemoryLimit
    linkageType: ''
    returnType: size_t
    signature: size_t GetLimit(MallocExtension::LimitKind limit_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:80,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:82,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: tcmalloc::LimitTest::malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 3
    functionsReached:
    - TC_CHECK_EQ
    - posix_memalign
    linkageType: ''
    returnType: void
    signature: void * malloc_pages(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: tcmalloc::LimitTest::physical_memory_used
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: size_t
    signature: size_t physical_memory_used()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:93,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:94,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:95,1
    - Dst: TCMalloc_Internal_GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:97,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:98,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: tcmalloc::LimitTest::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 3
    functionsReached:
    - erase
    - data
    - resize
    - capacity
    - absl::string_view
    - TCMalloc_Internal_GetStats
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:105,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:106,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:107,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:109,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:110,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: tcmalloc::LimitTest::GetStatsInPbTxt
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 3
    functionsReached:
    - data
    - resize
    - erase
    - capacity
    - absl::string_view
    - MallocExtension_Internal_GetStatsInPbtxt
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetStatsInPbTxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:121,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:122,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:124,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LimitZeroMeansNoLimit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testing::UnitTest::GetInstance
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:133,1
    - Dst: tcmalloc::LimitTest::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:135,1
    - Dst: tcmalloc::LimitTest::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:136,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:141,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:142,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:143,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:145,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:146,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:147,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:150,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:151,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:151,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:152,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:153,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:155,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:156,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:168,1
    - Dst: tcmalloc::LimitTest::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:168,1
    - Dst: DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:171,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:177,1
    - Dst: DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:183,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:189,1
    - Dst: tcmalloc::LimitTest::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:189,1
    - Dst: DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:192,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:195,1
    - Dst: tcmalloc::LimitTest::physical_memory_used
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:195,1
    - Dst: tcmalloc::LimitTest::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:197,1
    - Dst: tcmalloc::LimitTest::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:200,1
    - Dst: AllOf
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:202,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:202,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:204,1
    - Dst: AllOf
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:206,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:206,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:208,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:210,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:210,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:211,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:213,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:216,1
    - Dst: exit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:220,1
    - Dst: testing::Test::HasFailure
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 221
    functionName: tcmalloc::LimitTest::LimitRespected
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - DumpHeapStats
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::LimitTest::malloc_pages
    - std::vector::push_back
    - AllOf
    - exit
    - tcmalloc::LimitTest::GetStatsInPbTxt
    - testing::Test::HasFailure
    - EXPECT_THAT
    - EXPECT_LE
    - testing::UnitTest::GetInstance
    - HasSubstr
    - absl::SNPrintF
    - ContainsRegex
    - tcmalloc::LimitTest::physical_memory_used
    - tcmalloc::LimitTest::GetStats
    - free
    linkageType: ''
    returnType: void
    signature: void LimitTest::LimitRespected()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EXIT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:226,1
    - Dst: LimitRespected
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:226,1
    - Dst: testing::ExitedWithCode
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - LimitRespected
    - testing::ExitedWithCode
    - EXPECT_EXIT
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LimitRespected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:230,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:233,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, HardLimitZeroEqNoLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:238,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:240,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:241,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:246,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:246,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:248,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:249,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:249,1
    - Dst: ASSERT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:251,1
    - Dst: tcmalloc::malloc_pages
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:251,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:253,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 255
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetMemoryLimit
    - GetStats
    - EXPECT_TRUE
    - absl::StrContains
    - tcmalloc_internal::max
    - ASSERT_DEATH
    - absl::SNPrintF
    - tcmalloc::malloc_pages
    - tcmalloc::GetStatsInPbTxt
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitDeathTest, HardLimitRespected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:259,1
    - Dst: TCMalloc_Internal_SetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:260,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:261,1
    - Dst: TCMalloc_Internal_GetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:261,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:263,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:264,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:267,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:268,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:268,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:270,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:271,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:271,1
    - Dst: ASSERT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:273,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:283,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:283,1
    - Dst: tcmalloc::DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:285,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:286,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:288,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:289,1
    - Dst: tcmalloc::DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:291,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:293,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:293,1
    - Dst: tcmalloc::DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:295,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:296,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:297,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:297,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:298,1
    - Dst: tcmalloc::DumpHeapStats
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:300,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:303,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 305
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - GetStats
    - std::vector::back
    - HasSubstr
    - absl::SNPrintF
    - ::operator delete
    - tcmalloc::DumpHeapStats
    - TCMalloc_Internal_GetHPAASubrelease
    - ASSERT_DEATH
    - std::vector::pop_back
    - EXPECT_FALSE
    - TCMalloc_Internal_SetHPAASubrelease
    - tcmalloc_internal::max
    - std::vector::empty
    - tcmalloc::GetStatsInPbTxt
    - tcmalloc::MallocExtension::SetMemoryLimit
    - std::vector::push_back
    - std::vector::size
    - EXPECT_THAT
    - static_cast<void*>
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitDeathTest, HardLimitRespectsNoSubrelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMalloc_Internal_GetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:312,1
    - Dst: TCMalloc_Internal_SetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:313,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:314,1
    - Dst: TCMalloc_Internal_GetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:314,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:315,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:321,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:322,1
    - Dst: TCMalloc_Internal_SetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetMemoryLimit
    - TCMalloc_Internal_GetHPAASubrelease
    - EXPECT_TRUE
    - ::operator new
    - ::operator delete
    - TCMalloc_Internal_SetHPAASubrelease
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LifetimeAllocatorPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::UnitTest::GetInstance
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:329,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:337,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:340,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:346,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:349,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:349,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:357,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:358,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:360,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:361,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:365,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:367,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:371,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:374,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:378,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:380,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:384,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:385,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:391,1
    - Dst: exit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:394,1
    - Dst: testing::Test::HasFailure
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 395
    functionName: tcmalloc::LimitTest::LimitChangeTriggersReleaseSmallAllocs
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - resize
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::MallocExtension::GetNumericProperty
    - exit
    - size
    - EXPECT_GE
    - EXPECT_LT
    - testing::UnitTest::GetInstance
    - push_back
    - reinterpret_cast<uintptr_t>
    - ::operator delete
    - absl::flat_hash_map::reserve
    - testing::Test::HasFailure
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LimitTest::LimitChangeTriggersReleaseSmallAllocs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EXIT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:400,1
    - Dst: LimitChangeTriggersReleaseSmallAllocs
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:400,1
    - Dst: testing::ExitedWithCode
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - testing::ExitedWithCode
    - LimitChangeTriggersReleaseSmallAllocs
    - EXPECT_EXIT
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LimitChangeTriggersReleaseSmallAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::UnitTest::GetInstance
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:406,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:414,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:417,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:417,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:420,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:422,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:425,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:429,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:431,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:435,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:436,1
    - Dst: exit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:441,1
    - Dst: testing::Test::HasFailure
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 442
    functionName: tcmalloc::LimitTest::LimitChangeTriggersReleaseLargeAllocs
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::MallocExtension::GetNumericProperty
    - EXPECT_LT
    - EXPECT_GE
    - testing::UnitTest::GetInstance
    - exit
    - ::operator delete
    - testing::Test::HasFailure
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LimitTest::LimitChangeTriggersReleaseLargeAllocs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EXIT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:447,1
    - Dst: LimitChangeTriggersReleaseLargeAllocs
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:447,1
    - Dst: testing::ExitedWithCode
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - LimitChangeTriggersReleaseLargeAllocs
    - testing::ExitedWithCode
    - EXPECT_EXIT
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, LimitChangeTriggersReleaseLargeAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:453,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:457,1
    - Dst: tcmalloc::MallocExtension::SetMemoryLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:459,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:464,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:464,1
    - Dst: exit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:467,1
    - Dst: testing::Test::HasFailure
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 468
    functionName: tcmalloc::LimitTest::ExceedingSoftLimitDoesntCrashWithHardLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::MallocExtension::GetNumericProperty
    - exit
    - ::operator delete
    - testing::Test::HasFailure
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void LimitTest::ExceedingSoftLimitDoesntCrashWithHardLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EXIT
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:473,1
    - Dst: ExceedingSoftLimitDoesntCrashWithHardLimit
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:473,1
    - Dst: testing::ExitedWithCode
      Src: /src/tcmalloc/tcmalloc/testing/limit_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 475
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/limit_test.cc
    functionUses: 0
    functionsReached:
    - testing::ExitedWithCode
    - ExceedingSoftLimitDoesntCrashWithHardLimit
    - EXPECT_EXIT
    linkageType: ''
    returnType: void
    signature: void TEST_F(LimitTest, ExceedingSoftLimitDoesntCrashWithHardLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:40,1
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:42,1
    - Dst: ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' cpu_cache'
    - should_grow
    argTypes:
    - CpuCache
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - RecordCacheMissStat
    - ResizeSlabIfNeeded
    linkageType: ''
    returnType: void
    signature: void ResizeSlab(CpuCache& cpu_cache, bool should_grow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundReleaseRate
    - tcmalloc::MallocExtension::GetBackgroundReleaseRate
    - EXPECT_EQ
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, BackgroundReleaseRate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:68,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:69,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:69,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:70,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:71,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:72,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:72,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:73,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:76,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:77,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:77,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:78,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:79,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:80,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SkipSubreleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:89,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:92,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:97,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:98,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:98,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:99,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:100,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:101,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:101,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
    - tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
    - tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, CacheDemandReleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:108,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:114,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:114,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:164,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:165,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - testing::Eq
    - tcmalloc::MallocExtension::GetNumericProperty
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, Properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:173,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:174,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:179,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:182,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:184,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:185,1
    - Dst: testing::Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:187,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - testing::Gt
    - testing::Field
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, DynamicSlabMallocMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundReleaseRate
    - tcmalloc::MallocExtension::GetBackgroundReleaseRate
    - EXPECT_EQ
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, BackgroundReleaseRate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:68,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:69,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:69,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:70,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:71,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:72,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:72,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:73,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:76,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:77,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:77,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:78,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:79,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:80,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SkipSubreleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:89,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:92,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:97,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:98,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:98,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:99,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:100,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:101,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:101,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
    - tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
    - tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, CacheDemandReleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:108,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:114,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:114,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:164,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:165,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - testing::Eq
    - tcmalloc::MallocExtension::GetNumericProperty
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, Properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:173,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:174,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:179,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:182,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:184,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:185,1
    - Dst: testing::Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:187,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - testing::Gt
    - testing::Field
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, DynamicSlabMallocMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:40,1
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:42,1
    - Dst: ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' cpu_cache'
    - should_grow
    argTypes:
    - CpuCache
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 2
    functionsReached:
    - RecordCacheMissStat
    - ResizeSlabIfNeeded
    linkageType: ''
    returnType: void
    signature: void ResizeSlab(CpuCache& cpu_cache, bool should_grow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundReleaseRate
    - tcmalloc::MallocExtension::GetBackgroundReleaseRate
    - EXPECT_EQ
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, BackgroundReleaseRate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:68,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:69,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:69,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:70,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:71,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:72,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:72,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:73,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:76,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:77,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:77,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:78,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:79,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:80,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SkipSubreleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:89,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:92,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:97,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:98,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:98,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:99,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:100,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:101,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:101,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
    - tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
    - tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, CacheDemandReleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:108,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:114,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:114,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:164,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:165,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - testing::Eq
    - tcmalloc::MallocExtension::GetNumericProperty
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, Properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:173,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:174,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:179,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:182,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:184,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:185,1
    - Dst: testing::Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:187,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - testing::Gt
    - testing::Field
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, DynamicSlabMallocMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundReleaseRate
    - tcmalloc::MallocExtension::GetBackgroundReleaseRate
    - EXPECT_EQ
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, BackgroundReleaseRate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:68,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:69,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:69,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:70,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:71,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:72,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:72,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:73,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:76,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:77,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:77,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:78,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:79,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:80,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SkipSubreleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:89,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:92,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:97,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:98,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:98,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:99,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:100,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:101,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:101,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
    - tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
    - tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, CacheDemandReleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:108,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:114,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:114,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:164,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:165,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - testing::Eq
    - tcmalloc::MallocExtension::GetNumericProperty
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, Properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:173,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:174,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:179,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:182,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:184,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:185,1
    - Dst: testing::Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:187,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - testing::Gt
    - testing::Field
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, DynamicSlabMallocMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:40,1
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:42,1
    - Dst: ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' cpu_cache'
    - should_grow
    argTypes:
    - CpuCache
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 4
    functionsReached:
    - RecordCacheMissStat
    - ResizeSlabIfNeeded
    linkageType: ''
    returnType: void
    signature: void ResizeSlab(CpuCache& cpu_cache, bool should_grow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundReleaseRate
    - tcmalloc::MallocExtension::GetBackgroundReleaseRate
    - EXPECT_EQ
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, BackgroundReleaseRate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:68,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:69,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:69,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:70,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:71,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:72,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:72,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:73,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:76,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:77,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:77,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:78,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:79,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:80,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SkipSubreleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:89,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:92,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:97,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:98,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:98,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:99,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:100,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:101,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:101,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
    - tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
    - tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, CacheDemandReleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:108,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:114,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:114,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:164,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:165,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - testing::Eq
    - tcmalloc::MallocExtension::GetNumericProperty
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, Properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:173,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:174,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:179,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:182,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:184,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:185,1
    - Dst: testing::Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:187,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - testing::Gt
    - testing::Field
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, DynamicSlabMallocMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundReleaseRate
    - tcmalloc::MallocExtension::GetBackgroundReleaseRate
    - EXPECT_EQ
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, BackgroundReleaseRate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:68,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:69,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:69,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:70,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:71,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:72,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:72,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:73,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:76,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:77,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:77,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:78,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:79,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:80,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SkipSubreleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:89,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:92,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:97,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:98,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:98,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:99,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:100,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:101,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:101,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
    - tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
    - tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, CacheDemandReleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:108,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:114,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:114,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:164,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:165,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - testing::Eq
    - tcmalloc::MallocExtension::GetNumericProperty
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, Properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:173,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:174,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:179,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:182,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:184,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:185,1
    - Dst: testing::Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:187,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - testing::Gt
    - testing::Field
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, DynamicSlabMallocMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:40,1
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:42,1
    - Dst: ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' cpu_cache'
    - should_grow
    argTypes:
    - CpuCache
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 6
    functionsReached:
    - RecordCacheMissStat
    - ResizeSlabIfNeeded
    linkageType: ''
    returnType: void
    signature: void ResizeSlab(CpuCache& cpu_cache, bool should_grow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundReleaseRate
    - tcmalloc::MallocExtension::GetBackgroundReleaseRate
    - EXPECT_EQ
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, BackgroundReleaseRate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:68,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:69,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:69,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:70,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:71,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:72,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:72,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:73,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:76,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:77,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:77,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:78,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:79,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:80,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SkipSubreleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:89,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:92,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:97,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:98,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:98,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:99,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:100,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:101,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:101,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
    - tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
    - tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, CacheDemandReleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:108,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:114,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:114,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:164,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:165,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - testing::Eq
    - tcmalloc::MallocExtension::GetNumericProperty
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, Properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:173,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:174,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:179,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:182,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:184,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:185,1
    - Dst: testing::Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:187,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - testing::Gt
    - testing::Field
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, DynamicSlabMallocMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:55,1
    - Dst: tcmalloc::MallocExtension::SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundReleaseRate
    - tcmalloc::MallocExtension::GetBackgroundReleaseRate
    - EXPECT_EQ
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, BackgroundReleaseRate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:68,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:69,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:69,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:70,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:71,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:72,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:72,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:73,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:76,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:77,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:77,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:78,1
    - Dst: tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:79,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:80,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:80,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SkipSubreleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:89,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:92,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:97,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:98,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:98,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:99,1
    - Dst: tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:100,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:101,1
    - Dst: tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:101,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
    - tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
    - tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, CacheDemandReleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:108,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:114,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:114,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:164,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:165,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - testing::Eq
    - tcmalloc::MallocExtension::GetNumericProperty
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, Properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:173,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:174,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:179,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:182,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:184,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:185,1
    - Dst: testing::Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:187,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - testing::Gt
    - testing::Field
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, DynamicSlabMallocMetadata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:54,1
    - Dst: strncmp
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:66,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:72,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:72,1
    - Dst: strncpy
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:74,1
    - Dst: strncmp
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - env_var
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::thread_safe_getenv
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/variants_test.cc
    functionUses: 27
    functionsReached:
    - strlen
    - size
    - TC_CHECK_LT
    - strncmp
    - strncpy
    linkageType: ''
    returnType: char
    signature: char * thread_safe_getenv(const char* env_var)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:54,1
    - Dst: strncmp
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:66,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:72,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:72,1
    - Dst: strncpy
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:74,1
    - Dst: strncmp
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - env_var
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::thread_safe_getenv
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/variants_test.cc
    functionUses: 27
    functionsReached:
    - strlen
    - size
    - TC_CHECK_LT
    - strncmp
    - strncpy
    linkageType: ''
    returnType: char
    signature: char * thread_safe_getenv(const char* env_var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::NullSafeStringView
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:94,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:95,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:96,1
    - Dst: absl::StrSplit
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:99,1
    - Dst: FindExperimentByName
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:100,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:101,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:101,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/variants_test.cc
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    - auto::empty
    - EXPECT_TRUE
    - absl::NullSafeStringView
    - absl::StrSplit
    - tcmalloc_internal::thread_safe_getenv
    - auto::value
    - FindExperimentByName
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocVariant, KnownExperimentVariants)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:111,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:113,1
    - Dst: assign
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:120,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:123,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:128,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:136,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:138,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:141,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:149,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 151
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/variants_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::substr
    - absl::StartsWith
    - assign
    - std::vector::resize
    - absl::flat_hash_set::insert
    - tcmalloc_internal::StackTraceFilter::Contains
    - EXPECT_THAT
    - reserve
    - absl::string_view::find
    - absl::flat_hash_set::contains
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocVariant, KnownEnvironmentVariables)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:155,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:158,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:160,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:163,1
    - Dst: GTEST_SUCCEED
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:164,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 173
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/variants_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SUCCEED
    - syscall
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc_internal::thread_safe_getenv
    - tcmalloc_internal::subtle::percpu::IsFast
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocVariant, GlibcRseq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::NullSafeStringView
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:94,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:95,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:96,1
    - Dst: absl::StrSplit
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:99,1
    - Dst: FindExperimentByName
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:100,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:101,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:101,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/variants_test.cc
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    - auto::empty
    - EXPECT_TRUE
    - absl::NullSafeStringView
    - absl::StrSplit
    - tcmalloc_internal::thread_safe_getenv
    - auto::value
    - FindExperimentByName
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocVariant, KnownExperimentVariants)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:111,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:113,1
    - Dst: assign
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:120,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:123,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:128,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:136,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:138,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:141,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:149,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 151
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/variants_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::substr
    - absl::StartsWith
    - assign
    - std::vector::resize
    - absl::flat_hash_set::insert
    - tcmalloc_internal::StackTraceFilter::Contains
    - EXPECT_THAT
    - reserve
    - absl::string_view::find
    - absl::flat_hash_set::contains
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocVariant, KnownEnvironmentVariables)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:155,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:158,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:160,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:163,1
    - Dst: GTEST_SUCCEED
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:164,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 173
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/variants_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SUCCEED
    - syscall
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc_internal::thread_safe_getenv
    - tcmalloc_internal::subtle::percpu::IsFast
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocVariant, GlibcRseq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:54,1
    - Dst: strncmp
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:66,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:72,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:72,1
    - Dst: strncpy
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:74,1
    - Dst: strncmp
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - env_var
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::thread_safe_getenv
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/variants_test.cc
    functionUses: 27
    functionsReached:
    - strlen
    - size
    - TC_CHECK_LT
    - strncmp
    - strncpy
    linkageType: ''
    returnType: char
    signature: char * thread_safe_getenv(const char* env_var)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:54,1
    - Dst: strncmp
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:66,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:72,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:72,1
    - Dst: strncpy
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:74,1
    - Dst: strncmp
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - env_var
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::thread_safe_getenv
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/variants_test.cc
    functionUses: 27
    functionsReached:
    - strlen
    - size
    - TC_CHECK_LT
    - strncmp
    - strncpy
    linkageType: ''
    returnType: char
    signature: char * thread_safe_getenv(const char* env_var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::NullSafeStringView
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:94,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:95,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:96,1
    - Dst: absl::StrSplit
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:99,1
    - Dst: FindExperimentByName
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:100,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:101,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:101,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/variants_test.cc
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    - auto::empty
    - EXPECT_TRUE
    - absl::NullSafeStringView
    - absl::StrSplit
    - tcmalloc_internal::thread_safe_getenv
    - auto::value
    - FindExperimentByName
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocVariant, KnownExperimentVariants)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:111,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:113,1
    - Dst: assign
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:120,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:123,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:128,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:136,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:138,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:141,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:149,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 151
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/variants_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::substr
    - absl::StartsWith
    - assign
    - std::vector::resize
    - absl::flat_hash_set::insert
    - tcmalloc_internal::StackTraceFilter::Contains
    - EXPECT_THAT
    - reserve
    - absl::string_view::find
    - absl::flat_hash_set::contains
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocVariant, KnownEnvironmentVariables)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:155,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:158,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:160,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:163,1
    - Dst: GTEST_SUCCEED
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:164,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 173
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/variants_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SUCCEED
    - syscall
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc_internal::thread_safe_getenv
    - tcmalloc_internal::subtle::percpu::IsFast
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocVariant, GlibcRseq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::NullSafeStringView
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:94,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:95,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:96,1
    - Dst: absl::StrSplit
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:99,1
    - Dst: FindExperimentByName
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:100,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:101,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:101,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/variants_test.cc
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    - auto::empty
    - EXPECT_TRUE
    - absl::NullSafeStringView
    - absl::StrSplit
    - tcmalloc_internal::thread_safe_getenv
    - auto::value
    - FindExperimentByName
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocVariant, KnownExperimentVariants)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:111,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:113,1
    - Dst: assign
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:120,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:123,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:128,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:136,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:138,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:141,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:149,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 151
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/variants_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::substr
    - absl::StartsWith
    - assign
    - std::vector::resize
    - absl::flat_hash_set::insert
    - tcmalloc_internal::StackTraceFilter::Contains
    - EXPECT_THAT
    - reserve
    - absl::string_view::find
    - absl::flat_hash_set::contains
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocVariant, KnownEnvironmentVariables)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:155,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:158,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:160,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:163,1
    - Dst: GTEST_SUCCEED
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:164,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/variants_test.cc:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 173
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/variants_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SUCCEED
    - syscall
    - GTEST_SKIP
    - EXPECT_EQ
    - tcmalloc_internal::thread_safe_getenv
    - tcmalloc_internal::subtle::percpu::IsFast
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocVariant, GlibcRseq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:45,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: tcmalloc::sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 29
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void sized_delete(void* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:55,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - size
    - alignment
    argTypes:
    - void*
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: tcmalloc::sized_aligned_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 8
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: "void sized_aligned_delete(void* ptr, size_t size,\n                                 std::align_val_t
      alignment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:64,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: tcmalloc::sized_array_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 8
    functionsReached:
    - ::operator delete[]
    linkageType: ''
    returnType: void
    signature: void sized_array_delete(void* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:74,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - size
    - alignment
    argTypes:
    - void*
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: tcmalloc::sized_array_aligned_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 8
    functionsReached:
    - ::operator delete[]
    linkageType: ''
    returnType: void
    signature: "void sized_array_aligned_delete(void* ptr, size_t size,\n                                       std::align_val_t
      alignment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:89,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:90,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:93,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:96,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - temporary_value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: tcmalloc::ScopedProfileSamplingInterval::ScopedProfileSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void ScopedProfileSamplingInterval(int64_t temporary_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:101,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:102,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:105,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: ~ScopedProfileSamplingInterval()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    - benchmark::DoNotOptimize
    - ::operator new
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    linkageType: ''
    returnType: void
    signature: void ~ScopedProfileSamplingInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:117,1
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:118,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:123,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: tcmalloc::ScopedBackgroundProcessActionsEnabled::ScopedBackgroundProcessActionsEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - absl::SleepFor
    - tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    linkageType: ''
    returnType: void
    signature: void ScopedBackgroundProcessActionsEnabled(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: ~ScopedBackgroundProcessActionsEnabled()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
    linkageType: ''
    returnType: void
    signature: void ~ScopedBackgroundProcessActionsEnabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:139,1
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: tcmalloc::ScopedBackgroundProcessSleepInterval::ScopedBackgroundProcessSleepInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
    - tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
    linkageType: ''
    returnType: void
    signature: void ScopedBackgroundProcessSleepInterval(absl::Duration limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: ~ScopedBackgroundProcessSleepInterval()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
    linkageType: ''
    returnType: void
    signature: void ~ScopedBackgroundProcessSleepInterval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTestResourceLimit
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:155,1
    - Dst: SetTestResourceLimit
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: tcmalloc::ScopedResourceLimit::ScopedResourceLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - SetTestResourceLimit
    - GetTestResourceLimit
    linkageType: ''
    returnType: void
    signature: void ScopedResourceLimit(size_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetTestResourceLimit
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ~ScopedResourceLimit()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - SetTestResourceLimit
    linkageType: ''
    returnType: void
    signature: void ~ScopedResourceLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:168,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - temporary_value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: tcmalloc::ScopedGuardedSamplingInterval::ScopedGuardedSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void ScopedGuardedSamplingInterval(int64_t temporary_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: ~ScopedGuardedSamplingInterval()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void ~ScopedGuardedSamplingInterval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: tcmalloc::ScopedNeverSample::ScopedNeverSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedNeverSample()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: tcmalloc::ScopedAlwaysSample::ScopedAlwaysSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedAlwaysSample()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:207,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: tcmalloc::UnregisterRseq
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - syscall
    - TC_BUG
    linkageType: ''
    returnType: void
    signature: void UnregisterRseq()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:223,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:223,1
    - Dst: UnregisterRseq
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:225,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:228,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: tcmalloc::ScopedUnregisterRseq::ScopedUnregisterRseq
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - UnregisterRseq
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ScopedUnregisterRseq()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:234,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: ~ScopedUnregisterRseq()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void ~ScopedUnregisterRseq()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 249
    functionName: tcmalloc::ScopedFakeCpuId::ScopedFakeCpuId
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedFakeCpuId(const int cpu_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: ~ScopedFakeCpuId()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ScopedFakeCpuId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:45,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: tcmalloc::sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 29
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void sized_delete(void* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:55,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - size
    - alignment
    argTypes:
    - void*
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: tcmalloc::sized_aligned_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 8
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: "void sized_aligned_delete(void* ptr, size_t size,\n                                 std::align_val_t
      alignment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:64,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: tcmalloc::sized_array_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 8
    functionsReached:
    - ::operator delete[]
    linkageType: ''
    returnType: void
    signature: void sized_array_delete(void* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:74,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - size
    - alignment
    argTypes:
    - void*
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: tcmalloc::sized_array_aligned_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 8
    functionsReached:
    - ::operator delete[]
    linkageType: ''
    returnType: void
    signature: "void sized_array_aligned_delete(void* ptr, size_t size,\n                                       std::align_val_t
      alignment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:89,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:90,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:93,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:96,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - temporary_value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: tcmalloc::ScopedProfileSamplingInterval::ScopedProfileSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void ScopedProfileSamplingInterval(int64_t temporary_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:101,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:102,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:105,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: ~ScopedProfileSamplingInterval()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    - benchmark::DoNotOptimize
    - ::operator new
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    linkageType: ''
    returnType: void
    signature: void ~ScopedProfileSamplingInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:117,1
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:118,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:123,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: tcmalloc::ScopedBackgroundProcessActionsEnabled::ScopedBackgroundProcessActionsEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - absl::SleepFor
    - tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    linkageType: ''
    returnType: void
    signature: void ScopedBackgroundProcessActionsEnabled(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: ~ScopedBackgroundProcessActionsEnabled()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
    linkageType: ''
    returnType: void
    signature: void ~ScopedBackgroundProcessActionsEnabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:139,1
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: tcmalloc::ScopedBackgroundProcessSleepInterval::ScopedBackgroundProcessSleepInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
    - tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
    linkageType: ''
    returnType: void
    signature: void ScopedBackgroundProcessSleepInterval(absl::Duration limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: ~ScopedBackgroundProcessSleepInterval()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
    linkageType: ''
    returnType: void
    signature: void ~ScopedBackgroundProcessSleepInterval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTestResourceLimit
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:155,1
    - Dst: SetTestResourceLimit
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: tcmalloc::ScopedResourceLimit::ScopedResourceLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - SetTestResourceLimit
    - GetTestResourceLimit
    linkageType: ''
    returnType: void
    signature: void ScopedResourceLimit(size_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetTestResourceLimit
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ~ScopedResourceLimit()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - SetTestResourceLimit
    linkageType: ''
    returnType: void
    signature: void ~ScopedResourceLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:168,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - temporary_value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: tcmalloc::ScopedGuardedSamplingInterval::ScopedGuardedSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void ScopedGuardedSamplingInterval(int64_t temporary_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: ~ScopedGuardedSamplingInterval()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    linkageType: ''
    returnType: void
    signature: void ~ScopedGuardedSamplingInterval()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: tcmalloc::ScopedNeverSample::ScopedNeverSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedNeverSample()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: tcmalloc::ScopedAlwaysSample::ScopedAlwaysSample
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedAlwaysSample()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:207,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: tcmalloc::UnregisterRseq
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - syscall
    - TC_BUG
    linkageType: ''
    returnType: void
    signature: void UnregisterRseq()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:223,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:223,1
    - Dst: UnregisterRseq
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:225,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:228,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: tcmalloc::ScopedUnregisterRseq::ScopedUnregisterRseq
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_EQ
    - UnregisterRseq
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void ScopedUnregisterRseq()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:234,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: ~ScopedUnregisterRseq()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::IsFast
    linkageType: ''
    returnType: void
    signature: void ~ScopedUnregisterRseq()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 249
    functionName: tcmalloc::ScopedFakeCpuId::ScopedFakeCpuId
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedFakeCpuId(const int cpu_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: ~ScopedFakeCpuId()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ScopedFakeCpuId()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:53,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:54,1
    - Dst: getrlimit
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:58,1
    - Dst: setrlimit
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - limit
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 62
    functionName: SetTestResourceLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 4
    functionsReached:
    - static_cast<int64_t>
    - getrlimit
    - setrlimit
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void SetTestResourceLimit(size_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:77,1
    - Dst: getrlimit
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: GetTestResourceLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 2
    functionsReached:
    - TC_CHECK_EQ
    - getrlimit
    linkageType: ''
    returnType: size_t
    signature: size_t GetTestResourceLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::VirtualCpu::TestSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::TestSynchronize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::VirtualCpu::TestSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::TestSynchronize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:96,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:98,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:99,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: tcmalloc::GetStatsInPbTxt
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 8
    functionsReached:
    - TC_CHECK_LE
    - MallocExtension_Internal_GetStatsInPbtxt
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: std::string GetStatsInPbTxt()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:109,1
    - Dst: sqrt
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:109,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:116,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: tcmalloc::AndersonDarlingInf
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 0
    functionsReached:
    - exp
    - sqrt
    linkageType: ''
    returnType: double
    signature: double AndersonDarlingInf(double z)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - n
    - x
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 147
    functionName: tcmalloc::AndersonDarlingErrFix
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: double AndersonDarlingErrFix(int n, double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::AndersonDarlingInf
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:151,1
    - Dst: tcmalloc::AndersonDarlingErrFix
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - z
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: tcmalloc::AndersonDarlingPValue
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::AndersonDarlingErrFix
    - tcmalloc::AndersonDarlingInf
    linkageType: ''
    returnType: double
    signature: double AndersonDarlingPValue(int n, double z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<const double>::size
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:157,1
    - Dst: std::log
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:161,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - random_sample
    argTypes:
    - absl::Span<const double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: tcmalloc::AndersonDarlingStatistic
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 0
    functionsReached:
    - std::log
    - static_cast<double>
    - absl::Span<const double>::size
    linkageType: ''
    returnType: double
    signature: double AndersonDarlingStatistic(absl::Span<const double> random_sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::AndersonDarlingStatistic
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:173,1
    - Dst: tcmalloc::AndersonDarlingPValue
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:174,1
    - Dst: absl::Span<const double>::size
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - random_sample
    argTypes:
    - absl::Span<const double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: tcmalloc::AndersonDarlingTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 0
    functionsReached:
    - absl::Span<const double>::size
    - tcmalloc::AndersonDarlingStatistic
    - tcmalloc::AndersonDarlingPValue
    linkageType: ''
    returnType: double
    signature: double AndersonDarlingTest(absl::Span<const double> random_sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::VirtualCpu::TestSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::TestSynchronize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::subtle::percpu::VirtualCpu::TestSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::TestSynchronize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:96,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:98,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:99,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: tcmalloc::GetStatsInPbTxt
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 8
    functionsReached:
    - TC_CHECK_LE
    - MallocExtension_Internal_GetStatsInPbtxt
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: std::string GetStatsInPbTxt()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:109,1
    - Dst: sqrt
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:109,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:116,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: tcmalloc::AndersonDarlingInf
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 1
    functionsReached:
    - exp
    - sqrt
    linkageType: ''
    returnType: double
    signature: double AndersonDarlingInf(double z)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - n
    - x
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 147
    functionName: tcmalloc::AndersonDarlingErrFix
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 1
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: double AndersonDarlingErrFix(int n, double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::AndersonDarlingInf
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:151,1
    - Dst: tcmalloc::AndersonDarlingErrFix
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - z
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: tcmalloc::AndersonDarlingPValue
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::AndersonDarlingErrFix
    - tcmalloc::AndersonDarlingInf
    linkageType: ''
    returnType: double
    signature: double AndersonDarlingPValue(int n, double z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<const double>::size
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:157,1
    - Dst: std::log
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:161,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - random_sample
    argTypes:
    - absl::Span<const double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: tcmalloc::AndersonDarlingStatistic
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 1
    functionsReached:
    - std::log
    - static_cast<double>
    - absl::Span<const double>::size
    linkageType: ''
    returnType: double
    signature: double AndersonDarlingStatistic(absl::Span<const double> random_sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::AndersonDarlingStatistic
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:173,1
    - Dst: tcmalloc::AndersonDarlingPValue
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:174,1
    - Dst: absl::Span<const double>::size
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - random_sample
    argTypes:
    - absl::Span<const double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: tcmalloc::AndersonDarlingTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 0
    functionsReached:
    - absl::Span<const double>::size
    - tcmalloc::AndersonDarlingStatistic
    - tcmalloc::AndersonDarlingPValue
    linkageType: ''
    returnType: double
    signature: double AndersonDarlingTest(absl::Span<const double> random_sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform<int>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:35,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:36,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:36,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:49,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:49,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:51,1
    - Dst: Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:55,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 61
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform<int>
    - Profile::Iterate
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::vector::push_back
    - EXPECT_EQ
    - SCOPED_TRACE
    - ::operator delete
    - static_cast<int>
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SnapshotCurrentIsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:64,1
    - Dst: absl::LogUniform<int>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:72,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:73,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:73,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:78,1
    - Dst: Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:82,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 87
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform<int>
    - Profile::Iterate
    - std::vector::push_back
    - EXPECT_EQ
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ::operator delete
    - std::move
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, AllocationProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform<int>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:35,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:36,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:36,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:49,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:49,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:51,1
    - Dst: Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:55,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 61
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform<int>
    - Profile::Iterate
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::vector::push_back
    - EXPECT_EQ
    - SCOPED_TRACE
    - ::operator delete
    - static_cast<int>
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SnapshotCurrentIsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:64,1
    - Dst: absl::LogUniform<int>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:72,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:73,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:73,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:78,1
    - Dst: Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:82,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 87
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform<int>
    - Profile::Iterate
    - std::vector::push_back
    - EXPECT_EQ
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ::operator delete
    - std::move
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, AllocationProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform<int>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:35,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:36,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:36,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:49,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:49,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:51,1
    - Dst: Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:55,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 61
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform<int>
    - Profile::Iterate
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::vector::push_back
    - EXPECT_EQ
    - SCOPED_TRACE
    - ::operator delete
    - static_cast<int>
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SnapshotCurrentIsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:64,1
    - Dst: absl::LogUniform<int>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:72,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:73,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:73,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:78,1
    - Dst: Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:82,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 87
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform<int>
    - Profile::Iterate
    - std::vector::push_back
    - EXPECT_EQ
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ::operator delete
    - std::move
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, AllocationProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform<int>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:35,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:36,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:36,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:49,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:49,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:51,1
    - Dst: Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:55,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 61
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform<int>
    - Profile::Iterate
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::vector::push_back
    - EXPECT_EQ
    - SCOPED_TRACE
    - ::operator delete
    - static_cast<int>
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SnapshotCurrentIsEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:64,1
    - Dst: absl::LogUniform<int>
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:72,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:73,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:73,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:78,1
    - Dst: Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:82,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 87
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform<int>
    - Profile::Iterate
    - std::vector::push_back
    - EXPECT_EQ
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ::operator delete
    - std::move
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, AllocationProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: tcmalloc::ThreadManager::ThreadManager
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/thread_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThreadManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:32,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: ~ThreadManager()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/thread_manager.h
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - load
    linkageType: ''
    returnType: void
    signature: void ~ThreadManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:39,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:41,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:42,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:43,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - ' func'
    argTypes:
    - int
    - std::function<void(int)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: tcmalloc::ThreadManager::Start
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/thread_manager.h
    functionUses: 0
    functionsReached:
    - load
    - func
    - emplace_back
    - absl::BlockingCounter::Wait
    - absl::BlockingCounter::DecrementCount
    linkageType: ''
    returnType: void
    signature: void Start(int n, const std::function<void(int)>& func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:52,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tcmalloc::ThreadManager::Stop
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/thread_manager.h
    functionUses: 0
    functionsReached:
    - join
    - store
    linkageType: ''
    returnType: void
    signature: void Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: tcmalloc::ThreadManager::ThreadManager
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/thread_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThreadManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:32,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: ~ThreadManager()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/thread_manager.h
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - load
    linkageType: ''
    returnType: void
    signature: void ~ThreadManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:39,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:41,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:42,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:43,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - ' func'
    argTypes:
    - int
    - std::function<void(int)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: tcmalloc::ThreadManager::Start
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/thread_manager.h
    functionUses: 0
    functionsReached:
    - load
    - func
    - emplace_back
    - absl::BlockingCounter::Wait
    - absl::BlockingCounter::DecrementCount
    linkageType: ''
    returnType: void
    signature: void Start(int n, const std::function<void(int)>& func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:52,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/thread_manager.h:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tcmalloc::ThreadManager::Stop
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/thread_manager.h
    functionUses: 0
    functionsReached:
    - join
    - store
    linkageType: ''
    returnType: void
    signature: void Stop()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:48,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:58,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:64,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:66,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:66,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:67,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:67,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:68,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:68,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:73,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:81,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:83,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:83,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:87,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:98,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:99,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:103,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:105,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:107,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:115,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:117,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:117,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:119,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:119,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:123,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:124,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:137,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:145,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:146,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:147,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:150,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:152,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:154,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:157,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:159,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:166,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:177,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: perftools::profiles::Profile::DebugString
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:184,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:184,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:185,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:186,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:191,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:199,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:201,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:207,1
    - Dst: auto*::mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:209,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:217,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:221,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    - Dst: absl::flat_hash_map::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - absl::StatusOr::ok
    - __size_returning_new
    - aligned_alloc
    - perftools::profiles::Profile::ParseFromCodedStream
    - perftools::profiles::Profile::location
    - perftools::profiles::Profile::sample
    - key
    - auto*::filename
    - ::operator delete
    - id
    - absl::string_view::size
    - ASSERT_NE
    - Marshal
    - perftools::profiles::Profile::mapping
    - ASSERT_LT
    - location_id
    - absl::flat_hash_map::insert
    - str
    - EXPECT_FALSE
    - absl::string_view::data
    - perftools::profiles::Profile::string_table
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - ASSERT_TRUE
    - value
    - absl::flat_hash_set::contains
    - auto*::mapping_id
    - absl::flat_hash_map::reserve
    - mapping_id
    - absl::flat_hash_map::contains
    - free
    - std::vector::reserve
    - GTEST_FAIL
    - label
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::optional::has_value
    - GTEST_SKIP
    - perftools::profiles::Profile::DebugString
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - SCOPED_TRACE
    - absl::StrContains
    - EXPECT_GE
    - has_value
    - num
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileTest, HeapProfile)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:48,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:58,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:64,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:66,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:66,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:67,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:67,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:68,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:68,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:73,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:81,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:83,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:83,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:87,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:98,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:99,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:103,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:105,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:107,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:115,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:117,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:117,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:119,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:119,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:123,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:124,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:137,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:145,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:146,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:147,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:150,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:152,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:154,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:157,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:159,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:166,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:177,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: perftools::profiles::Profile::DebugString
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:184,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:184,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:185,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:186,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:191,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:199,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:201,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:207,1
    - Dst: auto*::mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:209,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:217,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:221,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    - Dst: absl::flat_hash_map::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - absl::StatusOr::ok
    - __size_returning_new
    - aligned_alloc
    - perftools::profiles::Profile::ParseFromCodedStream
    - perftools::profiles::Profile::location
    - perftools::profiles::Profile::sample
    - key
    - auto*::filename
    - ::operator delete
    - id
    - absl::string_view::size
    - ASSERT_NE
    - Marshal
    - perftools::profiles::Profile::mapping
    - ASSERT_LT
    - location_id
    - absl::flat_hash_map::insert
    - str
    - EXPECT_FALSE
    - absl::string_view::data
    - perftools::profiles::Profile::string_table
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - ASSERT_TRUE
    - value
    - absl::flat_hash_set::contains
    - auto*::mapping_id
    - absl::flat_hash_map::reserve
    - mapping_id
    - absl::flat_hash_map::contains
    - free
    - std::vector::reserve
    - GTEST_FAIL
    - label
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::optional::has_value
    - GTEST_SKIP
    - perftools::profiles::Profile::DebugString
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - SCOPED_TRACE
    - absl::StrContains
    - EXPECT_GE
    - has_value
    - num
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileTest, HeapProfile)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:48,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:58,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:64,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:66,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:66,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:67,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:67,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:68,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:68,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:73,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:81,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:83,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:83,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:87,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:98,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:99,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:103,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:105,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:107,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:115,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:117,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:117,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:119,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:119,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:123,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:124,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:137,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:145,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:146,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:147,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:150,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:152,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:154,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:157,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:159,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:166,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:177,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: perftools::profiles::Profile::DebugString
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:184,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:184,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:185,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:186,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:191,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:199,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:201,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:207,1
    - Dst: auto*::mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:209,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:217,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:221,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    - Dst: absl::flat_hash_map::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - absl::StatusOr::ok
    - __size_returning_new
    - aligned_alloc
    - perftools::profiles::Profile::ParseFromCodedStream
    - perftools::profiles::Profile::location
    - perftools::profiles::Profile::sample
    - key
    - auto*::filename
    - ::operator delete
    - id
    - absl::string_view::size
    - ASSERT_NE
    - Marshal
    - perftools::profiles::Profile::mapping
    - ASSERT_LT
    - location_id
    - absl::flat_hash_map::insert
    - str
    - EXPECT_FALSE
    - absl::string_view::data
    - perftools::profiles::Profile::string_table
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - ASSERT_TRUE
    - value
    - absl::flat_hash_set::contains
    - auto*::mapping_id
    - absl::flat_hash_map::reserve
    - mapping_id
    - absl::flat_hash_map::contains
    - free
    - std::vector::reserve
    - GTEST_FAIL
    - label
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::optional::has_value
    - GTEST_SKIP
    - perftools::profiles::Profile::DebugString
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - SCOPED_TRACE
    - absl::StrContains
    - EXPECT_GE
    - has_value
    - num
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileTest, HeapProfile)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:48,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:58,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:64,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:66,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:66,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:67,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:67,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:68,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:68,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:73,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:81,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:83,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:83,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:87,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:98,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:99,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:103,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:105,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:107,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:115,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:117,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:117,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:119,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:119,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:123,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:124,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:137,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:145,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:146,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:147,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:150,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:152,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:154,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:157,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:159,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:166,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:177,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: perftools::profiles::Profile::DebugString
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:184,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:184,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:185,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:186,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:191,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:199,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:201,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:207,1
    - Dst: auto*::mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:209,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:217,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:221,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    - Dst: absl::flat_hash_map::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - absl::StatusOr::ok
    - __size_returning_new
    - aligned_alloc
    - perftools::profiles::Profile::ParseFromCodedStream
    - perftools::profiles::Profile::location
    - perftools::profiles::Profile::sample
    - key
    - auto*::filename
    - ::operator delete
    - id
    - absl::string_view::size
    - ASSERT_NE
    - Marshal
    - perftools::profiles::Profile::mapping
    - ASSERT_LT
    - location_id
    - absl::flat_hash_map::insert
    - str
    - EXPECT_FALSE
    - absl::string_view::data
    - perftools::profiles::Profile::string_table
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - ASSERT_TRUE
    - value
    - absl::flat_hash_set::contains
    - auto*::mapping_id
    - absl::flat_hash_map::reserve
    - mapping_id
    - absl::flat_hash_map::contains
    - free
    - std::vector::reserve
    - GTEST_FAIL
    - label
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::optional::has_value
    - GTEST_SKIP
    - perftools::profiles::Profile::DebugString
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - SCOPED_TRACE
    - absl::StrContains
    - EXPECT_GE
    - has_value
    - num
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileTest, HeapProfile)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:48,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:58,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:64,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:66,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:66,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:67,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:67,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:68,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:68,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:73,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:81,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:83,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:83,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:87,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:98,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:99,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:103,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:105,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:107,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:115,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:117,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:117,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:119,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:119,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:123,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:124,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:137,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:145,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:146,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:147,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:150,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:152,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:154,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:157,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:159,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:166,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:177,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: perftools::profiles::Profile::DebugString
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:184,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:184,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:185,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:186,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:191,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:199,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:201,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:207,1
    - Dst: auto*::mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:209,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:217,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:221,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    - Dst: absl::flat_hash_map::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - absl::StatusOr::ok
    - __size_returning_new
    - aligned_alloc
    - perftools::profiles::Profile::ParseFromCodedStream
    - perftools::profiles::Profile::location
    - perftools::profiles::Profile::sample
    - key
    - auto*::filename
    - ::operator delete
    - id
    - absl::string_view::size
    - ASSERT_NE
    - Marshal
    - perftools::profiles::Profile::mapping
    - ASSERT_LT
    - location_id
    - absl::flat_hash_map::insert
    - str
    - EXPECT_FALSE
    - absl::string_view::data
    - perftools::profiles::Profile::string_table
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - ASSERT_TRUE
    - value
    - absl::flat_hash_set::contains
    - auto*::mapping_id
    - absl::flat_hash_map::reserve
    - mapping_id
    - absl::flat_hash_map::contains
    - free
    - std::vector::reserve
    - GTEST_FAIL
    - label
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::optional::has_value
    - GTEST_SKIP
    - perftools::profiles::Profile::DebugString
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - SCOPED_TRACE
    - absl::StrContains
    - EXPECT_GE
    - has_value
    - num
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileTest, HeapProfile)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:48,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:58,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:64,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:66,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:66,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:67,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:67,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:68,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:68,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:73,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:81,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:83,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:83,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:87,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:98,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:99,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:103,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:105,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:107,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:115,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:117,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:117,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:119,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:119,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:123,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:124,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:137,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:145,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:146,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:147,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:150,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:152,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:154,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:157,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:159,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:166,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:177,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: perftools::profiles::Profile::DebugString
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:184,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:184,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:185,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:186,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:191,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:199,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:201,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:207,1
    - Dst: auto*::mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:209,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:217,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:221,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    - Dst: absl::flat_hash_map::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - absl::StatusOr::ok
    - __size_returning_new
    - aligned_alloc
    - perftools::profiles::Profile::ParseFromCodedStream
    - perftools::profiles::Profile::location
    - perftools::profiles::Profile::sample
    - key
    - auto*::filename
    - ::operator delete
    - id
    - absl::string_view::size
    - ASSERT_NE
    - Marshal
    - perftools::profiles::Profile::mapping
    - ASSERT_LT
    - location_id
    - absl::flat_hash_map::insert
    - str
    - EXPECT_FALSE
    - absl::string_view::data
    - perftools::profiles::Profile::string_table
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - ASSERT_TRUE
    - value
    - absl::flat_hash_set::contains
    - auto*::mapping_id
    - absl::flat_hash_map::reserve
    - mapping_id
    - absl::flat_hash_map::contains
    - free
    - std::vector::reserve
    - GTEST_FAIL
    - label
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::optional::has_value
    - GTEST_SKIP
    - perftools::profiles::Profile::DebugString
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - SCOPED_TRACE
    - absl::StrContains
    - EXPECT_GE
    - has_value
    - num
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileTest, HeapProfile)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:48,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:58,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:64,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:66,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:66,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:67,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:67,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:68,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:68,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:73,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:81,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:83,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:83,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:87,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:98,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:99,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:103,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:105,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:107,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:115,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:117,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:117,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:119,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:119,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:123,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:124,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:137,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:145,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:146,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:147,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:150,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:152,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:154,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:157,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:159,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:166,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:177,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: perftools::profiles::Profile::DebugString
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:184,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:184,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:185,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:186,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:191,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:199,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:201,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:207,1
    - Dst: auto*::mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:209,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:217,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:221,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    - Dst: absl::flat_hash_map::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - absl::StatusOr::ok
    - __size_returning_new
    - aligned_alloc
    - perftools::profiles::Profile::ParseFromCodedStream
    - perftools::profiles::Profile::location
    - perftools::profiles::Profile::sample
    - key
    - auto*::filename
    - ::operator delete
    - id
    - absl::string_view::size
    - ASSERT_NE
    - Marshal
    - perftools::profiles::Profile::mapping
    - ASSERT_LT
    - location_id
    - absl::flat_hash_map::insert
    - str
    - EXPECT_FALSE
    - absl::string_view::data
    - perftools::profiles::Profile::string_table
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - ASSERT_TRUE
    - value
    - absl::flat_hash_set::contains
    - auto*::mapping_id
    - absl::flat_hash_map::reserve
    - mapping_id
    - absl::flat_hash_map::contains
    - free
    - std::vector::reserve
    - GTEST_FAIL
    - label
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::optional::has_value
    - GTEST_SKIP
    - perftools::profiles::Profile::DebugString
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - SCOPED_TRACE
    - absl::StrContains
    - EXPECT_GE
    - has_value
    - num
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileTest, HeapProfile)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:48,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:58,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:64,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:66,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:66,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:67,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:67,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:68,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:68,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:73,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:81,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:83,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:83,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:87,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:98,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:99,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:103,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:105,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:107,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:115,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:117,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:117,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:119,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:119,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:123,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:124,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:137,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:145,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:146,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:147,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:150,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:152,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:154,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:157,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:159,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:166,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:177,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: perftools::profiles::Profile::DebugString
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:184,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:184,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:185,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:186,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:187,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:191,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:193,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:199,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:201,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:207,1
    - Dst: auto*::mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:209,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:217,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:221,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    - Dst: absl::flat_hash_map::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 224
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - absl::StatusOr::ok
    - __size_returning_new
    - aligned_alloc
    - perftools::profiles::Profile::ParseFromCodedStream
    - perftools::profiles::Profile::location
    - perftools::profiles::Profile::sample
    - key
    - auto*::filename
    - ::operator delete
    - id
    - absl::string_view::size
    - ASSERT_NE
    - Marshal
    - perftools::profiles::Profile::mapping
    - ASSERT_LT
    - location_id
    - absl::flat_hash_map::insert
    - str
    - EXPECT_FALSE
    - absl::string_view::data
    - perftools::profiles::Profile::string_table
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_GT
    - ASSERT_TRUE
    - value
    - absl::flat_hash_set::contains
    - auto*::mapping_id
    - absl::flat_hash_map::reserve
    - mapping_id
    - absl::flat_hash_map::contains
    - free
    - std::vector::reserve
    - GTEST_FAIL
    - label
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::optional::has_value
    - GTEST_SKIP
    - perftools::profiles::Profile::DebugString
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - SCOPED_TRACE
    - absl::StrContains
    - EXPECT_GE
    - has_value
    - num
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileTest, HeapProfile)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts:
    - condition: (size == power)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: tcmalloc::NextSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int NextSize(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:66,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - align
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tcmalloc::CheckAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void CheckAlignment(void* p, int align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p
    - n
    - seed
    argTypes:
    - void*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: tcmalloc::Fill
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 8
    functionsReached:
    - reinterpret_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void Fill(void* p, int n, char seed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p
    - n
    - seed
    argTypes:
    - void*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: tcmalloc::Valid
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: bool
    signature: bool Valid(const void* p, int n, char seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:105,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:106,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:112,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:112,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:113,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:114,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:118,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:119,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:120,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 128
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - realloc
    - aligned_alloc
    - absl::Uniform
    - std::vector::emplace_back
    - static_cast<size_t>
    - ASSERT_TRUE
    - ASSERT_EQ
    - reinterpret_cast<uintptr_t>
    - absl::LogUniform
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, AlignedAllocRealloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:134,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:142,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:143,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - align
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: tcmalloc::SizesWithAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> SizesWithAlignment(size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::SizesWithAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:153,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:154,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:155,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:156,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:157,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:157,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:158,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:173,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:173,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 177
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc::SizesWithAlignment
    - tcmalloc::CheckAlignment
    - aligned_alloc
    - ASSERT_NE
    - EXPECT_EQ
    - tcmalloc::Fill
    - ASSERT_TRUE
    - tcmalloc::Valid
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, AlignedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:183,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:187,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:191,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - aligned_alloc
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, AlignedAllocUnsupportedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::SizesWithAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:198,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:199,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:200,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:201,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:202,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:202,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:203,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:209,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:210,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:211,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:212,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:213,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:214,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:215,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:216,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:217,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:218,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:218,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:219,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:219,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:220,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:220,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:221,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:222,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 225
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::SizesWithAlignment
    - tcmalloc::CheckAlignment
    - memalign
    - tcmalloc::Fill
    - ASSERT_TRUE
    - tcmalloc::Valid
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, Memalign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::SizesWithAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:232,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:232,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:233,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:235,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:235,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::SizesWithAlignment
    - tcmalloc::CheckAlignment
    - posix_memalign
    - tcmalloc::Fill
    - ASSERT_TRUE
    - tcmalloc::Valid
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, PosixMemalign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:243,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:243,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:244,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:244,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:245,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:246,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:246,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:249,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:250,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:256,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:257,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 261
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - ASSERT_NE
    - posix_memalign
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, PosixMemalignFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:264,1
    - Dst: tcmalloc::NextSize
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:266,1
    - Dst: valloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:267,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:268,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:269,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:270,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:270,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::CheckAlignment
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - ASSERT_TRUE
    - valloc
    - tcmalloc_internal::GetPageSize
    - tcmalloc::Valid
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, valloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:277,1
    - Dst: tcmalloc::NextSize
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:279,1
    - Dst: pvalloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:280,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:281,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:283,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:284,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:284,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:285,1
    - Dst: pvalloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:289,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:290,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:291,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:291,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 293
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::CheckAlignment
    - pvalloc
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - ASSERT_TRUE
    - tcmalloc_internal::GetPageSize
    - tcmalloc::Valid
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, pvalloc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts:
    - condition: (size == power)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: tcmalloc::NextSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int NextSize(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:66,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - align
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tcmalloc::CheckAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 5
    functionsReached:
    - ASSERT_EQ
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void CheckAlignment(void* p, int align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p
    - n
    - seed
    argTypes:
    - void*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: tcmalloc::Fill
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 13
    functionsReached:
    - reinterpret_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void Fill(void* p, int n, char seed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p
    - n
    - seed
    argTypes:
    - void*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: tcmalloc::Valid
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 5
    functionsReached:
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: bool
    signature: bool Valid(const void* p, int n, char seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:105,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:106,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:112,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:112,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:113,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:114,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:118,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:119,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:120,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 128
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - realloc
    - aligned_alloc
    - absl::Uniform
    - std::vector::emplace_back
    - static_cast<size_t>
    - ASSERT_TRUE
    - ASSERT_EQ
    - reinterpret_cast<uintptr_t>
    - absl::LogUniform
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, AlignedAllocRealloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:134,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:142,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:143,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - align
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: tcmalloc::SizesWithAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 3
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> SizesWithAlignment(size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::SizesWithAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:153,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:154,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:155,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:156,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:157,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:157,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:158,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:173,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:173,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 177
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc::SizesWithAlignment
    - tcmalloc::CheckAlignment
    - aligned_alloc
    - ASSERT_NE
    - EXPECT_EQ
    - tcmalloc::Fill
    - ASSERT_TRUE
    - tcmalloc::Valid
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, AlignedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:183,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:187,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:191,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - aligned_alloc
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, AlignedAllocUnsupportedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::SizesWithAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:198,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:199,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:200,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:201,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:202,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:202,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:203,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:209,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:210,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:211,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:212,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:213,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:214,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:215,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:216,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:217,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:218,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:218,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:219,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:219,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:220,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:220,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:221,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:222,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 225
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::SizesWithAlignment
    - tcmalloc::CheckAlignment
    - memalign
    - tcmalloc::Fill
    - ASSERT_TRUE
    - tcmalloc::Valid
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, Memalign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::SizesWithAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:232,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:232,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:233,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:235,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:235,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::SizesWithAlignment
    - tcmalloc::CheckAlignment
    - posix_memalign
    - tcmalloc::Fill
    - ASSERT_TRUE
    - tcmalloc::Valid
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, PosixMemalign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:243,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:243,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:244,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:244,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:245,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:246,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:246,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:249,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:250,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:256,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:257,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 261
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - ASSERT_NE
    - posix_memalign
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, PosixMemalignFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:264,1
    - Dst: tcmalloc::NextSize
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:266,1
    - Dst: valloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:267,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:268,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:269,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:270,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:270,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::CheckAlignment
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - ASSERT_TRUE
    - valloc
    - tcmalloc_internal::GetPageSize
    - tcmalloc::Valid
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, valloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:277,1
    - Dst: tcmalloc::NextSize
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:279,1
    - Dst: pvalloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:280,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:281,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:283,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:284,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:284,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:285,1
    - Dst: pvalloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:289,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:290,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:291,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:291,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 293
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::CheckAlignment
    - pvalloc
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - ASSERT_TRUE
    - tcmalloc_internal::GetPageSize
    - tcmalloc::Valid
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, pvalloc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts:
    - condition: (size == power)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: tcmalloc::NextSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 8
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int NextSize(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:66,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - align
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tcmalloc::CheckAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 10
    functionsReached:
    - ASSERT_EQ
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void CheckAlignment(void* p, int align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p
    - n
    - seed
    argTypes:
    - void*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: tcmalloc::Fill
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 18
    functionsReached:
    - reinterpret_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void Fill(void* p, int n, char seed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p
    - n
    - seed
    argTypes:
    - void*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: tcmalloc::Valid
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 10
    functionsReached:
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: bool
    signature: bool Valid(const void* p, int n, char seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:105,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:106,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:112,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:112,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:113,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:114,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:118,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:119,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:120,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 128
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - realloc
    - aligned_alloc
    - absl::Uniform
    - std::vector::emplace_back
    - static_cast<size_t>
    - ASSERT_TRUE
    - ASSERT_EQ
    - reinterpret_cast<uintptr_t>
    - absl::LogUniform
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, AlignedAllocRealloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:134,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:142,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:143,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - align
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: tcmalloc::SizesWithAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> SizesWithAlignment(size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::SizesWithAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:153,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:154,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:155,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:156,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:157,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:157,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:158,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:173,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:173,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 177
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc::SizesWithAlignment
    - tcmalloc::CheckAlignment
    - aligned_alloc
    - ASSERT_NE
    - EXPECT_EQ
    - tcmalloc::Fill
    - ASSERT_TRUE
    - tcmalloc::Valid
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, AlignedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:183,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:187,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:191,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - aligned_alloc
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, AlignedAllocUnsupportedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::SizesWithAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:198,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:199,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:200,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:201,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:202,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:202,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:203,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:209,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:210,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:211,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:212,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:213,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:214,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:215,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:216,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:217,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:218,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:218,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:219,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:219,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:220,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:220,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:221,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:222,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 225
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::SizesWithAlignment
    - tcmalloc::CheckAlignment
    - memalign
    - tcmalloc::Fill
    - ASSERT_TRUE
    - tcmalloc::Valid
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, Memalign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::SizesWithAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:232,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:232,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:233,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:235,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:235,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::SizesWithAlignment
    - tcmalloc::CheckAlignment
    - posix_memalign
    - tcmalloc::Fill
    - ASSERT_TRUE
    - tcmalloc::Valid
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, PosixMemalign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:243,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:243,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:244,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:244,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:245,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:246,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:246,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:249,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:250,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:256,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:257,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 261
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - ASSERT_NE
    - posix_memalign
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, PosixMemalignFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:264,1
    - Dst: tcmalloc::NextSize
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:266,1
    - Dst: valloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:267,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:268,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:269,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:270,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:270,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::CheckAlignment
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - ASSERT_TRUE
    - valloc
    - tcmalloc_internal::GetPageSize
    - tcmalloc::Valid
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, valloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:277,1
    - Dst: tcmalloc::NextSize
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:279,1
    - Dst: pvalloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:280,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:281,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:283,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:284,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:284,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:285,1
    - Dst: pvalloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:289,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:290,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:291,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:291,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 293
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::CheckAlignment
    - pvalloc
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - ASSERT_TRUE
    - tcmalloc_internal::GetPageSize
    - tcmalloc::Valid
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, pvalloc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts:
    - condition: (size == power)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: tcmalloc::NextSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 10
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int NextSize(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:66,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - align
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tcmalloc::CheckAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 15
    functionsReached:
    - ASSERT_EQ
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void CheckAlignment(void* p, int align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p
    - n
    - seed
    argTypes:
    - void*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: tcmalloc::Fill
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 23
    functionsReached:
    - reinterpret_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void Fill(void* p, int n, char seed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p
    - n
    - seed
    argTypes:
    - void*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: tcmalloc::Valid
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 15
    functionsReached:
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: bool
    signature: bool Valid(const void* p, int n, char seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:105,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:106,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:112,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:112,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:113,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:114,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:118,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:119,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:120,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 128
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - realloc
    - aligned_alloc
    - absl::Uniform
    - std::vector::emplace_back
    - static_cast<size_t>
    - ASSERT_TRUE
    - ASSERT_EQ
    - reinterpret_cast<uintptr_t>
    - absl::LogUniform
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, AlignedAllocRealloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:134,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:142,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:143,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - align
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: tcmalloc::SizesWithAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 9
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> SizesWithAlignment(size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::SizesWithAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:153,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:154,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:155,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:156,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:157,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:157,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:158,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:173,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:173,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 177
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc::SizesWithAlignment
    - tcmalloc::CheckAlignment
    - aligned_alloc
    - ASSERT_NE
    - EXPECT_EQ
    - tcmalloc::Fill
    - ASSERT_TRUE
    - tcmalloc::Valid
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, AlignedAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:183,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:187,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:191,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - aligned_alloc
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, AlignedAllocUnsupportedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::SizesWithAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:198,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:199,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:200,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:201,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:202,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:202,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:203,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:209,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:210,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:211,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:212,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:213,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:214,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:215,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:216,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:217,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:218,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:218,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:219,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:219,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:220,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:220,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:221,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:222,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 225
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::SizesWithAlignment
    - tcmalloc::CheckAlignment
    - memalign
    - tcmalloc::Fill
    - ASSERT_TRUE
    - tcmalloc::Valid
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, Memalign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::SizesWithAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:232,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:232,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:233,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:235,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:235,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::SizesWithAlignment
    - tcmalloc::CheckAlignment
    - posix_memalign
    - tcmalloc::Fill
    - ASSERT_TRUE
    - tcmalloc::Valid
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, PosixMemalign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:243,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:243,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:244,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:244,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:245,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:246,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:246,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:249,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:250,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:256,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:257,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 261
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - ASSERT_NE
    - posix_memalign
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, PosixMemalignFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:264,1
    - Dst: tcmalloc::NextSize
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:266,1
    - Dst: valloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:267,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:268,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:269,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:270,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:270,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::CheckAlignment
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - ASSERT_TRUE
    - valloc
    - tcmalloc_internal::GetPageSize
    - tcmalloc::Valid
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, valloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:277,1
    - Dst: tcmalloc::NextSize
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:279,1
    - Dst: pvalloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:280,1
    - Dst: tcmalloc::CheckAlignment
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:281,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:283,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:284,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:284,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:285,1
    - Dst: pvalloc
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:289,1
    - Dst: tcmalloc::Fill
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:290,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:291,1
    - Dst: tcmalloc::Valid
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:291,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memalign_test.cc:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 293
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::CheckAlignment
    - pvalloc
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - ASSERT_TRUE
    - tcmalloc_internal::GetPageSize
    - tcmalloc::Valid
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(MemalignTest, pvalloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/want_disable_huge_region_more_often_test_helper.cc:23,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/want_disable_huge_region_more_often_test_helper.cc:25,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/testing/want_disable_huge_region_more_often_test_helper.cc:26,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/testing/want_disable_huge_region_more_often_test_helper.cc:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/want_disable_huge_region_more_often_test_helper.cc
    functionUses: 0
    functionsReached:
    - absl::StrContains
    - printf
    - tcmalloc::MallocExtension::GetStats
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:119,1
    - Dst: SetTestResourceLimit
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:121,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - RUN_ALL_TESTS
    - SetTestResourceLimit
    - testing::InitGoogleTest
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:132,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:134,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:135,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:136,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - ::operator delete
    - ASSERT_NE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocTest, EmptyAllocations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:143,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocTest, LargeAllocation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:175,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:175,1
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:177,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:184,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:186,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:187,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 193
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrFormat
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - SCOPED_TRACE
    - memset
    - free
    - calloc
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocTest, Calloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:198,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:211,1
    - Dst: absl::bit_cast<intptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:218,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:219,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:221,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:224,1
    - Dst: absl::bit_cast<intptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:225,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:228,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:234,1
    - Dst: absl::bit_cast<intptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:235,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:236,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:238,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 244
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - ASSERT_GT
    - realloc
    - benchmark::DoNotOptimize
    - absl::bit_cast<intptr_t>
    - free
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocTest, Realloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:259,1
    - Dst: absl::bit_cast<intptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:266,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:267,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:269,1
    - Dst: reallocarray
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:272,1
    - Dst: absl::bit_cast<intptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:273,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:276,1
    - Dst: reallocarray
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:282,1
    - Dst: absl::bit_cast<intptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:283,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:284,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:286,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 292
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - benchmark::DoNotOptimize
    - absl::bit_cast<intptr_t>
    - reallocarray
    - free
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocTest, ReallocArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:310,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:310,1
    - Dst: reallocarray
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:312,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:314,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 317
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrFormat
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - SCOPED_TRACE
    - reallocarray
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocTest, ReallocArrayOverflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:322,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:325,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:326,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:326,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:329,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:331,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:334,1
    - Dst: memcmp
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:334,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 337
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - realloc
    - memalign
    - memcmp
    - EXPECT_EQ
    - posix_memalign
    - memcpy
    - free
    - memset
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocTest, MemalignRealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:344,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:344,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:346,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:346,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 349
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - ThreadManager::Start
    - ThreadManager::Stop
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    - AllocatorHarness::Run
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, Multithreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:357,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:360,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:360,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - ::operator delete
    - std::vector::reserve
    - ::operator new
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, HugeThreadCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:373,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:377,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:380,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:382,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:384,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:385,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:386,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:386,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:387,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:389,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:390,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:391,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:392,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:392,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:394,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:401,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:402,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:403,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:404,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:409,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:410,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:411,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:412,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:417,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 418
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - static_cast<std::align_val_t>
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - absl::Uniform
    - posix_memalign
    - tcmalloc_internal::max
    - ASSERT_TRUE
    - free
    - absl::has_single_bit
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - ::operator delete
    - ASSERT_EQ
    - ASSERT_NE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, EnormousAllocations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:422,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:423,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 425
    functionName: GetUnmappedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - tcmalloc::MallocExtension::GetNumericProperty
    - std::optional::has_value
    linkageType: ''
    returnType: size_t
    signature: size_t GetUnmappedBytes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::want_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:430,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:435,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:436,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:437,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:437,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:438,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:441,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:441,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:442,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:442,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:446,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:446,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:448,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:452,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:452,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:456,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:456,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:458,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:462,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:462,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:466,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:466,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:469,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:470,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:470,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:472,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:474,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:474,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:478,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 479
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - GetUnmappedBytes
    - tcmalloc_internal::max
    - tcmalloc::want_hpaa
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, ReleaseMemoryToSystem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc_trim
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 481
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc_trim
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, MallocTrim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Foo::Foo
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - Foo::Foo
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, NothrowSizedDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Foo::Foo
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 522
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - Foo::Foo
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, NothrowSizedDeleteArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 502
    functionName: ~Foo()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Foo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:529,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:530,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:531,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:533,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:537,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:538,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:539,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 547
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - static_cast<size_t>
    - ABSL_ARRAYSIZE
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, MallocAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:554,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:555,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:556,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:558,1
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:562,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:563,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:564,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 572
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - ABSL_ARRAYSIZE
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - free
    - calloc
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, CallocAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:579,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:580,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:581,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:583,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:587,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:588,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:589,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:592,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:598,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:599,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 608
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - realloc
    - static_cast<size_t>
    - ABSL_ARRAYSIZE
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, ReallocAlignment)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:622,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:623,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:623,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:625,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:626,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:627,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:627,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:628,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:629,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:632,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:636,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:639,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 646
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - static_cast<std::align_val_t>
    - absl::Uniform
    - std::vector::emplace_back
    - static_cast<size_t>
    - ASSERT_EQ
    - reinterpret_cast<uintptr_t>
    - ::operator delete
    - absl::LogUniform
    - ASSERT_NE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, AlignedNew)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:660,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:661,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:661,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:663,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:664,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:665,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:665,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:666,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:667,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:670,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:674,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:677,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 684
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - ::operator delete[]
    - static_cast<std::align_val_t>
    - absl::Uniform
    - std::vector::emplace_back
    - static_cast<size_t>
    - ::operator new[]
    - ASSERT_EQ
    - reinterpret_cast<uintptr_t>
    - absl::LogUniform
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, AlignedNewArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:691,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:691,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:694,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:695,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:696,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:699,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:701,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:701,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:702,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:703,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:704,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:705,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:705,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 708
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - static_cast<std::align_val_t>
    - benchmark::DoNotOptimize
    - absl::Uniform
    - static_cast<size_t>
    - reinterpret_cast<uintptr_t>
    - absl::LogUniform
    - ::operator delete
    - ASSERT_EQ
    - ASSERT_NE
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, NothrowAlignedNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:715,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:715,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:718,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:719,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:720,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:723,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:725,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:725,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:726,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:727,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:728,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:729,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:729,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 732
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - ::operator delete[]
    - static_cast<std::align_val_t>
    - benchmark::DoNotOptimize
    - absl::Uniform
    - static_cast<size_t>
    - ::operator new[]
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - ASSERT_NE
    - absl::LogUniform
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, NothrowAlignedNewArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:739,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:740,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:741,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:742,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:742,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:745,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:746,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 749
    functionName: CheckSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - std::vector::push_back
    - std::vector::begin
    - ::operator delete
    - std::vector::end
    - absl::LogUniform<int32_t>
    - std::make_pair
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void CheckSizedDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 751
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - CheckSizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, SizedDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 756
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - CheckSizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, SizedDeleteSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:762,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:763,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:763,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 766
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - ASSERT_EQ
    - free
    - tcmalloc::MallocExtension::GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, SampleAllocatedSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:770,1
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 770
    functionName: GlobalNallocx
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - nallocx
    - TC_CHECK_GE
    linkageType: ''
    returnType: void
    signature: void GlobalNallocx()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:776,1
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 776
    functionName: check_global_nallocx
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - nallocx
    - TC_CHECK_GE
    linkageType: ''
    returnType: void
    signature: void check_global_nallocx()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:785,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:786,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:787,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:788,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 779
    functionDepth: 2
    functionLinenumber: 779
    functionLinenumberEnd: 791
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - operator new
    - ASSERT_GE
    - nallocx
    - tcmalloc::MallocExtension::GetAllocatedSize
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, nallocx)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:804,1
    - Dst: MALLOCX_LG_ALIGN
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:804,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:805,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:806,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:807,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:808,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:808,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:809,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:821,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:822,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:824,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:825,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:826,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:833,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:834,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:835,1
    - Dst: sdallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:836,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:842,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:843,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:844,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:845,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:851,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:852,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:853,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:854,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:855,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:856,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:862,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:863,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:864,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:865,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:866,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:867,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:871,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:872,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:873,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:874,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:875,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:880,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:881,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:882,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:883,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:884,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:892,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:893,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:894,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:894,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:902,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:903,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:904,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:904,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:905,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:906,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:907,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:916,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:917,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:918,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:918,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:927,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:928,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:929,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:929,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:930,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:931,1
    - Dst: sdallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:932,1
    - Dst: MALLOCX_LG_ALIGN
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:932,1
    - Dst: alloc_at_least
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:939,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:940,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:941,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:943,1
    - Dst: static_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:943,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:944,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:945,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:947,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:947,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:949,1
    - Dst: static_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:949,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:953,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:954,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:954,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:955,1
    - Dst: aligned_alloc_at_least
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:963,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:964,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:965,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:965,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:966,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:967,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:968,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:969,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:981,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:982,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:985,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:990,1
    - Dst: remove_prefix
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:991,1
    - Dst: find_first_not_of
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:993,1
    - Dst: remove_prefix
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:995,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:998,1
    - Dst: remove_suffix
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1000,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1000,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1004,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1011,1
    - Dst: ParseLowLevelAllocator
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1013,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1014,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1014,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1015,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1017,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1020,1
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1030,1
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1031,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1034,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1046,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1047,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1056,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1057,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1058,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1070,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1070,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1071,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1071,1
    - Dst: std::get<2>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1072,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1072,1
    - Dst: IsOveraligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1073,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1087,1
    - Dst: tcmalloc_size_returning_operator_new_hot_cold_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1092,1
    - Dst: __size_returning_new_aligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1098,1
    - Dst: tcmalloc_size_returning_operator_new_aligned_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1103,1
    - Dst: __size_returning_new_aligned_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1109,1
    - Dst: tcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1114,1
    - Dst: sro_new_
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1121,1
    - Dst: IsOveraligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1132,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1133,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1135,1
    - Dst: INSTANTIATE_TEST_SUITE_P
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1147,1
    - Dst: testing::Combine
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1149,1
    - Dst: tcmalloc_internal::PbtxtRegion::InjectValues
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1150,1
    - Dst: tcmalloc_internal::PbtxtRegion::InjectValues
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1151,1
    - Dst: hot_cold_t
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1151,1
    - Dst: tcmalloc_internal::PbtxtRegion::InjectValues
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1152,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1154,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1155,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1156,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1156,1
    - Dst: std::get<2>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1157,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1172,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1173,1
    - Dst: testing::Ge
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1173,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1174,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1179,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1180,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1181,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1182,1
    - Dst: GetAlignment
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1182,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1183,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1183,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1184,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1184,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1185,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1190,1
    - Dst: IsNothrow
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1191,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1194,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1196,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1196,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1206,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1207,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1207,1
    - Dst: IsOveraligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1208,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1209,1
    - Dst: GetAlignment
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1209,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1211,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1217,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1223,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1237,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1240,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1243,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1246,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1254,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1270,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1272,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1273,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1276,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1276,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1278,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1280,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1280,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1285,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1286,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1286,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1286,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1289,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1290,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1292,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1297,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1299,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1300,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1303,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1303,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1304,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1308,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1309,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1309,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1309,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1312,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1313,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1315,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1324,1
    - Dst: testing::Not
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1324,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1324,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1325,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1330,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1332,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1346,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1348,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1349,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1351,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1352,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1354,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1356,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1357,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1357,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1359,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1359,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1364,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1365,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1367,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1373,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1375,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1390,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1392,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1394,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1394,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1395,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1397,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1398,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1400,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1402,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1403,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1403,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1405,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1405,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1410,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1414,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1417,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1420,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1427,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1429,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1443,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1445,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1446,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1448,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1449,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1451,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1453,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1454,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1454,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1456,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1456,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1461,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1462,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1464,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1470,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1472,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1487,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1489,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1491,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1491,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1492,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1494,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1495,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1497,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1499,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1500,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1500,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1502,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1502,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1507,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1511,1
    - Dst: sized_array_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1514,1
    - Dst: sized_array_aligned_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1517,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1524,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1526,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1541,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1543,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1544,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1546,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1547,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1548,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1550,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1551,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1551,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1553,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1553,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1557,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1558,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1558,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1559,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1561,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1565,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1568,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1571,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1573,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1575,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1575,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1583,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1585,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1589,1
    - Dst: tcmalloc_internal::Parameters::set_min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1590,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1604,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1606,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1607,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1609,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1609,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1611,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1615,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1617,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1617,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1619,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1619,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1624,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1625,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1627,1
    - Dst: tcmalloc_internal::Parameters::set_min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1632,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1636,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1638,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1646,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1648,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1648,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1649,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1649,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1650,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1650,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1651,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1651,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1652,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1653,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1654,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1655,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1657,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1660,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1664,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1665,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1668,1
    - Dst: testing::SizeIs
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1668,1
    - Dst: std::array::size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1668,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1669,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1669,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1670,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1671,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1672,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1673,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1674,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1675,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1685,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1694,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1695,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1697,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1698,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1699,1
    - Dst: open_memstream
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1708,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1709,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1710,1
    - Dst: malloc_info
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1710,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1711,1
    - Dst: fclose
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1711,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1712,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1713,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1713,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1714,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1719,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1720,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1721,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1722,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1725,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1726,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1726,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1727,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1731,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1732,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1732,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1733,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1737,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1738,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1738,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1739,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1742,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1743,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1744,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1745,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1745,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1749,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1749,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 457
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 1753
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - absl::string_view
    - malloc_info
    - GetMemoryTag
    - INSTANTIATE_TEST_SUITE_P
    - absl::SimpleAtoi
    - memset
    - __size_returning_new_hot_cold
    - ::operator delete
    - auto::Iterate
    - tcmalloc_internal::Parameters::set_min_hot_access_hint
    - absl::LogUniform<size_t>
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::get<1>
    - alloc_at_least
    - find_first_not_of
    - tcmalloc_internal::PbtxtRegion::InjectValues
    - tcmalloc::MallocExtension::GetStats
    - sro_new_
    - static_cast<int>
    - free
    - std::move
    - absl::Bernoulli
    - absl::flat_hash_set::insert
    - free_aligned_sized
    - testing::Not
    - TC_CHECK
    - std::vector::clear
    - sized_delete
    - absl::Uniform<uint8_t>
    - std::get<0>
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - sdallocx
    - reinterpret_cast<void*>
    - absl::string_view::size
    - hot_cold_t
    - ASSERT_NE
    - New
    - MALLOCX_LG_ALIGN
    - benchmark::DoNotOptimize
    - size
    - tcmalloc_internal::ColdFeatureActive
    - aligned_alloc_at_least
    - reinterpret_cast<uintptr_t>
    - std::max
    - testing::Ne
    - std::get<2>
    - tcmalloc_size_returning_operator_new_hot_cold_nothrow
    - EXPECT_NE
    - EXPECT_EQ
    - absl::Uniform
    - EXPECT_LE
    - open_memstream
    - find
    - GTEST_SKIP
    - IsOveraligned
    - ASSERT_GE
    - EXPECT_THAT
    - EXPECT_GE
    - static_cast<size_t>
    - sized_array_delete
    - ::operator new
    - testing::SizeIs
    - __size_returning_new
    - aligned_alloc
    - absl::StrFormat
    - malloc_usable_size
    - absl::SNPrintF
    - testing::Combine
    - IsNormalMemory
    - testing::UnorderedElementsAreArray
    - remove_prefix
    - ::operator new[]
    - std::array::size
    - reinterpret_cast<void (*)()>
    - remove_suffix
    - EXPECT_TRUE
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_THAT
    - EXPECT_GT
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - nallocx
    - TC_CHECK_EQ
    - free_sized
    - std::vector::push_back
    - fclose
    - std::vector::emplace_back
    - sized_array_aligned_delete
    - IsNothrow
    - realloc
    - operator new
    - ParseLowLevelAllocator
    - ExpectSameAddresses
    - tcmalloc::MallocExtension::GetAllocatedSize
    - GetParam
    - static_cast<uint8_t*>
    - tcmalloc::MallocExtension::GetNumericProperty
    - tcmalloc_size_returning_operator_new_aligned_nothrow
    - test
    - ASSERT_EQ
    - testing::Ge
    - memalign
    - tcmalloc_internal::max
    - GetAlignment
    - EXPECT_DEATH
    - __size_returning_new_aligned_hot_cold
    - static_cast<hot_cold_t>
    - std::vector::reserve
    - tcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow
    - static_cast<tcmalloc::hot_cold_t>
    - static_cast<std::align_val_t>
    - TC_CHECK_NE
    - posix_memalign
    - Delete
    - absl::StrCat
    - __size_returning_new_aligned
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, nallocx_alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:821,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:822,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:824,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:825,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 829
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - sized_delete
    - ASSERT_GE
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - __size_returning_new_hot_cold
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, GetEstimatedAllocatedSizeHotCold)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:833,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:834,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:835,1
    - Dst: sdallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 838
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - benchmark::DoNotOptimize
    - sdallocx
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, sdallocx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:842,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:843,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:844,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 847
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - benchmark::DoNotOptimize
    - free_sized
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, free_sized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:851,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:852,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:853,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:854,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:855,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 858
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - realloc
    - benchmark::DoNotOptimize
    - malloc_usable_size
    - free_sized
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, realloc_free_sized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:862,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:863,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:864,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:865,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:866,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 868
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - realloc
    - benchmark::DoNotOptimize
    - malloc_usable_size
    - free_sized
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, b421895944)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:871,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:872,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:873,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:874,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 876
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - realloc
    - ASSERT_NE
    - free_sized
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, b421895944_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:880,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:881,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:882,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:883,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 885
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - realloc
    - ASSERT_NE
    - free_sized
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, b421895944_3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:892,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:893,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:894,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 895
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - free_sized
    - posix_memalign
    - ASSERT_EQ
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, FreeSizedDeathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:902,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:903,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:904,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:904,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:905,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:906,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 910
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - aligned_alloc
    - reinterpret_cast<uintptr_t>
    - benchmark::DoNotOptimize
    - free_aligned_sized
    - memset
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, free_aligned_aligned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:916,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:917,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:918,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 919
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - free_aligned_sized
    - ASSERT_NE
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, FreeAlignedSizedDeathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:927,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:928,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:929,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:929,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:930,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:931,1
    - Dst: sdallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:932,1
    - Dst: MALLOCX_LG_ALIGN
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 935
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - MALLOCX_LG_ALIGN
    - reinterpret_cast<uintptr_t>
    - benchmark::DoNotOptimize
    - posix_memalign
    - memset
    - sdallocx
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, sdallocx_alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alloc_at_least
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:939,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:940,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:941,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:943,1
    - Dst: static_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:943,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:944,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:945,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:947,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:947,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:949,1
    - Dst: static_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:949,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:953,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:954,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:954,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:955,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 957
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - realloc
    - ASSERT_NE
    - benchmark::DoNotOptimize
    - ASSERT_GE
    - malloc_usable_size
    - free_sized
    - memset
    - ASSERT_EQ
    - static_cast<uint8_t*>
    - alloc_at_least
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, alloc_at_least)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aligned_alloc_at_least
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:963,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:964,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:965,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:965,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:966,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:967,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:968,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 972
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - benchmark::DoNotOptimize
    - ASSERT_GE
    - free_aligned_sized
    - memset
    - aligned_alloc_at_least
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, aligned_alloc_at_least)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:981,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:982,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:985,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:990,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:991,1
    - Dst: absl::string_view::find_first_not_of
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:993,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:995,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:998,1
    - Dst: absl::string_view::remove_suffix
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1000,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1000,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1004,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - allocator_name
    - buf
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 1008
    functionName: ParseLowLevelAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::remove_suffix
    - absl::string_view::find
    - absl::SimpleAtoi
    - absl::SNPrintF
    - absl::string_view::find_first_not_of
    - absl::string_view::size
    - TC_CHECK
    - absl::string_view::remove_prefix
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: "std::optional<int64_t> ParseLowLevelAllocator(absl::string_view allocator_name,\n
      \                                             absl::string_view buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1011,1
    - Dst: ParseLowLevelAllocator
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1013,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1014,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1014,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1015,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1017,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1010
    functionDepth: 2
    functionLinenumber: 1010
    functionLinenumberEnd: 1021
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::MallocExtension::GetNumericProperty
    - ParseLowLevelAllocator
    - ASSERT_THAT
    - EXPECT_GT
    - tcmalloc::MallocExtension::GetStats
    - EXPECT_GE
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, GetStatsReportsLowLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1030,1
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1031,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - T1
    - T2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1035
    functionName: ExpectSameAddresses
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 1
    functionsReached:
    - EXPECT_TRUE
    - reinterpret_cast<void (*)()>
    linkageType: ''
    returnType: void
    signature: void ExpectSameAddresses(T1 v1, T2 v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1030,1
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1031,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - T1
    - T2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1035
    functionName: ExpectSameAddresses
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 1
    functionsReached:
    - EXPECT_TRUE
    - reinterpret_cast<void (*)()>
    linkageType: ''
    returnType: void
    signature: void ExpectSameAddresses(T1 v1, T2 v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1046,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1047,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1056,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1057,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1059
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - ExpectSameAddresses
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, TestAliasedFunctions)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1070,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1070,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1071,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1071,1
    - Dst: std::get<2>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1072,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1072,1
    - Dst: TcmallocSizedNewTest::IsOveraligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1073,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1087,1
    - Dst: tcmalloc_size_returning_operator_new_hot_cold_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1092,1
    - Dst: __size_returning_new_aligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1098,1
    - Dst: tcmalloc_size_returning_operator_new_aligned_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1103,1
    - Dst: __size_returning_new_aligned_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1109,1
    - Dst: tcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1069
    functionDepth: 2
    functionLinenumber: 1069
    functionLinenumberEnd: 1119
    functionName: TcmallocSizedNewTest::TcmallocSizedNewTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - std::get<2>
    - tcmalloc_size_returning_operator_new_hot_cold_nothrow
    - tcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow
    - std::get<0>
    - tcmalloc_size_returning_operator_new_aligned_nothrow
    - std::get<1>
    - GetParam
    - __size_returning_new_hot_cold
    - __size_returning_new_aligned_hot_cold
    - TcmallocSizedNewTest::IsOveraligned
    - __size_returning_new_aligned
    linkageType: ''
    returnType: void
    signature: void TcmallocSizedNewTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sro_new_
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1121
    functionName: TcmallocSizedNewTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - sro_new_
    linkageType: ''
    returnType: sized_ptr_t
    signature: sized_ptr_t New(size_t size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1123
    functionName: TcmallocSizedNewTest::IsNothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNothrow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1127
    functionName: TcmallocSizedNewTest::IsOveraligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOveraligned() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1129
    functionName: TcmallocSizedNewTest::GetAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t GetAlignment() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TcmallocSizedNewTest::IsOveraligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1132,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1133,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - res
    argTypes:
    - sized_ptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1137
    functionName: TcmallocSizedNewTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - TcmallocSizedNewTest::IsOveraligned
    linkageType: ''
    returnType: void
    signature: void Delete(sized_ptr_t res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1172,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1173,1
    - Dst: testing::Ge
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1173,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1175
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - New
    - testing::Ge
    - EXPECT_THAT
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(TcmallocSizedNewTest, SizedOperatorNewReturnsExtraCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1179,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1180,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1181,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1182,1
    - Dst: GetAlignment
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1182,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1183,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1183,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1184,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1184,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1187
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - New
    - EXPECT_NE
    - benchmark::DoNotOptimize
    - static_cast<size_t>
    - EXPECT_GE
    - EXPECT_LE
    - Delete
    - GetAlignment
    - memset
    - std::max
    linkageType: ''
    returnType: void
    signature: void TEST_P(TcmallocSizedNewTest, SizedOperatorNew)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1190,1
    - Dst: IsNothrow
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1191,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1194,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1196,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1189
    functionDepth: 2
    functionLinenumber: 1189
    functionLinenumberEnd: 1198
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsNothrow
    - New
    - EXPECT_EQ
    - tcmalloc_internal::max
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST_P(TcmallocSizedNewTest, InvalidSizedOperatorNew)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1206,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1207,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1207,1
    - Dst: IsOveraligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1208,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1209,1
    - Dst: GetAlignment
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1209,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1211,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1217,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1200
    functionDepth: 2
    functionLinenumber: 1200
    functionLinenumberEnd: 1225
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - New
    - IsOveraligned
    - test
    - GetAlignment
    - tcmalloc::MallocExtension::GetAllocatedSize
    - ::operator delete
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(TcmallocSizedNewTest, SizedOperatorNewMatchesMallocExtensionValue)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1237,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1240,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1243,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1251
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - ::operator delete
    - __size_returning_new
    linkageType: ''
    returnType: void
    signature: void TEST(SizedDeleteTest, SizedOperatorDelete)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1254,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1270,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1272,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1273,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1276,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1276,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1278,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1280,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1280,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1285,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1286,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1286,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1286,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1289,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1290,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1292,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1297,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1299,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1300,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1303,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1303,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1304,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1308,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1309,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1309,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1309,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1312,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1313,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1315,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1324,1
    - Dst: testing::Not
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1324,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1324,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1253
    functionDepth: 2
    functionLinenumber: 1253
    functionLinenumberEnd: 1327
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - sized_delete
    - absl::Uniform<uint8_t>
    - GetMemoryTag
    - ::operator delete
    - reinterpret_cast<void*>
    - absl::LogUniform<size_t>
    - IsNormalMemory
    - tcmalloc_internal::ColdFeatureActive
    - reinterpret_cast<uintptr_t>
    - EXPECT_NE
    - EXPECT_TRUE
    - tcmalloc_internal::StackTraceFilter::Contains
    - std::vector::reserve
    - static_cast<tcmalloc::hot_cold_t>
    - absl::Bernoulli
    - std::vector::emplace_back
    - absl::flat_hash_set::insert
    - EXPECT_THAT
    - testing::Not
    - ::operator new
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdTest, HotColdNew)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1330,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1332,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1346,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1348,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1349,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1351,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1352,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1354,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1356,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1357,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1357,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1359,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1359,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1364,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1365,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1329
    functionDepth: 2
    functionLinenumber: 1329
    functionLinenumberEnd: 1370
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - static_cast<tcmalloc::hot_cold_t>
    - EXPECT_NE
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - EXPECT_TRUE
    - std::vector::emplace_back
    - absl::Bernoulli
    - absl::Uniform<uint8_t>
    - tcmalloc_internal::ColdFeatureActive
    - GetMemoryTag
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdTest, NothrowHotColdNew)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1373,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1375,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1390,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1392,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1394,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1394,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1395,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1397,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1398,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1400,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1402,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1403,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1403,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1405,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1405,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1410,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1414,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1417,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1420,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1372
    functionDepth: 2
    functionLinenumber: 1372
    functionLinenumberEnd: 1424
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - static_cast<tcmalloc::hot_cold_t>
    - EXPECT_NE
    - static_cast<std::align_val_t>
    - IsNormalMemory
    - GTEST_SKIP
    - absl::Uniform
    - std::vector::emplace_back
    - EXPECT_TRUE
    - absl::Uniform<uint8_t>
    - tcmalloc_internal::ColdFeatureActive
    - GetMemoryTag
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdTest, AlignedNothrowHotColdNew)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1427,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1429,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1443,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1445,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1446,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1448,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1449,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1451,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1453,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1454,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1454,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1456,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1456,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1461,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1462,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1426
    functionDepth: 2
    functionLinenumber: 1426
    functionLinenumberEnd: 1467
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - static_cast<tcmalloc::hot_cold_t>
    - EXPECT_NE
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - EXPECT_TRUE
    - std::vector::emplace_back
    - absl::Bernoulli
    - absl::Uniform<uint8_t>
    - tcmalloc_internal::ColdFeatureActive
    - GetMemoryTag
    - ::operator new[]
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdTest, ArrayNothrowHotColdNew)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1470,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1472,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1487,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1489,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1491,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1491,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1492,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1494,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1495,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1497,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1499,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1500,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1500,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1502,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1502,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1507,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1511,1
    - Dst: sized_array_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1514,1
    - Dst: sized_array_aligned_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1517,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1469
    functionDepth: 2
    functionLinenumber: 1469
    functionLinenumberEnd: 1521
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - std::vector::reserve
    - absl::LogUniform<size_t>
    - static_cast<tcmalloc::hot_cold_t>
    - EXPECT_NE
    - static_cast<std::align_val_t>
    - IsNormalMemory
    - GTEST_SKIP
    - absl::Uniform
    - std::vector::emplace_back
    - EXPECT_TRUE
    - absl::Uniform<uint8_t>
    - tcmalloc_internal::ColdFeatureActive
    - GetMemoryTag
    - ::operator new[]
    - sized_array_aligned_delete
    - ::operator delete
    - sized_array_delete
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdTest, ArrayAlignedNothrowHotColdNew)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1524,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1526,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1541,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1543,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1544,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1546,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1547,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1548,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1550,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1551,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1551,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1553,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1553,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1557,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1558,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1558,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1559,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1561,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1565,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1568,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1571,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1573,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1575,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1575,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1523
    functionDepth: 2
    functionLinenumber: 1523
    functionLinenumberEnd: 1578
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - sized_delete
    - absl::Uniform<uint8_t>
    - GetMemoryTag
    - tcmalloc::MallocExtension::GetAllocatedSize
    - __size_returning_new_hot_cold
    - ::operator delete
    - absl::LogUniform<size_t>
    - IsNormalMemory
    - tcmalloc_internal::ColdFeatureActive
    - testing::Ne
    - EXPECT_NE
    - EXPECT_TRUE
    - EXPECT_EQ
    - absl::Uniform
    - ASSERT_THAT
    - static_cast<hot_cold_t>
    - std::vector::reserve
    - static_cast<tcmalloc::hot_cold_t>
    - GTEST_SKIP
    - std::vector::emplace_back
    - ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdTest, SizeReturningHotColdNew)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1583,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1585,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1589,1
    - Dst: tcmalloc_internal::Parameters::set_min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1590,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1604,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1606,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1607,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1609,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1609,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1611,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1615,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1617,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1617,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1619,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1619,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1624,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1625,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1627,1
    - Dst: tcmalloc_internal::Parameters::set_min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1582
    functionDepth: 2
    functionLinenumber: 1582
    functionLinenumberEnd: 1633
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::set_min_hot_access_hint
    - std::vector::reserve
    - static_cast<tcmalloc::hot_cold_t>
    - absl::LogUniform<size_t>
    - EXPECT_NE
    - IsNormalMemory
    - sized_delete
    - GTEST_SKIP
    - EXPECT_TRUE
    - std::vector::emplace_back
    - absl::Bernoulli
    - absl::Uniform<uint8_t>
    - tcmalloc_internal::ColdFeatureActive
    - GetMemoryTag
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdTest, HotColdNewMinHotFlag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1636,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1638,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1646,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1648,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1648,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1649,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1649,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1650,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1650,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1651,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1651,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1652,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1653,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1654,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1655,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1657,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1660,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1664,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1665,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1668,1
    - Dst: testing::SizeIs
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1668,1
    - Dst: std::array::size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1668,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1669,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1669,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1670,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1671,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1672,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1673,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1674,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1635
    functionDepth: 2
    functionLinenumber: 1635
    functionLinenumberEnd: 1677
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - testing::SizeIs
    - operator new
    - testing::UnorderedElementsAreArray
    - std::vector::push_back
    - GTEST_SKIP
    - ASSERT_THAT
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc_internal::ColdFeatureActive
    - EXPECT_THAT
    - std::array::size
    - ::operator delete
    - static_cast<hot_cold_t>
    - std::move
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdTest, SampleHasRuntimeHint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1685,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1694,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1695,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1697,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1698,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1703
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - ::operator delete
    - GTEST_SKIP
    - __size_returning_new
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SizeReturningNewAndSizedDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: open_memstream
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1708,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1709,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1710,1
    - Dst: malloc_info
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1710,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1711,1
    - Dst: fclose
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1711,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1712,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1713,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1713,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1715
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - fclose
    - absl::string_view
    - malloc_info
    - free
    - ASSERT_NE
    - open_memstream
    linkageType: ''
    returnType: void
    signature: void TEST(TCMalloc, malloc_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1719,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1720,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1721,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1722,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1725,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1726,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1726,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1727,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1731,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1732,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1732,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1733,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1737,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1738,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1738,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1739,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1742,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1743,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1744,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1745,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1717
    functionDepth: 2
    functionLinenumber: 1717
    functionLinenumberEnd: 1746
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrFormat
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TC_CHECK_NE
    - TC_CHECK_EQ
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST(Check, CustomTypes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1749,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1750
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - malloc_usable_size
    linkageType: ''
    returnType: void
    signature: void TEST(TCMalloc, MallocUsableSizeNullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/disable_numa_test.cc:22,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/testing/disable_numa_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/disable_numa_test.cc
    functionUses: 2
    functionsReached:
    - numa_topology
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(Numa, Inactive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/disable_numa_test.cc:22,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/testing/disable_numa_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/disable_numa_test.cc
    functionUses: 2
    functionsReached:
    - numa_topology
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(Numa, Inactive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:34,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:42,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:44,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:47,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc::MallocExtension::GetProperties
    - free
    - EXPECT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(LargeAllocSizeTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:34,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:42,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:44,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:47,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc::MallocExtension::GetProperties
    - free
    - EXPECT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(LargeAllocSizeTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:34,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:42,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:44,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:47,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc::MallocExtension::GetProperties
    - free
    - EXPECT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(LargeAllocSizeTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:34,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:42,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:44,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:47,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc::MallocExtension::GetProperties
    - free
    - EXPECT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(LargeAllocSizeTest, Basic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:49,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:54,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:55,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:56,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:57,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:62,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:62,1
    - Dst: std::string::substr
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:62,1
    - Dst: std::string::substr
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:63,1
    - Dst: parse
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:67,1
    - Dst: parse
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 71
    functionName: tcmalloc::GetPeakStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 0
    functionsReached:
    - std::string::substr
    - parse
    - EXPECT_NE
    - EXPECT_TRUE
    - size
    - std::string::find
    - absl::SimpleAtoi
    - tcmalloc::GetStatsInPbTxt
    linkageType: ''
    returnType: PeakStats
    signature: PeakStats GetPeakStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:74,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:76,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:76,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: tcmalloc::RealizedFragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 0
    functionsReached:
    - auto::value
    - auto::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    - CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t RealizedFragmentation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:81,1
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - backing
    - application
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tcmalloc::ExpectedFragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::safe_div
    - static_cast<uint64_t>
    linkageType: ''
    returnType: size_t
    signature: size_t ExpectedFragmentation(const size_t backing, const size_t application)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' expected'
    argTypes:
    - PeakStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: tcmalloc::ExpectedFragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::ExpectedFragmentation
    linkageType: ''
    returnType: size_t
    signature: size_t ExpectedFragmentation(const PeakStats& expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PeakStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: tcmalloc::UpperBound
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PeakStats
    signature: PeakStats UpperBound(const PeakStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PeakStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: tcmalloc::LowerBound
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PeakStats
    signature: PeakStats LowerBound(const PeakStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::UpperBound
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:106,1
    - Dst: tcmalloc::LowerBound
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:107,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:109,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' expected'
    argTypes:
    - PeakStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: tcmalloc::FragmentationTolerance
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::UpperBound
    - tcmalloc::LowerBound
    - tcmalloc::ExpectedFragmentation
    linkageType: ''
    returnType: size_t
    signature: size_t FragmentationTolerance(const PeakStats& expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:117,1
    - Dst: tcmalloc::GetPeakStats
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:120,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:122,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:133,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:133,1
    - Dst: tcmalloc::GetPeakStats
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:136,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:140,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:142,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:144,1
    - Dst: tcmalloc::RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:144,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:144,1
    - Dst: tcmalloc::FragmentationTolerance
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:145,1
    - Dst: SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:148,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:149,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:161,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:162,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:163,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:166,1
    - Dst: tcmalloc::GetPeakStats
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:170,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:174,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:176,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:178,1
    - Dst: tcmalloc::RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:178,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:178,1
    - Dst: tcmalloc::FragmentationTolerance
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:179,1
    - Dst: SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:182,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:183,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:190,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:190,1
    - Dst: tcmalloc::GetPeakStats
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:193,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:198,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:200,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:202,1
    - Dst: tcmalloc::RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:202,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:202,1
    - Dst: tcmalloc::FragmentationTolerance
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:203,1
    - Dst: SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:206,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:207,1
    - Dst: SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:211,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 214
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - tcmalloc::sized_delete
    - SLL_Pop
    - EXPECT_NEAR
    - tcmalloc::FragmentationTolerance
    - GTEST_SKIP
    - absl::Bernoulli
    - SLL_Push
    - tcmalloc::GetPeakStats
    - tcmalloc::RealizedFragmentation
    - tcmalloc::ExpectedFragmentation
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(RealizedFragmentation, Accuracy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:49,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:54,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:55,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:56,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:57,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:62,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:62,1
    - Dst: std::string::substr
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:62,1
    - Dst: std::string::substr
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:63,1
    - Dst: parse
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:67,1
    - Dst: parse
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 71
    functionName: tcmalloc::GetPeakStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 1
    functionsReached:
    - std::string::substr
    - parse
    - EXPECT_NE
    - EXPECT_TRUE
    - size
    - std::string::find
    - absl::SimpleAtoi
    - tcmalloc::GetStatsInPbTxt
    linkageType: ''
    returnType: PeakStats
    signature: PeakStats GetPeakStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:74,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:76,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:76,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: tcmalloc::RealizedFragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 1
    functionsReached:
    - auto::value
    - auto::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    - CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t RealizedFragmentation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:81,1
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - backing
    - application
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tcmalloc::ExpectedFragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::safe_div
    - static_cast<uint64_t>
    linkageType: ''
    returnType: size_t
    signature: size_t ExpectedFragmentation(const size_t backing, const size_t application)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' expected'
    argTypes:
    - PeakStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: tcmalloc::ExpectedFragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::ExpectedFragmentation
    linkageType: ''
    returnType: size_t
    signature: size_t ExpectedFragmentation(const PeakStats& expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PeakStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: tcmalloc::UpperBound
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PeakStats
    signature: PeakStats UpperBound(const PeakStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PeakStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: tcmalloc::LowerBound
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PeakStats
    signature: PeakStats LowerBound(const PeakStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::UpperBound
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:106,1
    - Dst: tcmalloc::LowerBound
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:107,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:109,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' expected'
    argTypes:
    - PeakStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: tcmalloc::FragmentationTolerance
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::UpperBound
    - tcmalloc::LowerBound
    - tcmalloc::ExpectedFragmentation
    linkageType: ''
    returnType: size_t
    signature: size_t FragmentationTolerance(const PeakStats& expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:117,1
    - Dst: tcmalloc::GetPeakStats
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:120,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:122,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:133,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:133,1
    - Dst: tcmalloc::GetPeakStats
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:136,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:140,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:142,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:144,1
    - Dst: tcmalloc::RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:144,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:144,1
    - Dst: tcmalloc::FragmentationTolerance
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:145,1
    - Dst: SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:148,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:149,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:161,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:162,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:163,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:166,1
    - Dst: tcmalloc::GetPeakStats
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:170,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:174,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:176,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:178,1
    - Dst: tcmalloc::RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:178,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:178,1
    - Dst: tcmalloc::FragmentationTolerance
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:179,1
    - Dst: SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:182,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:183,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:190,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:190,1
    - Dst: tcmalloc::GetPeakStats
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:193,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:198,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:200,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:202,1
    - Dst: tcmalloc::RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:202,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:202,1
    - Dst: tcmalloc::FragmentationTolerance
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:203,1
    - Dst: SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:206,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:207,1
    - Dst: SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:211,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 214
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - tcmalloc::sized_delete
    - SLL_Pop
    - EXPECT_NEAR
    - tcmalloc::FragmentationTolerance
    - GTEST_SKIP
    - absl::Bernoulli
    - SLL_Push
    - tcmalloc::GetPeakStats
    - tcmalloc::RealizedFragmentation
    - tcmalloc::ExpectedFragmentation
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(RealizedFragmentation, Accuracy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:49,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:54,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:55,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:56,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:57,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:62,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:62,1
    - Dst: std::string::substr
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:62,1
    - Dst: std::string::substr
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:63,1
    - Dst: parse
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:67,1
    - Dst: parse
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 71
    functionName: tcmalloc::GetPeakStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 2
    functionsReached:
    - std::string::substr
    - parse
    - EXPECT_NE
    - EXPECT_TRUE
    - size
    - std::string::find
    - absl::SimpleAtoi
    - tcmalloc::GetStatsInPbTxt
    linkageType: ''
    returnType: PeakStats
    signature: PeakStats GetPeakStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:74,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:76,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:76,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: tcmalloc::RealizedFragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 2
    functionsReached:
    - auto::value
    - auto::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    - CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t RealizedFragmentation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:81,1
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - backing
    - application
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tcmalloc::ExpectedFragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::safe_div
    - static_cast<uint64_t>
    linkageType: ''
    returnType: size_t
    signature: size_t ExpectedFragmentation(const size_t backing, const size_t application)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' expected'
    argTypes:
    - PeakStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: tcmalloc::ExpectedFragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::ExpectedFragmentation
    linkageType: ''
    returnType: size_t
    signature: size_t ExpectedFragmentation(const PeakStats& expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PeakStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: tcmalloc::UpperBound
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: PeakStats
    signature: PeakStats UpperBound(const PeakStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PeakStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: tcmalloc::LowerBound
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: PeakStats
    signature: PeakStats LowerBound(const PeakStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::UpperBound
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:106,1
    - Dst: tcmalloc::LowerBound
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:107,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:109,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' expected'
    argTypes:
    - PeakStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: tcmalloc::FragmentationTolerance
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::UpperBound
    - tcmalloc::LowerBound
    - tcmalloc::ExpectedFragmentation
    linkageType: ''
    returnType: size_t
    signature: size_t FragmentationTolerance(const PeakStats& expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:117,1
    - Dst: tcmalloc::GetPeakStats
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:120,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:122,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:133,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:133,1
    - Dst: tcmalloc::GetPeakStats
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:136,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:140,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:142,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:144,1
    - Dst: tcmalloc::RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:144,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:144,1
    - Dst: tcmalloc::FragmentationTolerance
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:145,1
    - Dst: SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:148,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:149,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:161,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:162,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:163,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:166,1
    - Dst: tcmalloc::GetPeakStats
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:170,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:174,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:176,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:178,1
    - Dst: tcmalloc::RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:178,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:178,1
    - Dst: tcmalloc::FragmentationTolerance
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:179,1
    - Dst: SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:182,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:183,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:190,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:190,1
    - Dst: tcmalloc::GetPeakStats
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:193,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:198,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:200,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:202,1
    - Dst: tcmalloc::RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:202,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:202,1
    - Dst: tcmalloc::FragmentationTolerance
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:203,1
    - Dst: SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:206,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:207,1
    - Dst: SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:211,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 214
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - tcmalloc::sized_delete
    - SLL_Pop
    - EXPECT_NEAR
    - tcmalloc::FragmentationTolerance
    - GTEST_SKIP
    - absl::Bernoulli
    - SLL_Push
    - tcmalloc::GetPeakStats
    - tcmalloc::RealizedFragmentation
    - tcmalloc::ExpectedFragmentation
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(RealizedFragmentation, Accuracy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:49,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:54,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:55,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:56,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:57,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:62,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:62,1
    - Dst: std::string::substr
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:62,1
    - Dst: std::string::substr
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:63,1
    - Dst: parse
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:67,1
    - Dst: parse
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 71
    functionName: tcmalloc::GetPeakStats
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 3
    functionsReached:
    - std::string::substr
    - parse
    - EXPECT_NE
    - EXPECT_TRUE
    - size
    - std::string::find
    - absl::SimpleAtoi
    - tcmalloc::GetStatsInPbTxt
    linkageType: ''
    returnType: PeakStats
    signature: PeakStats GetPeakStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:74,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:76,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:76,1
    - Dst: auto::value
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: tcmalloc::RealizedFragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 3
    functionsReached:
    - auto::value
    - auto::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    - CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t RealizedFragmentation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:81,1
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - backing
    - application
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tcmalloc::ExpectedFragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 9
    functionsReached:
    - tcmalloc_internal::safe_div
    - static_cast<uint64_t>
    linkageType: ''
    returnType: size_t
    signature: size_t ExpectedFragmentation(const size_t backing, const size_t application)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' expected'
    argTypes:
    - PeakStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: tcmalloc::ExpectedFragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 10
    functionsReached:
    - tcmalloc::ExpectedFragmentation
    linkageType: ''
    returnType: size_t
    signature: size_t ExpectedFragmentation(const PeakStats& expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PeakStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: tcmalloc::UpperBound
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: PeakStats
    signature: PeakStats UpperBound(const PeakStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PeakStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: tcmalloc::LowerBound
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: PeakStats
    signature: PeakStats LowerBound(const PeakStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::UpperBound
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:106,1
    - Dst: tcmalloc::LowerBound
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:107,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:109,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' expected'
    argTypes:
    - PeakStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: tcmalloc::FragmentationTolerance
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::UpperBound
    - tcmalloc::LowerBound
    - tcmalloc::ExpectedFragmentation
    linkageType: ''
    returnType: size_t
    signature: size_t FragmentationTolerance(const PeakStats& expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:117,1
    - Dst: tcmalloc::GetPeakStats
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:120,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:122,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:133,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:133,1
    - Dst: tcmalloc::GetPeakStats
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:136,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:140,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:142,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:144,1
    - Dst: tcmalloc::RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:144,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:144,1
    - Dst: tcmalloc::FragmentationTolerance
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:145,1
    - Dst: SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:148,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:149,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:161,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:162,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:163,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:166,1
    - Dst: tcmalloc::GetPeakStats
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:170,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:174,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:176,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:178,1
    - Dst: tcmalloc::RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:178,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:178,1
    - Dst: tcmalloc::FragmentationTolerance
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:179,1
    - Dst: SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:182,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:183,1
    - Dst: SLL_Push
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:190,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:190,1
    - Dst: tcmalloc::GetPeakStats
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:193,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:198,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:200,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:202,1
    - Dst: tcmalloc::RealizedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:202,1
    - Dst: tcmalloc::ExpectedFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:202,1
    - Dst: tcmalloc::FragmentationTolerance
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:203,1
    - Dst: SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:206,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:207,1
    - Dst: SLL_Pop
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:211,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 214
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - tcmalloc::sized_delete
    - SLL_Pop
    - EXPECT_NEAR
    - tcmalloc::FragmentationTolerance
    - GTEST_SKIP
    - absl::Bernoulli
    - SLL_Push
    - tcmalloc::GetPeakStats
    - tcmalloc::RealizedFragmentation
    - tcmalloc::ExpectedFragmentation
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(RealizedFragmentation, Accuracy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:59,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:62,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:66,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:66,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:70,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:70,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:71,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:72,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:74,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:75,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:82,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:84,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:85,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:85,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:88,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:89,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:90,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:92,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:93,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:94,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:96,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:98,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:99,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:100,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:100,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:102,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:104,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:105,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:107,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:110,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:115,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:117,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:120,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:123,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:127,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:128,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:130,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:132,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:134,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:136,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:139,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:140,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:140,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 143
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - IsExperimentActive
    - tcmalloc::MallocExtension::GetNumericProperty
    - ASSERT_THAT
    - EXPECT_GT
    - ::operator new
    - EXPECT_THAT
    - HasSubstr
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - AnyOf
    - absl::StrCat
    - ContainsRegex
    - tcmalloc::GetStatsInPbTxt
    - testing::Ne
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, Pbtxt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:146,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:147,1
    - Dst: tcmalloc_internal::Parameters::guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:149,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:150,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:151,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:153,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:156,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:157,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:159,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:160,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:162,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:163,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:163,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:165,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:166,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:166,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:168,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:169,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:169,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:171,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:172,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:172,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:175,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:179,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:180,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:183,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:183,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:185,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:186,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:188,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:190,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:192,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:195,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:198,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:202,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:204,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:206,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:210,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:211,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:213,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:214,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:216,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:218,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:219,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:221,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:222,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:223,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:226,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:226,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:228,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:228,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:230,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:230,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:231,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:232,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:233,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:235,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:236,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:239,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:243,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:245,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:247,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:247,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:250,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:251,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:252,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:253,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:254,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:255,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:256,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:257,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:258,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:259,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:260,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:261,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:262,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:263,1
    - Dst: tcmalloc_internal::Parameters::set_huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:264,1
    - Dst: tcmalloc_internal::Parameters::set_min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:265,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:268,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:269,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:272,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:272,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:274,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:276,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:277,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:279,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:281,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:283,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:284,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:285,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:286,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:287,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:289,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:293,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:297,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:301,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:303,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:305,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:306,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:308,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:308,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:309,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:309,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:310,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:310,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:311,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:311,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:312,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:313,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:314,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:315,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:316,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:318,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:320,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:322,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:324,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:326,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:328,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:330,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:332,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:332,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:335,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:336,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:337,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:338,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:339,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:341,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:343,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:345,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 349
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - HasSubstr
    - tcmalloc_internal::Parameters::set_guarded_sampling_interval
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc_internal::Parameters::set_min_hot_access_hint
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc_internal::Parameters::cache_demand_release_short_interval
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
    - absl::Milliseconds
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
    - tcmalloc::MallocExtension::GetStats
    - tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::cache_demand_release_long_interval
    - tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
    - tcmalloc::GetStatsInPbTxt
    - IsExperimentActive
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - absl::StrContains
    - tcmalloc_internal::Parameters::set_huge_cache_demand_based_release
    - EXPECT_THAT
    - tcmalloc_internal::Parameters::per_cpu_caches
    - using_hpaa
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, Parameters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:358,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:374,1
    - Dst: pthread_attr_init
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:374,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:375,1
    - Dst: pthread_attr_setstacksize
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:375,1
    - Dst: static_cast<Args*>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:378,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:381,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:383,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:385,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:389,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:389,1
    - Dst: Args*::output::clear
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:393,1
    - Dst: pthread_create
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:394,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:395,1
    - Dst: pthread_join
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:395,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:402,1
    - Dst: Args*::output::empty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:402,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:406,1
    - Dst: pthread_attr_destroy
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 407
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - Args*::output::clear
    - pthread_attr_init
    - EXPECT_FALSE
    - Args*::output::empty
    - pthread_join
    - tcmalloc::GetStatsInPbTxt
    - SCOPED_TRACE
    - pthread_attr_destroy
    - tcmalloc::MallocExtension::GetStats
    - static_cast<Args*>
    - absl::StrCat
    - static_cast<void*>
    - std::max<size_t>
    - pthread_create
    - ASSERT_EQ
    - pthread_attr_setstacksize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, StackDepth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:410,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:411,1
    - Dst: std::transform
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:413,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:413,1
    - Dst: std::string::end
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:413,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:413,1
    - Dst: std::transform
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:414,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:414,1
    - Dst: std::string::end
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:414,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:414,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:416,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:416,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:416,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:418,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:418,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:423,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 426
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - std::string::begin
    - std::string::end
    - std::transform
    - EXPECT_THAT
    - tcmalloc::MallocExtension::GetStats
    - Not
    - HasSubstr
    - ContainsRegex
    - tcmalloc::GetStatsInPbTxt
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, SelSan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:430,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:437,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:440,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:442,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:445,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:448,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:449,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:451,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:455,1
    - Dst: std::abs
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 456
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - std::abs
    - tcmalloc::MallocExtension::GetNumericProperty
    - GTEST_SKIP
    - EXPECT_GT
    - EXPECT_LE
    - MallocExtension_Internal_GetStatsInPbtxt
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::string::resize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, RequiredBufferSizes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:59,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:62,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:66,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:66,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:70,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:70,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:71,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:72,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:74,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:75,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:82,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:84,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:85,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:85,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:88,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:89,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:90,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:92,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:93,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:94,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:96,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:98,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:99,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:100,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:100,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:102,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:104,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:105,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:107,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:110,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:115,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:117,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:120,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:123,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:127,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:128,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:130,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:132,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:134,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:136,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:139,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:140,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:140,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 143
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - IsExperimentActive
    - tcmalloc::MallocExtension::GetNumericProperty
    - ASSERT_THAT
    - EXPECT_GT
    - ::operator new
    - EXPECT_THAT
    - HasSubstr
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - AnyOf
    - absl::StrCat
    - ContainsRegex
    - tcmalloc::GetStatsInPbTxt
    - testing::Ne
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, Pbtxt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:146,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:147,1
    - Dst: tcmalloc_internal::Parameters::guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:149,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:150,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:151,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:153,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:156,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:157,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:159,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:160,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:162,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:163,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:163,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:165,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:166,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:166,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:168,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:169,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:169,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:171,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:172,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:172,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:175,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:179,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:180,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:183,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:183,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:185,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:186,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:188,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:190,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:192,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:195,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:198,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:202,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:204,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:206,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:210,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:211,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:213,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:214,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:216,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:218,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:219,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:221,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:222,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:223,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:226,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:226,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:228,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:228,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:230,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:230,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:231,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:232,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:233,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:235,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:236,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:239,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:243,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:245,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:247,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:247,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:250,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:251,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:252,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:253,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:254,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:255,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:256,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:257,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:258,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:259,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:260,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:261,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:262,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:263,1
    - Dst: tcmalloc_internal::Parameters::set_huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:264,1
    - Dst: tcmalloc_internal::Parameters::set_min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:265,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:268,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:269,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:272,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:272,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:274,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:276,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:277,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:279,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:281,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:283,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:284,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:285,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:286,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:287,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:289,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:293,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:297,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:301,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:303,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:305,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:306,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:308,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:308,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:309,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:309,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:310,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:310,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:311,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:311,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:312,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:313,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:314,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:315,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:316,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:318,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:320,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:322,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:324,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:326,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:328,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:330,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:332,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:332,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:335,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:336,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:337,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:338,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:339,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:341,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:343,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:345,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 349
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - HasSubstr
    - tcmalloc_internal::Parameters::set_guarded_sampling_interval
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc_internal::Parameters::set_min_hot_access_hint
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc_internal::Parameters::cache_demand_release_short_interval
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
    - absl::Milliseconds
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
    - tcmalloc::MallocExtension::GetStats
    - tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::cache_demand_release_long_interval
    - tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
    - tcmalloc::GetStatsInPbTxt
    - IsExperimentActive
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - absl::StrContains
    - tcmalloc_internal::Parameters::set_huge_cache_demand_based_release
    - EXPECT_THAT
    - tcmalloc_internal::Parameters::per_cpu_caches
    - using_hpaa
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, Parameters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:358,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:374,1
    - Dst: pthread_attr_init
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:374,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:375,1
    - Dst: pthread_attr_setstacksize
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:375,1
    - Dst: static_cast<Args*>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:378,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:381,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:383,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:385,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:389,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:389,1
    - Dst: Args*::output::clear
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:393,1
    - Dst: pthread_create
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:394,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:395,1
    - Dst: pthread_join
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:395,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:402,1
    - Dst: Args*::output::empty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:402,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:406,1
    - Dst: pthread_attr_destroy
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 407
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - Args*::output::clear
    - pthread_attr_init
    - EXPECT_FALSE
    - Args*::output::empty
    - pthread_join
    - tcmalloc::GetStatsInPbTxt
    - SCOPED_TRACE
    - pthread_attr_destroy
    - tcmalloc::MallocExtension::GetStats
    - static_cast<Args*>
    - absl::StrCat
    - static_cast<void*>
    - std::max<size_t>
    - pthread_create
    - ASSERT_EQ
    - pthread_attr_setstacksize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, StackDepth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:410,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:411,1
    - Dst: std::transform
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:413,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:413,1
    - Dst: std::string::end
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:413,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:413,1
    - Dst: std::transform
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:414,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:414,1
    - Dst: std::string::end
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:414,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:414,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:416,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:416,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:416,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:418,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:418,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:423,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 426
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - std::string::begin
    - std::string::end
    - std::transform
    - EXPECT_THAT
    - tcmalloc::MallocExtension::GetStats
    - Not
    - HasSubstr
    - ContainsRegex
    - tcmalloc::GetStatsInPbTxt
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, SelSan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:430,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:437,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:440,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:442,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:445,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:448,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:449,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:451,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:455,1
    - Dst: std::abs
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 456
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - std::abs
    - tcmalloc::MallocExtension::GetNumericProperty
    - GTEST_SKIP
    - EXPECT_GT
    - EXPECT_LE
    - MallocExtension_Internal_GetStatsInPbtxt
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::string::resize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, RequiredBufferSizes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:59,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:62,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:66,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:66,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:70,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:70,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:71,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:72,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:74,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:75,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:82,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:84,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:85,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:85,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:88,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:89,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:90,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:92,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:93,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:94,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:96,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:98,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:99,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:100,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:100,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:102,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:104,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:105,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:107,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:110,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:115,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:117,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:120,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:123,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:127,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:128,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:130,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:132,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:134,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:136,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:139,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:140,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:140,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 143
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - IsExperimentActive
    - tcmalloc::MallocExtension::GetNumericProperty
    - ASSERT_THAT
    - EXPECT_GT
    - ::operator new
    - EXPECT_THAT
    - HasSubstr
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - AnyOf
    - absl::StrCat
    - ContainsRegex
    - tcmalloc::GetStatsInPbTxt
    - testing::Ne
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, Pbtxt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:146,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:147,1
    - Dst: tcmalloc_internal::Parameters::guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:149,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:150,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:151,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:153,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:156,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:157,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:159,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:160,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:162,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:163,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:163,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:165,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:166,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:166,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:168,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:169,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:169,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:171,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:172,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:172,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:175,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:179,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:180,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:183,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:183,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:185,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:186,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:188,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:190,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:192,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:195,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:198,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:202,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:204,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:206,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:210,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:211,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:213,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:214,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:216,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:218,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:219,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:221,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:222,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:223,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:226,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:226,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:228,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:228,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:230,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:230,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:231,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:232,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:233,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:235,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:236,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:239,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:243,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:245,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:247,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:247,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:250,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:251,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:252,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:253,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:254,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:255,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:256,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:257,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:258,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:259,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:260,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:261,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:262,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:263,1
    - Dst: tcmalloc_internal::Parameters::set_huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:264,1
    - Dst: tcmalloc_internal::Parameters::set_min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:265,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:268,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:269,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:272,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:272,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:274,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:276,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:277,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:279,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:281,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:283,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:284,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:285,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:286,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:287,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:289,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:293,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:297,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:301,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:303,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:305,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:306,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:308,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:308,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:309,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:309,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:310,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:310,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:311,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:311,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:312,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:313,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:314,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:315,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:316,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:318,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:320,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:322,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:324,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:326,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:328,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:330,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:332,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:332,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:335,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:336,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:337,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:338,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:339,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:341,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:343,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:345,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 349
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - HasSubstr
    - tcmalloc_internal::Parameters::set_guarded_sampling_interval
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc_internal::Parameters::set_min_hot_access_hint
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc_internal::Parameters::cache_demand_release_short_interval
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
    - absl::Milliseconds
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
    - tcmalloc::MallocExtension::GetStats
    - tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::cache_demand_release_long_interval
    - tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
    - tcmalloc::GetStatsInPbTxt
    - IsExperimentActive
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - absl::StrContains
    - tcmalloc_internal::Parameters::set_huge_cache_demand_based_release
    - EXPECT_THAT
    - tcmalloc_internal::Parameters::per_cpu_caches
    - using_hpaa
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, Parameters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:358,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:374,1
    - Dst: pthread_attr_init
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:374,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:375,1
    - Dst: pthread_attr_setstacksize
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:375,1
    - Dst: static_cast<Args*>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:378,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:381,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:383,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:385,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:389,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:389,1
    - Dst: Args*::output::clear
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:393,1
    - Dst: pthread_create
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:394,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:395,1
    - Dst: pthread_join
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:395,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:402,1
    - Dst: Args*::output::empty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:402,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:406,1
    - Dst: pthread_attr_destroy
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 407
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - Args*::output::clear
    - pthread_attr_init
    - EXPECT_FALSE
    - Args*::output::empty
    - pthread_join
    - tcmalloc::GetStatsInPbTxt
    - SCOPED_TRACE
    - pthread_attr_destroy
    - tcmalloc::MallocExtension::GetStats
    - static_cast<Args*>
    - absl::StrCat
    - static_cast<void*>
    - std::max<size_t>
    - pthread_create
    - ASSERT_EQ
    - pthread_attr_setstacksize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, StackDepth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:410,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:411,1
    - Dst: std::transform
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:413,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:413,1
    - Dst: std::string::end
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:413,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:413,1
    - Dst: std::transform
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:414,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:414,1
    - Dst: std::string::end
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:414,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:414,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:416,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:416,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:416,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:418,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:418,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:423,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 426
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - std::string::begin
    - std::string::end
    - std::transform
    - EXPECT_THAT
    - tcmalloc::MallocExtension::GetStats
    - Not
    - HasSubstr
    - ContainsRegex
    - tcmalloc::GetStatsInPbTxt
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, SelSan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:430,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:437,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:440,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:442,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:445,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:448,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:449,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:451,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:455,1
    - Dst: std::abs
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 456
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - std::abs
    - tcmalloc::MallocExtension::GetNumericProperty
    - GTEST_SKIP
    - EXPECT_GT
    - EXPECT_LE
    - MallocExtension_Internal_GetStatsInPbtxt
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::string::resize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, RequiredBufferSizes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:59,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:62,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:66,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:66,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:70,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:70,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:71,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:72,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:74,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:75,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:82,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:84,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:85,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:85,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:88,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:89,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:90,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:92,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:93,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:94,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:96,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:98,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:99,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:100,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:100,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:102,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:104,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:105,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:107,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:110,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:115,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:117,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:120,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:123,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:127,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:128,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:130,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:132,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:134,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:136,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:139,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:140,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:140,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 143
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - IsExperimentActive
    - tcmalloc::MallocExtension::GetNumericProperty
    - ASSERT_THAT
    - EXPECT_GT
    - ::operator new
    - EXPECT_THAT
    - HasSubstr
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - AnyOf
    - absl::StrCat
    - ContainsRegex
    - tcmalloc::GetStatsInPbTxt
    - testing::Ne
    - tcmalloc_internal::Parameters::profile_sampling_interval
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, Pbtxt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:146,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:147,1
    - Dst: tcmalloc_internal::Parameters::guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:149,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:150,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:151,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:153,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:156,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:157,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:159,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:160,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:162,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:163,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:163,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:165,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:166,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:166,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:168,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:169,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:169,1
    - Dst: tcmalloc_internal::Parameters::cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:171,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:172,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:172,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:175,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:179,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:180,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:183,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:183,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:185,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:186,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:188,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:190,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:192,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:195,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:198,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:200,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:202,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:204,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:206,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:210,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:211,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:213,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:214,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:216,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:218,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:219,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:221,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:222,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:223,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:226,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:226,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:228,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:228,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:230,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:230,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:231,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:232,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:233,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:235,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:236,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:239,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:243,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:245,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:247,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:247,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:250,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:251,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:252,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:253,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:254,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:255,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:256,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:257,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:258,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:259,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:260,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:261,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:262,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:263,1
    - Dst: tcmalloc_internal::Parameters::set_huge_cache_demand_based_release
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:264,1
    - Dst: tcmalloc_internal::Parameters::set_min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:265,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:268,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:269,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:272,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:272,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:274,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:276,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:277,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:279,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:281,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:283,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:284,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:285,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:286,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:287,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:289,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:293,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:297,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:301,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:303,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:305,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:306,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:308,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:308,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:309,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:309,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:310,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:310,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:311,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:311,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:312,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:313,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:314,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:315,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:316,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:318,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:320,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:322,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:324,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:326,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:328,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:330,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:332,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:332,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:335,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:336,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:337,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:338,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:339,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:341,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:343,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:345,1
    - Dst: tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 349
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - HasSubstr
    - tcmalloc_internal::Parameters::set_guarded_sampling_interval
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc_internal::Parameters::set_min_hot_access_hint
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc_internal::Parameters::cache_demand_release_short_interval
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
    - absl::Milliseconds
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
    - tcmalloc::MallocExtension::GetStats
    - tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::cache_demand_release_long_interval
    - tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
    - tcmalloc::GetStatsInPbTxt
    - IsExperimentActive
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - absl::StrContains
    - tcmalloc_internal::Parameters::set_huge_cache_demand_based_release
    - EXPECT_THAT
    - tcmalloc_internal::Parameters::per_cpu_caches
    - using_hpaa
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, Parameters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:358,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:374,1
    - Dst: pthread_attr_init
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:374,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:375,1
    - Dst: pthread_attr_setstacksize
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:375,1
    - Dst: static_cast<Args*>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:378,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:381,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:383,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:385,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:389,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:389,1
    - Dst: Args*::output::clear
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:392,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:393,1
    - Dst: pthread_create
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:394,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:395,1
    - Dst: pthread_join
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:395,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:402,1
    - Dst: Args*::output::empty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:402,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:406,1
    - Dst: pthread_attr_destroy
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 407
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - Args*::output::clear
    - pthread_attr_init
    - EXPECT_FALSE
    - Args*::output::empty
    - pthread_join
    - tcmalloc::GetStatsInPbTxt
    - SCOPED_TRACE
    - pthread_attr_destroy
    - tcmalloc::MallocExtension::GetStats
    - static_cast<Args*>
    - absl::StrCat
    - static_cast<void*>
    - std::max<size_t>
    - pthread_create
    - ASSERT_EQ
    - pthread_attr_setstacksize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, StackDepth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:410,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:411,1
    - Dst: std::transform
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:413,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:413,1
    - Dst: std::string::end
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:413,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:413,1
    - Dst: std::transform
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:414,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:414,1
    - Dst: std::string::end
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:414,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:414,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:416,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:416,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:416,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:418,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:418,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:423,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 426
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - std::string::begin
    - std::string::end
    - std::transform
    - EXPECT_THAT
    - tcmalloc::MallocExtension::GetStats
    - Not
    - HasSubstr
    - ContainsRegex
    - tcmalloc::GetStatsInPbTxt
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, SelSan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:430,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:437,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:440,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:442,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:445,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:448,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:449,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:451,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:455,1
    - Dst: std::abs
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 456
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - std::abs
    - tcmalloc::MallocExtension::GetNumericProperty
    - GTEST_SKIP
    - EXPECT_GT
    - EXPECT_LE
    - MallocExtension_Internal_GetStatsInPbtxt
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::string::resize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, RequiredBufferSizes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: alloc_at_least
      Src: /src/tcmalloc/tcmalloc/testing/alloc_at_least_test.c:25,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/alloc_at_least_test.c:27,1
    - Dst: aligned_alloc_at_least
      Src: /src/tcmalloc/tcmalloc/testing/alloc_at_least_test.c:29,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/alloc_at_least_test.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/alloc_at_least_test.c
    functionUses: 0
    functionsReached:
    - free
    - aligned_alloc_at_least
    - alloc_at_least
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::ActivateGuardedSampling
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:56,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tcmalloc::GuardedAllocAlignmentTest::GuardedAllocAlignmentTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - guardedpage_allocator
    - tcmalloc::MallocExtension::ActivateGuardedSampling
    linkageType: ''
    returnType: void
    signature: void GuardedAllocAlignmentTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:72,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:72,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - EXPECT_EQ
    - free
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedAllocAlignmentTest, Malloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:81,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:82,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:82,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:83,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - posix_memalign
    - reinterpret_cast<uintptr_t>
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedAllocAlignmentTest, PosixMemalign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:93,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:99,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:100,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:101,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:101,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:104,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:104,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 108
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - reinterpret_cast<uintptr_t>
    - ::operator delete
    - static_cast<size_t>
    - std::min
    - absl::bit_ceil
    - std::max
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedAllocAlignmentTest, New)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:112,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:113,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:113,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:114,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::align_val_t>
    - EXPECT_EQ
    - reinterpret_cast<uintptr_t>
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedAllocAlignmentTest, AlignedNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:72,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:72,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - EXPECT_EQ
    - free
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedAllocAlignmentTest, Malloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:81,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:82,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:82,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:83,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - posix_memalign
    - reinterpret_cast<uintptr_t>
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedAllocAlignmentTest, PosixMemalign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:93,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:99,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:100,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:101,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:101,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:104,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:104,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 108
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - reinterpret_cast<uintptr_t>
    - ::operator delete
    - static_cast<size_t>
    - std::min
    - absl::bit_ceil
    - std::max
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedAllocAlignmentTest, New)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:112,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:113,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:113,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:114,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::align_val_t>
    - EXPECT_EQ
    - reinterpret_cast<uintptr_t>
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedAllocAlignmentTest, AlignedNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:126,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:127,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:128,1
    - Dst: unsetenv
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: tcmalloc::TcMallocTest::TcMallocTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - guardedpage_allocator
    - unsetenv
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    linkageType: ''
    returnType: void
    signature: void TcMallocTest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:143,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:146,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:149,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:150,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:151,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:154,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:154,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:159,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:164,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:166,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:173,1
    - Dst: RepeatUnderflow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 174
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - defined
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - auto::get
    - std::make_unique<char[]>
    - GetParam
    - EXPECT_DEATH
    - absl::StrCat
    - RepeatUnderflow
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, UnderflowDetected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:178,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:181,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:184,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:185,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:188,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:188,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:191,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:194,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:199,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:201,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:208,1
    - Dst: RepeatOverflow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 209
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - defined
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - auto::get
    - std::make_unique<char[]>
    - RepeatOverflow
    - GetParam
    - EXPECT_DEATH
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, OverflowDetected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:213,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:216,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:219,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:220,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:223,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:224,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:224,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:226,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:226,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:226,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:229,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:232,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:237,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:241,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:248,1
    - Dst: RepeatZeroByteAccess
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 249
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - defined
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - auto::get
    - std::make_unique<char[]>
    - TC_CHECK_EQ
    - GetParam
    - PointerIsMine
    - EXPECT_DEATH
    - absl::StrCat
    - GetRequestedSize
    - RepeatZeroByteAccess
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, ZeroByteAccessDetected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:252,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:255,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:256,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:262,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:266,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:268,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:275,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 276
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - defined
    - benchmark::DoNotOptimize
    - RepeatUseAfterFree
    - GetParam
    - EXPECT_DEATH
    - absl::StrCat
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, UseAfterFreeDetected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:285,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:290,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:291,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:292,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:295,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:296,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:301,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:303,1
    - Dst: RepeatDoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 304
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - RepeatDoubleFree
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DoubleFreeDetected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:313,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:314,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:316,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:319,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:322,1
    - Dst: RepeatOverflowWrite
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 323
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - RepeatOverflowWrite
    - std::make_unique<char[]>
    - EXPECT_DEATH
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, OverflowWriteDetectedAtFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:327,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:327,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:328,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:329,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:329,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:331,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    - benchmark::DoNotOptimize
    - reinterpret_cast<char*>
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, ReallocNoFalsePositive)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:338,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:343,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:344,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:347,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:348,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:349,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:350,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:354,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:354,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:357,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:357,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:359,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:359,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:361,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 364
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - static_cast<char*>
    - RepeatUseAfterFree
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, OffsetAndLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:368,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:369,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:370,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int*>
    - munmap
    - EXPECT_DEATH
    - mmap
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, NonGwpAsanSegv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<A>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:385,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:386,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:389,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:390,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:390,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:393,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:393,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 402
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - absl::bit_cast<uintptr_t>
    - auto::get
    - guardedpage_allocator
    - EXPECT_TRUE
    - std::make_unique<A>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, b201199449_AlignedObjectConstruction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:408,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:409,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:410,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:411,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:412,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:414,1
    - Dst: DoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:415,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 418
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - DoubleFree
    - EXPECT_DEATH
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DoubleFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:424,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:425,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:426,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:427,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:428,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:430,1
    - Dst: DoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:431,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 434
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - benchmark::DoNotOptimize
    - DoubleFree
    - EXPECT_DEATH
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, LargeDoubleFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:440,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:442,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:445,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:445,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:446,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:446,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 453
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    - static_cast<char*>
    - fprintf
    - EXPECT_DEATH
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, ReallocLarger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:457,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:460,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:460,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:461,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:465,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:465,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:466,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:466,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 473
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    - GTEST_SKIP
    - static_cast<char*>
    - SCOPED_TRACE
    - EXPECT_DEATH
    - absl::StrCat
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, ReallocSmaller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:477,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:480,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:480,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:481,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:485,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:485,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:486,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 493
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    - GTEST_SKIP
    - static_cast<char*>
    - SCOPED_TRACE
    - EXPECT_DEATH
    - absl::StrCat
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, ReallocUseAfterFree)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:497,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:514,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:515,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:515,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:527,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:527,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:531,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:533,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:536,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:542,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:544,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:546,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:551,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:553,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:558,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 575
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - GTEST_SKIP
    - SCOPED_TRACE
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - has_value
    - EXPECT_DEATH
    - __size_returning_new_hot_cold
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedSampled)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:579,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:604,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:605,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:605,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:619,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:619,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:620,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:623,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:625,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:627,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:632,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:634,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:639,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:639,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:641,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 656
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - RoundUp
    - GTEST_SKIP
    - SCOPED_TRACE
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - has_value
    - EXPECT_DEATH
    - __size_returning_new_hot_cold
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedDeleteTooLarge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:660,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:670,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:670,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:671,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:674,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:674,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:675,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:679,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:681,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:685,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:685,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 698
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    - GTEST_SKIP
    - SCOPED_TRACE
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - EXPECT_DEATH
    - ::operator delete
    - std::max
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedDeleteTooSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:702,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:711,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:711,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:713,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:717,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:720,1
    - Dst: tcmalloc::TEST_F
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:732,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:734,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:747,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:747,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:749,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:753,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:757,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 763
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - GTEST_SKIP
    - tcmalloc::TEST_F
    - EXPECT_DEATH
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedSizeClassInFreelistInsertion)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:781,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:802,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:802,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:805,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:805,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:817,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:817,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:819,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:819,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:820,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:828,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:829,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:829,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:831,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:831,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:833,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:836,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 846
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::sized_delete
    - static_cast<char*>
    - SCOPED_TRACE
    - static_cast<size_t>
    - has_value
    - EXPECT_DEATH
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, CorruptedPointer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:850,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:853,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:861,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:864,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:873,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:874,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:874,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:875,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:876,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:878,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:878,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:879,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:887,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 894
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::sized_delete
    - static_cast<uintptr_t>
    - GTEST_SKIP
    - absl::bit_cast<uintptr_t>
    - EXPECT_EQ
    - static_cast<char*>
    - EXPECT_GT
    - static_cast<size_t>
    - ASSERT_EQ
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, CorruptedPointerFixed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:143,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:146,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:149,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:150,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:151,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:154,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:154,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:159,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:164,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:166,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:173,1
    - Dst: RepeatUnderflow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 174
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - defined
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - auto::get
    - std::make_unique<char[]>
    - GetParam
    - EXPECT_DEATH
    - absl::StrCat
    - RepeatUnderflow
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, UnderflowDetected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:178,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:181,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:184,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:185,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:188,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:188,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:191,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:194,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:199,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:201,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:208,1
    - Dst: RepeatOverflow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 209
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - defined
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - auto::get
    - std::make_unique<char[]>
    - RepeatOverflow
    - GetParam
    - EXPECT_DEATH
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, OverflowDetected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:213,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:216,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:219,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:220,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:223,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:224,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:224,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:226,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:226,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:226,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:229,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:232,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:237,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:241,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:248,1
    - Dst: RepeatZeroByteAccess
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 249
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - defined
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - auto::get
    - std::make_unique<char[]>
    - TC_CHECK_EQ
    - GetParam
    - PointerIsMine
    - EXPECT_DEATH
    - absl::StrCat
    - GetRequestedSize
    - RepeatZeroByteAccess
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, ZeroByteAccessDetected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:252,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:255,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:256,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:262,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:266,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:268,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:275,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 276
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - defined
    - benchmark::DoNotOptimize
    - RepeatUseAfterFree
    - GetParam
    - EXPECT_DEATH
    - absl::StrCat
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, UseAfterFreeDetected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:285,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:290,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:291,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:292,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:295,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:296,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:301,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:303,1
    - Dst: RepeatDoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 304
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - RepeatDoubleFree
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DoubleFreeDetected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:313,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:314,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:316,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:319,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:322,1
    - Dst: RepeatOverflowWrite
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 323
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - benchmark::DoNotOptimize
    - RepeatOverflowWrite
    - std::make_unique<char[]>
    - EXPECT_DEATH
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, OverflowWriteDetectedAtFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:327,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:327,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:328,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:329,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:329,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:331,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - malloc
    - realloc
    - benchmark::DoNotOptimize
    - reinterpret_cast<char*>
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, ReallocNoFalsePositive)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:338,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:343,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:344,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:347,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:348,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:349,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:350,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:354,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:354,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:357,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:357,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:359,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:359,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:361,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 364
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - static_cast<char*>
    - RepeatUseAfterFree
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, OffsetAndLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:368,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:369,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:370,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - static_cast<int*>
    - munmap
    - EXPECT_DEATH
    - mmap
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, NonGwpAsanSegv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<A>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:385,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:386,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:389,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:390,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:390,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:393,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:393,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 402
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - absl::bit_cast<uintptr_t>
    - auto::get
    - guardedpage_allocator
    - EXPECT_TRUE
    - std::make_unique<A>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, b201199449_AlignedObjectConstruction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:408,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:409,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:410,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:411,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:412,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:414,1
    - Dst: DoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:415,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 418
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - benchmark::DoNotOptimize
    - DoubleFree
    - EXPECT_DEATH
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DoubleFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:424,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:425,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:426,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:427,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:428,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:430,1
    - Dst: DoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:431,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 434
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - benchmark::DoNotOptimize
    - DoubleFree
    - EXPECT_DEATH
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, LargeDoubleFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:440,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:442,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:445,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:445,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:446,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:446,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 453
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - malloc
    - realloc
    - static_cast<char*>
    - fprintf
    - EXPECT_DEATH
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, ReallocLarger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:457,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:460,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:460,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:461,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:465,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:465,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:466,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:466,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 473
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - malloc
    - realloc
    - GTEST_SKIP
    - static_cast<char*>
    - SCOPED_TRACE
    - EXPECT_DEATH
    - absl::StrCat
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, ReallocSmaller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:477,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:480,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:480,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:481,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:485,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:485,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:486,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 493
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - malloc
    - realloc
    - GTEST_SKIP
    - static_cast<char*>
    - SCOPED_TRACE
    - EXPECT_DEATH
    - absl::StrCat
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, ReallocUseAfterFree)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:497,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:514,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:515,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:515,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:527,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:527,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:531,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:533,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:536,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:542,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:544,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:546,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:551,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:553,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:558,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 575
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - __size_returning_new
    - GTEST_SKIP
    - SCOPED_TRACE
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - has_value
    - EXPECT_DEATH
    - __size_returning_new_hot_cold
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedSampled)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:579,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:604,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:605,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:605,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:619,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:619,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:620,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:623,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:625,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:627,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:632,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:634,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:639,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:639,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:641,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 656
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - __size_returning_new
    - RoundUp
    - GTEST_SKIP
    - SCOPED_TRACE
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - has_value
    - EXPECT_DEATH
    - __size_returning_new_hot_cold
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedDeleteTooLarge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:660,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:670,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:670,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:671,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:674,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:674,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:675,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:679,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:681,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:685,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:685,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 698
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - __size_returning_new
    - GTEST_SKIP
    - SCOPED_TRACE
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - EXPECT_DEATH
    - ::operator delete
    - std::max
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedDeleteTooSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:702,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:711,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:711,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:713,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:717,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:720,1
    - Dst: tcmalloc::TEST_F
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:732,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:734,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:747,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:747,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:749,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:753,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:757,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 763
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - GTEST_SKIP
    - tcmalloc::TEST_F
    - EXPECT_DEATH
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedSizeClassInFreelistInsertion)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:781,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:802,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:802,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:805,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:805,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:817,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:817,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:819,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:819,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:820,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:828,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:829,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:829,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:831,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:831,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:833,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:836,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 846
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::sized_delete
    - static_cast<char*>
    - SCOPED_TRACE
    - static_cast<size_t>
    - has_value
    - EXPECT_DEATH
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, CorruptedPointer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:850,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:853,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:861,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:864,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:873,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:874,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:874,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:875,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:876,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:878,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:878,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:879,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:887,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 894
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::sized_delete
    - static_cast<uintptr_t>
    - GTEST_SKIP
    - absl::bit_cast<uintptr_t>
    - EXPECT_EQ
    - static_cast<char*>
    - EXPECT_GT
    - static_cast<size_t>
    - ASSERT_EQ
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, CorruptedPointerFixed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::ActivateGuardedSampling
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:56,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tcmalloc::GuardedAllocAlignmentTest::GuardedAllocAlignmentTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - guardedpage_allocator
    - tcmalloc::MallocExtension::ActivateGuardedSampling
    linkageType: ''
    returnType: void
    signature: void GuardedAllocAlignmentTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:72,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:72,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - EXPECT_EQ
    - free
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedAllocAlignmentTest, Malloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:81,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:82,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:82,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:83,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - posix_memalign
    - reinterpret_cast<uintptr_t>
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedAllocAlignmentTest, PosixMemalign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:93,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:99,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:100,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:101,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:101,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:104,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:104,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 108
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - reinterpret_cast<uintptr_t>
    - ::operator delete
    - static_cast<size_t>
    - std::min
    - absl::bit_ceil
    - std::max
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedAllocAlignmentTest, New)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:112,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:113,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:113,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:114,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - static_cast<std::align_val_t>
    - EXPECT_EQ
    - reinterpret_cast<uintptr_t>
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedAllocAlignmentTest, AlignedNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:72,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:72,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - EXPECT_EQ
    - free
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedAllocAlignmentTest, Malloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:81,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:82,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:82,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:83,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - posix_memalign
    - reinterpret_cast<uintptr_t>
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedAllocAlignmentTest, PosixMemalign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:93,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:99,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:100,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:101,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:101,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:104,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:104,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 108
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - reinterpret_cast<uintptr_t>
    - ::operator delete
    - static_cast<size_t>
    - std::min
    - absl::bit_ceil
    - std::max
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedAllocAlignmentTest, New)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:112,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:113,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:113,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:114,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - static_cast<std::align_val_t>
    - EXPECT_EQ
    - reinterpret_cast<uintptr_t>
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedAllocAlignmentTest, AlignedNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:126,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:127,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:128,1
    - Dst: unsetenv
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: tcmalloc::TcMallocTest::TcMallocTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - guardedpage_allocator
    - unsetenv
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    linkageType: ''
    returnType: void
    signature: void TcMallocTest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:143,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:146,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:149,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:150,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:151,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:154,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:154,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:159,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:164,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:166,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:173,1
    - Dst: RepeatUnderflow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 174
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - defined
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - auto::get
    - std::make_unique<char[]>
    - GetParam
    - EXPECT_DEATH
    - absl::StrCat
    - RepeatUnderflow
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, UnderflowDetected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:178,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:181,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:184,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:185,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:188,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:188,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:191,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:194,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:199,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:201,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:208,1
    - Dst: RepeatOverflow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 209
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - defined
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - auto::get
    - std::make_unique<char[]>
    - RepeatOverflow
    - GetParam
    - EXPECT_DEATH
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, OverflowDetected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:213,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:216,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:219,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:220,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:223,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:224,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:224,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:226,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:226,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:226,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:229,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:232,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:237,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:241,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:248,1
    - Dst: RepeatZeroByteAccess
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 249
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - defined
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - auto::get
    - std::make_unique<char[]>
    - TC_CHECK_EQ
    - GetParam
    - PointerIsMine
    - EXPECT_DEATH
    - absl::StrCat
    - GetRequestedSize
    - RepeatZeroByteAccess
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, ZeroByteAccessDetected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:252,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:255,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:256,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:262,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:266,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:268,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:275,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 276
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - defined
    - benchmark::DoNotOptimize
    - RepeatUseAfterFree
    - GetParam
    - EXPECT_DEATH
    - absl::StrCat
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, UseAfterFreeDetected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:285,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:290,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:291,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:292,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:295,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:296,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:301,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:303,1
    - Dst: RepeatDoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 304
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - RepeatDoubleFree
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DoubleFreeDetected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:313,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:314,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:316,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:319,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:322,1
    - Dst: RepeatOverflowWrite
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 323
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - benchmark::DoNotOptimize
    - RepeatOverflowWrite
    - std::make_unique<char[]>
    - EXPECT_DEATH
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, OverflowWriteDetectedAtFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:327,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:327,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:328,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:329,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:329,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:331,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - realloc
    - benchmark::DoNotOptimize
    - reinterpret_cast<char*>
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, ReallocNoFalsePositive)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:338,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:343,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:344,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:347,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:348,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:349,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:350,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:354,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:354,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:357,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:357,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:359,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:359,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:361,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 364
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - static_cast<char*>
    - RepeatUseAfterFree
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, OffsetAndLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:368,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:369,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:370,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - static_cast<int*>
    - munmap
    - EXPECT_DEATH
    - mmap
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, NonGwpAsanSegv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<A>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:385,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:386,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:389,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:390,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:390,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:393,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:393,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 402
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - absl::bit_cast<uintptr_t>
    - auto::get
    - guardedpage_allocator
    - EXPECT_TRUE
    - std::make_unique<A>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, b201199449_AlignedObjectConstruction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:408,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:409,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:410,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:411,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:412,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:414,1
    - Dst: DoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:415,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 418
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - benchmark::DoNotOptimize
    - DoubleFree
    - EXPECT_DEATH
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DoubleFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:424,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:425,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:426,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:427,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:428,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:430,1
    - Dst: DoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:431,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 434
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - benchmark::DoNotOptimize
    - DoubleFree
    - EXPECT_DEATH
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, LargeDoubleFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:440,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:442,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:445,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:445,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:446,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:446,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 453
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - realloc
    - static_cast<char*>
    - fprintf
    - EXPECT_DEATH
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, ReallocLarger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:457,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:460,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:460,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:461,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:465,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:465,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:466,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:466,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 473
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - realloc
    - GTEST_SKIP
    - static_cast<char*>
    - SCOPED_TRACE
    - EXPECT_DEATH
    - absl::StrCat
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, ReallocSmaller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:477,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:480,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:480,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:481,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:485,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:485,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:486,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 493
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - realloc
    - GTEST_SKIP
    - static_cast<char*>
    - SCOPED_TRACE
    - EXPECT_DEATH
    - absl::StrCat
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, ReallocUseAfterFree)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:497,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:514,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:515,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:515,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:527,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:527,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:531,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:533,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:536,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:542,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:544,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:546,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:551,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:553,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:558,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 575
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - __size_returning_new
    - GTEST_SKIP
    - SCOPED_TRACE
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - has_value
    - EXPECT_DEATH
    - __size_returning_new_hot_cold
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedSampled)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:579,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:604,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:605,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:605,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:619,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:619,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:620,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:623,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:625,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:627,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:632,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:634,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:639,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:639,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:641,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 656
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - __size_returning_new
    - RoundUp
    - GTEST_SKIP
    - SCOPED_TRACE
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - has_value
    - EXPECT_DEATH
    - __size_returning_new_hot_cold
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedDeleteTooLarge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:660,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:670,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:670,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:671,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:674,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:674,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:675,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:679,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:681,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:685,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:685,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 698
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - __size_returning_new
    - GTEST_SKIP
    - SCOPED_TRACE
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - EXPECT_DEATH
    - ::operator delete
    - std::max
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedDeleteTooSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:702,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:711,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:711,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:713,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:717,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:720,1
    - Dst: tcmalloc::TEST_F
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:732,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:734,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:747,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:747,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:749,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:753,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:757,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 763
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - std::vector::push_back
    - GTEST_SKIP
    - tcmalloc::TEST_F
    - EXPECT_DEATH
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedSizeClassInFreelistInsertion)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:781,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:802,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:802,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:805,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:805,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:817,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:817,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:819,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:819,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:820,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:828,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:829,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:829,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:831,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:831,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:833,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:836,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 846
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::sized_delete
    - static_cast<char*>
    - SCOPED_TRACE
    - static_cast<size_t>
    - has_value
    - EXPECT_DEATH
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, CorruptedPointer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:850,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:853,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:861,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:864,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:873,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:874,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:874,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:875,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:876,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:878,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:878,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:879,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:887,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 894
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::sized_delete
    - static_cast<uintptr_t>
    - GTEST_SKIP
    - absl::bit_cast<uintptr_t>
    - EXPECT_EQ
    - static_cast<char*>
    - EXPECT_GT
    - static_cast<size_t>
    - ASSERT_EQ
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, CorruptedPointerFixed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:143,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:146,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:149,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:150,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:151,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:154,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:154,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:159,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:164,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:166,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:173,1
    - Dst: RepeatUnderflow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 174
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - defined
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - auto::get
    - std::make_unique<char[]>
    - GetParam
    - EXPECT_DEATH
    - absl::StrCat
    - RepeatUnderflow
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, UnderflowDetected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:178,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:181,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:184,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:185,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:188,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:188,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:191,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:194,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:199,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:201,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:208,1
    - Dst: RepeatOverflow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 209
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - defined
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - auto::get
    - std::make_unique<char[]>
    - RepeatOverflow
    - GetParam
    - EXPECT_DEATH
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, OverflowDetected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:213,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:216,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:219,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:220,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:223,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:224,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:224,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:226,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:226,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:226,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:229,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:232,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:237,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:241,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:248,1
    - Dst: RepeatZeroByteAccess
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 249
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - defined
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - auto::get
    - std::make_unique<char[]>
    - TC_CHECK_EQ
    - GetParam
    - PointerIsMine
    - EXPECT_DEATH
    - absl::StrCat
    - GetRequestedSize
    - RepeatZeroByteAccess
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, ZeroByteAccessDetected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:252,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:255,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:256,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:262,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:266,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:268,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:275,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 276
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - defined
    - benchmark::DoNotOptimize
    - RepeatUseAfterFree
    - GetParam
    - EXPECT_DEATH
    - absl::StrCat
    - char::char
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, UseAfterFreeDetected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:285,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:290,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:291,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:292,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:295,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:296,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:301,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:303,1
    - Dst: RepeatDoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 304
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - RepeatDoubleFree
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DoubleFreeDetected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:313,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:314,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:316,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:319,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:322,1
    - Dst: RepeatOverflowWrite
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 323
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - benchmark::DoNotOptimize
    - RepeatOverflowWrite
    - std::make_unique<char[]>
    - EXPECT_DEATH
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, OverflowWriteDetectedAtFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:327,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:327,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:328,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:329,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:329,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:331,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - malloc
    - realloc
    - benchmark::DoNotOptimize
    - reinterpret_cast<char*>
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, ReallocNoFalsePositive)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:338,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:343,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:344,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:347,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:348,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:349,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:350,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:354,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:354,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:357,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:357,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:359,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:359,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:361,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 364
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - guardedpage_allocator
    - static_cast<char*>
    - RepeatUseAfterFree
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, OffsetAndLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:368,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:369,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:370,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - static_cast<int*>
    - munmap
    - EXPECT_DEATH
    - mmap
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, NonGwpAsanSegv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<A>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:385,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:386,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:389,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:390,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:390,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:393,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:393,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 402
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - EXPECT_EQ
    - benchmark::DoNotOptimize
    - absl::bit_cast<uintptr_t>
    - auto::get
    - guardedpage_allocator
    - EXPECT_TRUE
    - std::make_unique<A>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, b201199449_AlignedObjectConstruction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:408,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:409,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:410,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:411,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:412,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:414,1
    - Dst: DoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:415,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 418
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - benchmark::DoNotOptimize
    - DoubleFree
    - EXPECT_DEATH
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DoubleFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:424,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:425,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:426,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:427,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:428,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:430,1
    - Dst: DoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:431,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 434
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - benchmark::DoNotOptimize
    - DoubleFree
    - EXPECT_DEATH
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, LargeDoubleFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:440,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:442,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:445,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:445,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:446,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:446,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 453
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - malloc
    - realloc
    - static_cast<char*>
    - fprintf
    - EXPECT_DEATH
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, ReallocLarger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:457,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:460,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:460,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:461,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:465,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:465,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:466,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:466,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 473
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - malloc
    - realloc
    - GTEST_SKIP
    - static_cast<char*>
    - SCOPED_TRACE
    - EXPECT_DEATH
    - absl::StrCat
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, ReallocSmaller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:477,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:480,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:480,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:481,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:485,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:485,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:486,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 493
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - malloc
    - realloc
    - GTEST_SKIP
    - static_cast<char*>
    - SCOPED_TRACE
    - EXPECT_DEATH
    - absl::StrCat
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, ReallocUseAfterFree)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:497,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:514,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:515,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:515,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:527,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:527,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:531,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:533,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:536,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:542,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:544,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:546,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:551,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:553,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:558,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 575
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - __size_returning_new
    - GTEST_SKIP
    - SCOPED_TRACE
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - has_value
    - EXPECT_DEATH
    - __size_returning_new_hot_cold
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedSampled)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:579,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:604,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:605,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:605,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:619,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:619,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:620,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:623,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:625,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:627,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:632,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:634,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:639,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:639,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:641,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 656
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - __size_returning_new
    - RoundUp
    - GTEST_SKIP
    - SCOPED_TRACE
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - has_value
    - EXPECT_DEATH
    - __size_returning_new_hot_cold
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedDeleteTooLarge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:660,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:670,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:670,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:671,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:674,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:674,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:675,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:679,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:681,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:685,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:685,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 698
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - __size_returning_new
    - GTEST_SKIP
    - SCOPED_TRACE
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - EXPECT_DEATH
    - ::operator delete
    - std::max
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedDeleteTooSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:702,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:711,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:711,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:713,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:717,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:720,1
    - Dst: tcmalloc::TEST_F
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:732,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:734,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:747,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:747,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:749,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:753,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:757,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 763
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 4
    functionsReached:
    - std::vector::push_back
    - GTEST_SKIP
    - tcmalloc::TEST_F
    - EXPECT_DEATH
    - ::operator delete
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedSizeClassInFreelistInsertion)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:781,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:802,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:802,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:805,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:805,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:817,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:817,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:819,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:819,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:820,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:828,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:829,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:829,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:831,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:831,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:833,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:836,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 846
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::sized_delete
    - static_cast<char*>
    - SCOPED_TRACE
    - static_cast<size_t>
    - has_value
    - EXPECT_DEATH
    - absl::StrCat
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, CorruptedPointer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:850,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:853,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:861,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:864,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:873,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:874,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:874,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:875,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:876,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:878,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:878,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:879,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:887,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 894
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::sized_delete
    - static_cast<uintptr_t>
    - GTEST_SKIP
    - absl::bit_cast<uintptr_t>
    - EXPECT_EQ
    - static_cast<char*>
    - EXPECT_GT
    - static_cast<size_t>
    - ASSERT_EQ
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, CorruptedPointerFixed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - requested_size
    - allocated_size
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: tcmalloc::TCMallocHookTest::NewCall
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MallocHookRecorder::CallEntry
    signature: "MallocHookRecorder::CallEntry NewCall(\n      const void* ptr, size_t
      requested_size, size_t allocated_size,\n      HookMemoryMutable is_mutable =
      HookMemoryMutable::kMutable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - deallocated_size
    - allocated_size
    argTypes:
    - void*
    - std::optional<size_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: tcmalloc::TCMallocHookTest::DeleteCall
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MallocHookRecorder::CallEntry
    signature: "MallocHookRecorder::CallEntry DeleteCall(\n      const void* ptr,
      std::optional<size_t> deallocated_size,\n      size_t allocated_size,\n      HookMemoryMutable
      is_mutable = HookMemoryMutable::kMutable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - include_mmap
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: tcmalloc::TCMallocHookTest::Log
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached:
    - ConsumeLog
    linkageType: ''
    returnType: std::vector<MallocHookRecorder::CallEntry>
    signature: std::vector<MallocHookRecorder::CallEntry> Log(bool include_mmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Restart
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tcmalloc::TCMallocHookTest::RestartLog
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached:
    - Restart
    linkageType: ''
    returnType: void
    signature: void RestartLog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: tcmalloc::TCMallocHookTest::GetAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetAllocatedSize
    linkageType: ''
    returnType: size_t
    signature: size_t GetAllocatedSize(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, MallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:94,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:95,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:98,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:100,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:100,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:101,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:101,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - Log
    - EXPECT_THAT
    - DeleteCall
    - NewCall
    - free
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, FreeInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:106,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:107,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:110,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:112,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:112,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:112,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:112,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - Log
    - EXPECT_THAT
    - free_sized
    - DeleteCall
    - NewCall
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, FreeSizedInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:118,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:118,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:119,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:119,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:119,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - free
    - calloc
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, CallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:124,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:125,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:126,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:129,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:132,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - realloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - NewCall
    - free
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, ReallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:138,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:139,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:140,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:143,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:146,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - realloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - NewCall
    - free
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, ReallocShrinkInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:153,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:154,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:157,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:159,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:160,1
    - Dst: testing::AnyOf
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:161,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:162,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:162,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:164,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:164,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:167,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:167,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:167,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:169,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - realloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - testing::AnyOf
    - DeleteCall
    - NewCall
    - free
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, ReallocPopInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:176,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:177,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:178,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:181,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:184,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - realloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - NewCall
    - free
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, BoundedReallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:190,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - strdup
    - Log
    - EXPECT_THAT
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, StrDupInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:197,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - posix_memalign
    - Log
    - EXPECT_THAT
    - ASSERT_EQ
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, PosixMemalignInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - memalign
    - ElementsAre
    - Log
    - EXPECT_THAT
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, MemalignInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - valloc
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, VallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:216,1
    - Dst: pvalloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:217,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:218,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:218,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:219,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:219,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:219,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - pvalloc
    - Log
    - EXPECT_THAT
    - sysconf
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, PvallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator delete
    - ::operator new
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:231,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ::operator delete[]
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorNewArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:237,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator delete
    - ::operator new
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ::operator delete[]
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorNewArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:249,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:250,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:251,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:254,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:255,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:256,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:256,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:257,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - ::operator delete
    - ::operator new
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorDeleteInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:261,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:262,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:266,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:268,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:269,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:269,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:269,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:269,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:272,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:272,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:273,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 275
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - ::operator delete
    - ::operator new
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, SizedOperatorDeleteInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:278,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:279,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:280,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:283,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:284,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:285,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:285,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:286,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ::operator delete[]
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - DeleteCall
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorDeleteArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:290,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:291,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:292,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:295,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:297,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:301,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:301,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:302,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 304
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ::operator delete[]
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - DeleteCall
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, SizedOperatorDeleteArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:307,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:308,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:309,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:312,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:313,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:314,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:314,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:315,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - ::operator delete
    - ::operator new
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorDeleteInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:319,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:320,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:321,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:324,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:325,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:326,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:326,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:327,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ::operator delete[]
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - DeleteCall
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorDeleteArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:331,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:332,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:332,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:333,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:333,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:333,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - __size_returning_new
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator delete
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, SizeReturningOperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::ActivateGuardedSampling
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:338,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:339,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:343,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:344,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:346,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:349,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:350,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:351,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:354,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:355,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:355,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:355,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:356,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:357,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:359,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 361
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - __size_returning_new
    - tcmalloc::MallocExtension::ActivateGuardedSampling
    - ::operator delete[]
    - GetAllocatedSize
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - ElementsAre
    - EXPECT_EQ
    - RestartLog
    - Log
    - EXPECT_THAT
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - ::operator new[]
    - ::operator delete
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, GuardedAllocatedSizeIsRequested)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hook_type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: MAKE_HOOK_CALLBACK
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_HOOK_CALLBACK(hook_type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - requested_size
    - allocated_size
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: tcmalloc::TCMallocHookTest::NewCall
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MallocHookRecorder::CallEntry
    signature: "MallocHookRecorder::CallEntry NewCall(\n      const void* ptr, size_t
      requested_size, size_t allocated_size,\n      HookMemoryMutable is_mutable =
      HookMemoryMutable::kMutable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - deallocated_size
    - allocated_size
    argTypes:
    - void*
    - std::optional<size_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: tcmalloc::TCMallocHookTest::DeleteCall
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MallocHookRecorder::CallEntry
    signature: "MallocHookRecorder::CallEntry DeleteCall(\n      const void* ptr,
      std::optional<size_t> deallocated_size,\n      size_t allocated_size,\n      HookMemoryMutable
      is_mutable = HookMemoryMutable::kMutable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - include_mmap
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: tcmalloc::TCMallocHookTest::Log
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached:
    - ConsumeLog
    linkageType: ''
    returnType: std::vector<MallocHookRecorder::CallEntry>
    signature: std::vector<MallocHookRecorder::CallEntry> Log(bool include_mmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Restart
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tcmalloc::TCMallocHookTest::RestartLog
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached:
    - Restart
    linkageType: ''
    returnType: void
    signature: void RestartLog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: tcmalloc::TCMallocHookTest::GetAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetAllocatedSize
    linkageType: ''
    returnType: size_t
    signature: size_t GetAllocatedSize(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, MallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:94,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:95,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:98,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:100,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:100,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:101,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:101,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - Log
    - EXPECT_THAT
    - DeleteCall
    - NewCall
    - free
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, FreeInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:106,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:107,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:110,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:112,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:112,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:112,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:112,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - Log
    - EXPECT_THAT
    - free_sized
    - DeleteCall
    - NewCall
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, FreeSizedInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:118,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:118,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:119,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:119,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:119,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - free
    - calloc
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, CallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:124,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:125,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:126,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:129,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:132,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - realloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - NewCall
    - free
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, ReallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:138,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:139,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:140,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:143,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:146,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - realloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - NewCall
    - free
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, ReallocShrinkInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:153,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:154,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:157,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:159,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:160,1
    - Dst: testing::AnyOf
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:161,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:162,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:162,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:164,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:164,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:167,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:167,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:167,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:169,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - realloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - testing::AnyOf
    - DeleteCall
    - NewCall
    - free
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, ReallocPopInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:176,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:177,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:178,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:181,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:184,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - realloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - NewCall
    - free
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, BoundedReallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:190,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - strdup
    - Log
    - EXPECT_THAT
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, StrDupInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:197,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - posix_memalign
    - Log
    - EXPECT_THAT
    - ASSERT_EQ
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, PosixMemalignInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - memalign
    - ElementsAre
    - Log
    - EXPECT_THAT
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, MemalignInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - valloc
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, VallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:216,1
    - Dst: pvalloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:217,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:218,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:218,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:219,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:219,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:219,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - pvalloc
    - Log
    - EXPECT_THAT
    - sysconf
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, PvallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator delete
    - ::operator new
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:231,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ::operator delete[]
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorNewArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:237,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator delete
    - ::operator new
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ::operator delete[]
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorNewArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:249,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:250,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:251,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:254,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:255,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:256,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:256,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:257,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - ::operator delete
    - ::operator new
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorDeleteInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:261,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:262,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:266,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:268,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:269,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:269,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:269,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:269,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:272,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:272,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:273,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 275
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - ::operator delete
    - ::operator new
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, SizedOperatorDeleteInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:278,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:279,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:280,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:283,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:284,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:285,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:285,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:286,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ::operator delete[]
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - DeleteCall
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorDeleteArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:290,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:291,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:292,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:295,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:297,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:301,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:301,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:302,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 304
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ::operator delete[]
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - DeleteCall
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, SizedOperatorDeleteArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:307,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:308,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:309,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:312,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:313,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:314,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:314,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:315,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - ::operator delete
    - ::operator new
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorDeleteInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:319,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:320,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:321,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:324,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:325,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:326,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:326,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:327,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ::operator delete[]
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - DeleteCall
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorDeleteArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:331,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:332,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:332,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:333,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:333,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:333,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - __size_returning_new
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator delete
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, SizeReturningOperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::ActivateGuardedSampling
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:338,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:339,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:343,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:344,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:346,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:349,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:350,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:351,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:354,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:355,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:355,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:355,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:356,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:357,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:359,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 361
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - __size_returning_new
    - tcmalloc::MallocExtension::ActivateGuardedSampling
    - ::operator delete[]
    - GetAllocatedSize
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - ElementsAre
    - EXPECT_EQ
    - RestartLog
    - Log
    - EXPECT_THAT
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - ::operator new[]
    - ::operator delete
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, GuardedAllocatedSizeIsRequested)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hook_type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: MAKE_HOOK_CALLBACK
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_HOOK_CALLBACK(hook_type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hook_type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 391
    functionName: MAKE_HOOK_CALLBACK_ABSL
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_HOOK_CALLBACK_ABSL(hook_type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - requested_size
    - allocated_size
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: tcmalloc::TCMallocHookTest::NewCall
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MallocHookRecorder::CallEntry
    signature: "MallocHookRecorder::CallEntry NewCall(\n      const void* ptr, size_t
      requested_size, size_t allocated_size,\n      HookMemoryMutable is_mutable =
      HookMemoryMutable::kMutable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - deallocated_size
    - allocated_size
    argTypes:
    - void*
    - std::optional<size_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: tcmalloc::TCMallocHookTest::DeleteCall
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MallocHookRecorder::CallEntry
    signature: "MallocHookRecorder::CallEntry DeleteCall(\n      const void* ptr,
      std::optional<size_t> deallocated_size,\n      size_t allocated_size,\n      HookMemoryMutable
      is_mutable = HookMemoryMutable::kMutable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - include_mmap
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: tcmalloc::TCMallocHookTest::Log
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached:
    - ConsumeLog
    linkageType: ''
    returnType: std::vector<MallocHookRecorder::CallEntry>
    signature: std::vector<MallocHookRecorder::CallEntry> Log(bool include_mmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Restart
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tcmalloc::TCMallocHookTest::RestartLog
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached:
    - Restart
    linkageType: ''
    returnType: void
    signature: void RestartLog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: tcmalloc::TCMallocHookTest::GetAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetAllocatedSize
    linkageType: ''
    returnType: size_t
    signature: size_t GetAllocatedSize(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, MallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:94,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:95,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:98,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:100,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:100,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:101,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:101,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - Log
    - EXPECT_THAT
    - DeleteCall
    - NewCall
    - free
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, FreeInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:106,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:107,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:110,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:112,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:112,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:112,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:112,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - Log
    - EXPECT_THAT
    - free_sized
    - DeleteCall
    - NewCall
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, FreeSizedInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:118,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:118,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:119,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:119,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:119,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - free
    - calloc
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, CallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:124,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:125,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:126,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:129,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:132,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - realloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - NewCall
    - free
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, ReallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:138,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:139,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:140,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:143,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:146,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - realloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - NewCall
    - free
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, ReallocShrinkInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:153,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:154,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:157,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:159,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:160,1
    - Dst: testing::AnyOf
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:161,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:162,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:162,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:164,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:164,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:167,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:167,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:167,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:169,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - realloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - testing::AnyOf
    - DeleteCall
    - NewCall
    - free
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, ReallocPopInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:176,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:177,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:178,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:181,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:184,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - realloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - NewCall
    - free
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, BoundedReallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:190,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - strdup
    - Log
    - EXPECT_THAT
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, StrDupInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:197,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - posix_memalign
    - Log
    - EXPECT_THAT
    - ASSERT_EQ
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, PosixMemalignInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - memalign
    - ElementsAre
    - Log
    - EXPECT_THAT
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, MemalignInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - valloc
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, VallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:216,1
    - Dst: pvalloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:217,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:218,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:218,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:219,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:219,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:219,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - pvalloc
    - Log
    - EXPECT_THAT
    - sysconf
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, PvallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator delete
    - ::operator new
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:231,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ::operator delete[]
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorNewArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:237,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator delete
    - ::operator new
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ::operator delete[]
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorNewArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:249,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:250,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:251,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:254,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:255,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:256,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:256,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:257,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - ::operator delete
    - ::operator new
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorDeleteInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:261,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:262,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:266,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:268,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:269,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:269,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:269,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:269,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:272,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:272,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:273,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 275
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - ::operator delete
    - ::operator new
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, SizedOperatorDeleteInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:278,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:279,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:280,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:283,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:284,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:285,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:285,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:286,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ::operator delete[]
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - DeleteCall
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorDeleteArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:290,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:291,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:292,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:295,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:297,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:301,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:301,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:302,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 304
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ::operator delete[]
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - DeleteCall
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, SizedOperatorDeleteArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:307,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:308,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:309,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:312,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:313,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:314,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:314,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:315,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - ::operator delete
    - ::operator new
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorDeleteInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:319,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:320,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:321,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:324,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:325,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:326,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:326,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:327,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ::operator delete[]
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - DeleteCall
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorDeleteArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:331,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:332,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:332,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:333,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:333,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:333,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - __size_returning_new
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator delete
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, SizeReturningOperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::ActivateGuardedSampling
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:338,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:339,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:343,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:344,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:346,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:349,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:350,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:351,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:354,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:355,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:355,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:355,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:356,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:357,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:359,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 361
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - __size_returning_new
    - tcmalloc::MallocExtension::ActivateGuardedSampling
    - ::operator delete[]
    - GetAllocatedSize
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - ElementsAre
    - EXPECT_EQ
    - RestartLog
    - Log
    - EXPECT_THAT
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - ::operator new[]
    - ::operator delete
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, GuardedAllocatedSizeIsRequested)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hook_type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: MAKE_HOOK_CALLBACK
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_HOOK_CALLBACK(hook_type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - requested_size
    - allocated_size
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: tcmalloc::TCMallocHookTest::NewCall
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MallocHookRecorder::CallEntry
    signature: "MallocHookRecorder::CallEntry NewCall(\n      const void* ptr, size_t
      requested_size, size_t allocated_size,\n      HookMemoryMutable is_mutable =
      HookMemoryMutable::kMutable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - deallocated_size
    - allocated_size
    argTypes:
    - void*
    - std::optional<size_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: tcmalloc::TCMallocHookTest::DeleteCall
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MallocHookRecorder::CallEntry
    signature: "MallocHookRecorder::CallEntry DeleteCall(\n      const void* ptr,
      std::optional<size_t> deallocated_size,\n      size_t allocated_size,\n      HookMemoryMutable
      is_mutable = HookMemoryMutable::kMutable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - include_mmap
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: tcmalloc::TCMallocHookTest::Log
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached:
    - ConsumeLog
    linkageType: ''
    returnType: std::vector<MallocHookRecorder::CallEntry>
    signature: std::vector<MallocHookRecorder::CallEntry> Log(bool include_mmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Restart
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tcmalloc::TCMallocHookTest::RestartLog
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached:
    - Restart
    linkageType: ''
    returnType: void
    signature: void RestartLog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: tcmalloc::TCMallocHookTest::GetAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetAllocatedSize
    linkageType: ''
    returnType: size_t
    signature: size_t GetAllocatedSize(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:89,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, MallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:94,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:95,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:98,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:100,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:100,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:101,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:101,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - Log
    - EXPECT_THAT
    - DeleteCall
    - NewCall
    - free
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, FreeInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:106,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:107,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:110,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:112,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:112,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:112,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:112,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - Log
    - EXPECT_THAT
    - free_sized
    - DeleteCall
    - NewCall
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, FreeSizedInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:118,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:118,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:119,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:119,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:119,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - free
    - calloc
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, CallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:124,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:125,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:126,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:129,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:131,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:132,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - realloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - NewCall
    - free
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, ReallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:138,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:139,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:140,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:143,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:146,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - realloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - NewCall
    - free
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, ReallocShrinkInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:153,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:154,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:157,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:159,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:160,1
    - Dst: testing::AnyOf
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:161,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:162,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:162,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:164,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:164,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:167,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:167,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:167,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:169,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - realloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - testing::AnyOf
    - DeleteCall
    - NewCall
    - free
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, ReallocPopInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:176,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:177,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:178,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:181,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:184,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - realloc
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - NewCall
    - free
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, BoundedReallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:190,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - strdup
    - Log
    - EXPECT_THAT
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, StrDupInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:197,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - posix_memalign
    - Log
    - EXPECT_THAT
    - ASSERT_EQ
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, PosixMemalignInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:204,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - memalign
    - ElementsAre
    - Log
    - EXPECT_THAT
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, MemalignInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - valloc
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, VallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:216,1
    - Dst: pvalloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:217,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:218,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:218,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:219,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:219,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:219,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - pvalloc
    - Log
    - EXPECT_THAT
    - sysconf
    - free
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, PvallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:226,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator delete
    - ::operator new
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:231,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:232,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ::operator delete[]
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorNewArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:237,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:238,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator delete
    - ::operator new
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:244,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - GetAllocatedSize
    - ::operator delete[]
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorNewArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:249,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:250,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:251,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:254,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:255,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:256,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:256,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:257,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - ::operator delete
    - ::operator new
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorDeleteInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:261,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:262,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:266,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:268,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:269,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:269,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:269,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:269,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:272,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:272,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:273,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 275
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - ::operator delete
    - ::operator new
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, SizedOperatorDeleteInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:278,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:279,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:280,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:283,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:284,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:285,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:285,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:286,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ::operator delete[]
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - DeleteCall
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorDeleteArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:290,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:291,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:292,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:295,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:297,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:301,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:301,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:302,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 304
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ::operator delete[]
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - DeleteCall
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, SizedOperatorDeleteArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:307,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:308,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:309,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:312,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:313,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:314,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:314,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:315,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - DeleteCall
    - ::operator delete
    - ::operator new
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorDeleteInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:319,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:320,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:321,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:324,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:325,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:326,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:326,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:327,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ::operator delete[]
    - ElementsAre
    - benchmark::DoNotOptimize
    - RestartLog
    - Log
    - EXPECT_THAT
    - ::operator new[]
    - DeleteCall
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorDeleteArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:331,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:332,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:332,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:333,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:333,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:333,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - __size_returning_new
    - GetAllocatedSize
    - ElementsAre
    - Log
    - EXPECT_THAT
    - ::operator delete
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, SizeReturningOperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::ActivateGuardedSampling
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:338,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:339,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:343,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:344,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:346,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:349,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:350,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:351,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:354,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:355,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:355,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:355,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:356,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:357,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:359,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 361
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - __size_returning_new
    - tcmalloc::MallocExtension::ActivateGuardedSampling
    - ::operator delete[]
    - GetAllocatedSize
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - ElementsAre
    - EXPECT_EQ
    - RestartLog
    - Log
    - EXPECT_THAT
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - ::operator new[]
    - ::operator delete
    - NewCall
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, GuardedAllocatedSizeIsRequested)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hook_type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: MAKE_HOOK_CALLBACK
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_HOOK_CALLBACK(hook_type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hook_type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 391
    functionName: MAKE_HOOK_CALLBACK_ABSL
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_HOOK_CALLBACK_ABSL(hook_type, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:416,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:418,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:419,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:424,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:427,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:428,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:430,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:436,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:437,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:439,1
    - Dst: SetNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:442,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:443,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:444,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:446,1
    - Dst: SetNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:447,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:448,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:449,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:451,1
    - Dst: ResetNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:452,1
    - Dst: ResetNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:453,1
    - Dst: SetDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:455,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:456,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:457,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:459,1
    - Dst: SetDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:460,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:461,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:462,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:464,1
    - Dst: ResetDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:465,1
    - Dst: ResetDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:466,1
    - Dst: SetSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:468,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:469,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:470,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:472,1
    - Dst: SetSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:473,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:474,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:475,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:477,1
    - Dst: ResetSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:478,1
    - Dst: ResetSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:479,1
    - Dst: SetSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:481,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:482,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:483,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:485,1
    - Dst: SetSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:486,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:487,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:488,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:490,1
    - Dst: ResetSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:491,1
    - Dst: ResetSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 493
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 2
    functionsReached:
    - SetSampledNewHook
    - SetDeleteHook
    - SetSampledDeleteHook
    - ResetDeleteHook
    - GTEST_SKIP
    - ResetNewHook
    - ResetSampledNewHook
    - ResetSampledDeleteHook
    - EXPECT_GT
    - size
    - tcmalloc::MallocExtension::GetStats
    - absl::LeakCheckerIsActive
    - EXPECT_THAT
    - HasSubstr
    - SetNewHook
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, GetStatsReportsHooks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:501,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:508,1
    - Dst: MallocHook::AddNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:508,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:509,1
    - Dst: MallocHook::AddDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:509,1
    - Dst: tcmalloc::MallocExtension::MarkThreadBusy
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:511,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:513,1
    - Dst: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:513,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:514,1
    - Dst: MallocHook::RemoveDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 516
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 2
    functionsReached:
    - MallocHook::AddDeleteHook
    - MallocHook::RemoveDeleteHook
    - MallocHook::AddNewHook
    - tcmalloc::MallocExtension::MarkThreadBusy
    - ASSERT_TRUE
    - MallocHook::RemoveNewHook
    - TC_CHECK
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, MarkThreadBusy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: wrap_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_delete(void* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: wrap_delete_array
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_delete_array(void* ptr,\n                                                           size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: wrap_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_sized_delete(void* ptr,\n                                                           size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: wrap_sized_delete_array
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_sized_delete_array(void* ptr,\n
      \                                                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:67,1
    - Dst: tcmalloc::hot_cold_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: wrap_new_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - operator new
    - tcmalloc::hot_cold_t
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_new_cold(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:72,1
    - Dst: tcmalloc::hot_cold_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: wrap_new_array_aligned_cold_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - std::align_val_t
    - tcmalloc::hot_cold_t
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_new_array_aligned_cold_nothrow(\n
      \   size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:77,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: wrap_new_aligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - operator new
    - std::align_val_t
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_new_aligned(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: wrap_delete_aligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_delete_aligned(void* ptr,\n                                                             size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: wrap_delete_aligned_array
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_delete_aligned_array(\n    void*
      ptr, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: wrap_new_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_new_nothrow(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: wrap_delete_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_delete_nothrow(void* ptr,\n                                                             size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: wrap_calloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_calloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: wrap_free
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_free(void* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: wrap_free_aligned_sized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - free_aligned_sized
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_free_aligned_sized(void* ptr,\n
      \                                                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdallocx
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: wrap_sdallocx
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - sdallocx
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_sdallocx(void* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:125,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: wrap_realloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_realloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reallocarray
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:129,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: wrap_reallocarray
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - reallocarray
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_reallocarray(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:134,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: wrap_posix_memalign
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - abort
    - posix_memalign
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_posix_memalign(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: wrap_aligned_alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - aligned_alloc
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_aligned_alloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: wrap_memalign
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - memalign
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_memalign(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: wrap_size_returning_operator_new
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_size_returning_operator_new(\n
      \   size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_size_returning_operator_new_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: wrap_size_returning_operator_new_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_size_returning_operator_new_nothrow
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: 'ABSL_ATTRIBUTE_ALWAYS_INLINE *

      wrap_size_returning_operator_new_nothrow(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:160,1
    - Dst: tcmalloc::hot_cold_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: wrap_size_returning_operator_new_hot_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::hot_cold_t
    - __size_returning_new_hot_cold
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: 'ABSL_ATTRIBUTE_ALWAYS_INLINE *

      wrap_size_returning_operator_new_hot_cold(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_size_returning_operator_new_hot_cold_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:165,1
    - Dst: tcmalloc::hot_cold_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: wrap_size_returning_operator_new_hot_cold_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_size_returning_operator_new_hot_cold_nothrow
    - tcmalloc::hot_cold_t
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: 'ABSL_ATTRIBUTE_ALWAYS_INLINE *

      wrap_size_returning_operator_new_hot_cold_nothrow(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new_aligned
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:172,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: wrap_size_returning_operator_new_aligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new_aligned
    - std::align_val_t
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: 'ABSL_ATTRIBUTE_ALWAYS_INLINE *

      wrap_size_returning_operator_new_aligned(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_size_returning_operator_new_aligned_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:177,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: wrap_size_returning_operator_new_aligned_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_size_returning_operator_new_aligned_nothrow
    - std::align_val_t
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: 'ABSL_ATTRIBUTE_ALWAYS_INLINE *

      wrap_size_returning_operator_new_aligned_nothrow(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new_aligned_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:184,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:184,1
    - Dst: tcmalloc::hot_cold_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: wrap_size_returning_operator_new_aligned_hot_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new_aligned_hot_cold
    - std::align_val_t
    - tcmalloc::hot_cold_t
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: 'ABSL_ATTRIBUTE_ALWAYS_INLINE *

      wrap_size_returning_operator_new_aligned_hot_cold(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:191,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:192,1
    - Dst: tcmalloc::hot_cold_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: wrap_size_returning_operator_new_aligned_hot_cold_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow
    - std::align_val_t
    - tcmalloc::hot_cold_t
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: 'ABSL_ATTRIBUTE_ALWAYS_INLINE *

      wrap_size_returning_operator_new_aligned_hot_cold_nothrow(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::allocator<char>
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: wrap_std_allocator_allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - std::allocator<char>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_std_allocator_allocate(\n    size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::__allocate_at_least
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: wrap_std_allocator_allocate_at_least_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - std::__allocate_at_least
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: 'ABSL_ATTRIBUTE_ALWAYS_INLINE *

      wrap_std_allocator_allocate_at_least_internal(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::allocate_at_least
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:213,1
    - Dst: std::allocator<char>
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: wrap_std_allocator_allocate_at_least
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - std::allocator<char>
    - std::allocate_at_least
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_std_allocator_allocate_at_least(\n
      \   size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::allocator<char>
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:219,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: wrap_std_allocator_deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - std::allocator<char>
    - static_cast<char*>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_std_allocator_deallocate(\n    void*
      ptr, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:230,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:231,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:234,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 237
    functionName: test
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 2
    functionsReached:
    - free
    - alloc
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:241,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:242,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:243,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:244,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:245,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:246,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:247,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:248,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:249,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:250,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:251,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:252,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:253,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:254,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:255,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:257,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:259,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:262,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:265,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:268,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:269,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:270,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:271,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:272,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:273,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:274,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:275,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:276,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:277,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:278,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 283
    functionName: profile_test_top_func
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - test
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE profile_test_top_func()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:288,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:289,1
    - Dst: profile_test_top_func
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:290,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:291,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:292,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:295,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:296,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:305,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:311,1
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:313,1
    - Dst: snprintf
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:314,1
    - Dst: strstr
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:318,1
    - Dst: strstr
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:318,1
    - Dst: strchr
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:319,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:320,1
    - Dst: absl::StrReplaceAll
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:327,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:331,1
    - Dst: absl::flat_hash_map::find
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:332,1
    - Dst: absl::flat_hash_map::end
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:332,1
    - Dst: std::regex_search
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:334,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:334,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:334,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:341,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:348,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:352,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:353,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:354,1
    - Dst: c_str
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:355,1
    - Dst: check
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:359,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:365,1
    - Dst: check
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:368,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:373,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:374,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 376
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 2
    functionsReached:
    - empty
    - strstr
    - end
    - snprintf
    - ASSERT_NE
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - absl::flat_hash_map::end
    - check
    - fprintf
    - EXPECT_FALSE
    - begin
    - absl::StrReplaceAll
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_GT
    - std::regex_search
    - absl::Symbolize
    - Iterate
    - std::move
    - profile_test_top_func
    - std::vector::push_back
    - std::vector::size
    - absl::StrContains
    - absl::flat_hash_map::find
    - c_str
    - strchr
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, ProfileDropFrames)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: wrap_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_delete(void* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: wrap_delete_array
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_delete_array(void* ptr,\n                                                           size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: wrap_sized_delete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_sized_delete(void* ptr,\n                                                           size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: wrap_sized_delete_array
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_sized_delete_array(void* ptr,\n
      \                                                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:67,1
    - Dst: tcmalloc::hot_cold_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: wrap_new_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - operator new
    - tcmalloc::hot_cold_t
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_new_cold(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:72,1
    - Dst: tcmalloc::hot_cold_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: wrap_new_array_aligned_cold_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - std::align_val_t
    - tcmalloc::hot_cold_t
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_new_array_aligned_cold_nothrow(\n
      \   size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:77,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: wrap_new_aligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - operator new
    - std::align_val_t
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_new_aligned(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: wrap_delete_aligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_delete_aligned(void* ptr,\n                                                             size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: wrap_delete_aligned_array
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_delete_aligned_array(\n    void*
      ptr, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: wrap_new_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_new_nothrow(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: wrap_delete_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_delete_nothrow(void* ptr,\n                                                             size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: wrap_calloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_calloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: wrap_free
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_free(void* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: wrap_free_aligned_sized
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - free_aligned_sized
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_free_aligned_sized(void* ptr,\n
      \                                                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdallocx
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: wrap_sdallocx
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - sdallocx
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_sdallocx(void* ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:125,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: wrap_realloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_realloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reallocarray
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:129,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: wrap_reallocarray
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - reallocarray
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_reallocarray(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:134,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: wrap_posix_memalign
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - abort
    - posix_memalign
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_posix_memalign(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: wrap_aligned_alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - aligned_alloc
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_aligned_alloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: wrap_memalign
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - memalign
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_memalign(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: wrap_size_returning_operator_new
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_size_returning_operator_new(\n
      \   size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_size_returning_operator_new_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: wrap_size_returning_operator_new_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_size_returning_operator_new_nothrow
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: 'ABSL_ATTRIBUTE_ALWAYS_INLINE *

      wrap_size_returning_operator_new_nothrow(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:160,1
    - Dst: tcmalloc::hot_cold_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: wrap_size_returning_operator_new_hot_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::hot_cold_t
    - __size_returning_new_hot_cold
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: 'ABSL_ATTRIBUTE_ALWAYS_INLINE *

      wrap_size_returning_operator_new_hot_cold(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_size_returning_operator_new_hot_cold_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:165,1
    - Dst: tcmalloc::hot_cold_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: wrap_size_returning_operator_new_hot_cold_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_size_returning_operator_new_hot_cold_nothrow
    - tcmalloc::hot_cold_t
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: 'ABSL_ATTRIBUTE_ALWAYS_INLINE *

      wrap_size_returning_operator_new_hot_cold_nothrow(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new_aligned
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:172,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: wrap_size_returning_operator_new_aligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new_aligned
    - std::align_val_t
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: 'ABSL_ATTRIBUTE_ALWAYS_INLINE *

      wrap_size_returning_operator_new_aligned(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_size_returning_operator_new_aligned_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:177,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: wrap_size_returning_operator_new_aligned_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_size_returning_operator_new_aligned_nothrow
    - std::align_val_t
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: 'ABSL_ATTRIBUTE_ALWAYS_INLINE *

      wrap_size_returning_operator_new_aligned_nothrow(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __size_returning_new_aligned_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:184,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:184,1
    - Dst: tcmalloc::hot_cold_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: wrap_size_returning_operator_new_aligned_hot_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - __size_returning_new_aligned_hot_cold
    - std::align_val_t
    - tcmalloc::hot_cold_t
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: 'ABSL_ATTRIBUTE_ALWAYS_INLINE *

      wrap_size_returning_operator_new_aligned_hot_cold(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:191,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:192,1
    - Dst: tcmalloc::hot_cold_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: wrap_size_returning_operator_new_aligned_hot_cold_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow
    - std::align_val_t
    - tcmalloc::hot_cold_t
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: 'ABSL_ATTRIBUTE_ALWAYS_INLINE *

      wrap_size_returning_operator_new_aligned_hot_cold_nothrow(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::allocator<char>
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: wrap_std_allocator_allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - std::allocator<char>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_std_allocator_allocate(\n    size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::__allocate_at_least
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: wrap_std_allocator_allocate_at_least_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - std::__allocate_at_least
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: 'ABSL_ATTRIBUTE_ALWAYS_INLINE *

      wrap_std_allocator_allocate_at_least_internal(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::allocate_at_least
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:213,1
    - Dst: std::allocator<char>
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: wrap_std_allocator_allocate_at_least
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - std::allocator<char>
    - std::allocate_at_least
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * wrap_std_allocator_allocate_at_least(\n
      \   size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::allocator<char>
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:219,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: wrap_std_allocator_deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 0
    functionsReached:
    - std::allocator<char>
    - static_cast<char*>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE wrap_std_allocator_deallocate(\n    void*
      ptr, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:230,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:231,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:234,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 237
    functionName: test
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 3
    functionsReached:
    - free
    - alloc
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:241,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:242,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:243,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:244,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:245,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:246,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:247,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:248,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:249,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:250,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:251,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:252,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:253,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:254,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:255,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:257,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:259,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:262,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:265,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:268,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:269,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:270,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:271,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:272,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:273,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:274,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:275,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:276,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:277,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:278,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 283
    functionName: profile_test_top_func
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 1
    functionsReached:
    - test
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE profile_test_top_func()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:288,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:289,1
    - Dst: profile_test_top_func
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:290,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:291,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:292,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:295,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:296,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:305,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:311,1
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:313,1
    - Dst: snprintf
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:314,1
    - Dst: strstr
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:318,1
    - Dst: strstr
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:318,1
    - Dst: strchr
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:319,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:320,1
    - Dst: absl::StrReplaceAll
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:327,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:331,1
    - Dst: absl::flat_hash_map::find
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:332,1
    - Dst: absl::flat_hash_map::end
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:332,1
    - Dst: std::regex_search
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:334,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:334,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:334,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:341,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:348,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:352,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:353,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:354,1
    - Dst: c_str
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:355,1
    - Dst: check
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:359,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:365,1
    - Dst: check
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:368,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:373,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:374,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 376
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 2
    functionsReached:
    - empty
    - strstr
    - end
    - snprintf
    - ASSERT_NE
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - absl::flat_hash_map::end
    - check
    - fprintf
    - EXPECT_FALSE
    - begin
    - absl::StrReplaceAll
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_GT
    - std::regex_search
    - absl::Symbolize
    - Iterate
    - std::move
    - profile_test_top_func
    - std::vector::push_back
    - std::vector::size
    - absl::StrContains
    - absl::flat_hash_map::find
    - c_str
    - strchr
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, ProfileDropFrames)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::ptrs::reserve
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:75,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:77,1
    - Dst: TypeParam::TypeParam
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:80,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:82,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:82,1
    - Dst: tcmalloc::ptrs::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:84,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:87,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:96,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:106,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:108,1
    - Dst: tcmalloc::ptrs::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 109
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::ptrs::emplace_back
    - tcmalloc::ptrs::reserve
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_GT
    - tcmalloc::ptrs::size
    - reinterpret_cast<uintptr_t>
    - TypeParam::TypeParam
    - ASSERT_EQ
    - std::move
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(AlignedNew, AlignedTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:121,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:121,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:125,1
    - Dst: tcmalloc::ptrs::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:128,1
    - Dst: TypeParam::TypeParam
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:131,1
    - Dst: tcmalloc::ptrs::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:131,1
    - Dst: tcmalloc::ptrs::clear
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::ptrs::emplace_back
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - tcmalloc::ptrs::clear
    - tcmalloc::ptrs::size
    - ASSERT_FALSE
    - absl::LeakCheckerIsActive
    - TypeParam::TypeParam
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(AlignedNew, SizeCheckSampling)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:159,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:159,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:163,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:167,1
    - Dst: NonTrivial::NonTrivial
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:170,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:170,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 174
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - std::vector::emplace_back
    - std::vector::size
    - ASSERT_FALSE
    - absl::LeakCheckerIsActive
    - ASSERT_EQ
    - NonTrivial::NonTrivial
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(AlignedNew, ArraySizeCheckSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ~NonTrivial()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NonTrivial()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::ptrs::reserve
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:75,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:77,1
    - Dst: TypeParam::TypeParam
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:80,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:82,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:82,1
    - Dst: tcmalloc::ptrs::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:84,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:87,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:96,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:106,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:108,1
    - Dst: tcmalloc::ptrs::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 109
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::ptrs::emplace_back
    - tcmalloc::ptrs::reserve
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_GT
    - tcmalloc::ptrs::size
    - reinterpret_cast<uintptr_t>
    - TypeParam::TypeParam
    - ASSERT_EQ
    - std::move
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(AlignedNew, AlignedTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:121,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:121,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:125,1
    - Dst: tcmalloc::ptrs::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:128,1
    - Dst: TypeParam::TypeParam
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:131,1
    - Dst: tcmalloc::ptrs::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:131,1
    - Dst: tcmalloc::ptrs::clear
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::ptrs::emplace_back
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - tcmalloc::ptrs::clear
    - tcmalloc::ptrs::size
    - ASSERT_FALSE
    - absl::LeakCheckerIsActive
    - TypeParam::TypeParam
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(AlignedNew, SizeCheckSampling)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:159,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:159,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:163,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:167,1
    - Dst: NonTrivial::NonTrivial
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:170,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:170,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 174
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - std::vector::emplace_back
    - std::vector::size
    - ASSERT_FALSE
    - absl::LeakCheckerIsActive
    - ASSERT_EQ
    - NonTrivial::NonTrivial
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(AlignedNew, ArraySizeCheckSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ~NonTrivial()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NonTrivial()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::ptrs::reserve
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:75,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:77,1
    - Dst: TypeParam::TypeParam
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:80,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:82,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:82,1
    - Dst: tcmalloc::ptrs::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:84,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:87,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:96,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:106,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:108,1
    - Dst: tcmalloc::ptrs::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 109
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::ptrs::emplace_back
    - tcmalloc::ptrs::reserve
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_GT
    - tcmalloc::ptrs::size
    - reinterpret_cast<uintptr_t>
    - TypeParam::TypeParam
    - ASSERT_EQ
    - std::move
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(AlignedNew, AlignedTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:121,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:121,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:125,1
    - Dst: tcmalloc::ptrs::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:128,1
    - Dst: TypeParam::TypeParam
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:131,1
    - Dst: tcmalloc::ptrs::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:131,1
    - Dst: tcmalloc::ptrs::clear
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::ptrs::emplace_back
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - tcmalloc::ptrs::clear
    - tcmalloc::ptrs::size
    - ASSERT_FALSE
    - absl::LeakCheckerIsActive
    - TypeParam::TypeParam
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(AlignedNew, SizeCheckSampling)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:159,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:159,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:163,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:167,1
    - Dst: NonTrivial::NonTrivial
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:170,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:170,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 174
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - std::vector::emplace_back
    - std::vector::size
    - ASSERT_FALSE
    - absl::LeakCheckerIsActive
    - ASSERT_EQ
    - NonTrivial::NonTrivial
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(AlignedNew, ArraySizeCheckSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ~NonTrivial()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NonTrivial()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::ptrs::reserve
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:75,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:77,1
    - Dst: TypeParam::TypeParam
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:80,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:82,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:82,1
    - Dst: tcmalloc::ptrs::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:84,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:87,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:96,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:106,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:108,1
    - Dst: tcmalloc::ptrs::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 109
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::ptrs::emplace_back
    - tcmalloc::ptrs::reserve
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_GT
    - tcmalloc::ptrs::size
    - reinterpret_cast<uintptr_t>
    - TypeParam::TypeParam
    - ASSERT_EQ
    - std::move
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(AlignedNew, AlignedTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:121,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:121,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:125,1
    - Dst: tcmalloc::ptrs::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:128,1
    - Dst: TypeParam::TypeParam
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:131,1
    - Dst: tcmalloc::ptrs::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:131,1
    - Dst: tcmalloc::ptrs::clear
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::ptrs::emplace_back
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - tcmalloc::ptrs::clear
    - tcmalloc::ptrs::size
    - ASSERT_FALSE
    - absl::LeakCheckerIsActive
    - TypeParam::TypeParam
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(AlignedNew, SizeCheckSampling)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:159,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:159,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:163,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:167,1
    - Dst: NonTrivial::NonTrivial
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:170,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:170,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 174
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - std::vector::emplace_back
    - std::vector::size
    - ASSERT_FALSE
    - absl::LeakCheckerIsActive
    - ASSERT_EQ
    - NonTrivial::NonTrivial
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(AlignedNew, ArraySizeCheckSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ~NonTrivial()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NonTrivial()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:50,1
    - Dst: strstr
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - target
    - stack
    - len
    argTypes:
    - char*
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: tcmalloc::StackMatches
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - strstr
    - absl::Symbolize
    linkageType: ''
    returnType: bool
    signature: bool StackMatches(const char* target, const void* const* stack, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:60,1
    - Dst: tcmalloc::StackMatches
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:62,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - target
    - profile
    argTypes:
    - char*
    - Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: tcmalloc::CountMatchingBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - Profile::Iterate
    - tcmalloc::StackMatches
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t CountMatchingBytes(const char* target, Profile profile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:79,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:79,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:81,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - align
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: tcmalloc::AllocateAllocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - TC_CHECK_EQ
    - benchmark::DoNotOptimize
    - posix_memalign
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE * AllocateAllocate(bool align)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:91,1
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:93,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:96,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:99,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:107,1
    - Dst: tcmalloc::AllocateAllocate
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:107,1
    - Dst: tcmalloc::CountMatchingBytes
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:110,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:112,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:113,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:114,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:117,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:126,1
    - Dst: tcmalloc::AllocateAllocate
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:126,1
    - Dst: tcmalloc::CountMatchingBytes
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:129,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:130,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:131,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:132,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:133,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:136,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:137,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 143
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - std::vector::reserve
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::vector::push_back
    - EXPECT_EQ
    - EXPECT_GE
    - nallocx
    - tcmalloc::AllocateAllocate
    - EXPECT_LE
    - GetParam
    - tcmalloc::CountMatchingBytes
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_P(SamplingTest, ParamChange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:150,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: tcmalloc::AllocateZeroByte
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - ::benchmark::DoNotOptimize
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE * AllocateZeroByte()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:161,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:163,1
    - Dst: tcmalloc::AllocateZeroByte
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:163,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:167,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:168,1
    - Dst: tcmalloc::CountMatchingBytes
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:170,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:172,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::AllocateZeroByte
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::vector::push_back
    - EXPECT_EQ
    - ASSERT_THAT
    - EXPECT_GT
    - tcmalloc::MallocExtension::GetAllocatedSize
    - ::operator delete
    - tcmalloc::CountMatchingBytes
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(Sampling, AlwaysSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: tcmalloc::GetHeapSnapshotNoinline
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE GetHeapSnapshotNoinline()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:200,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:201,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:204,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:206,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:206,1
    - Dst: tcmalloc::GetHeapSnapshotNoinline
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:210,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:211,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:212,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:213,1
    - Dst: tcmalloc::StackMatches
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:217,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:218,1
    - Dst: ProfiledFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:228,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:231,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:231,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:235,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:236,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:236,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:239,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:239,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:243,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:244,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:244,1
    - Dst: ProfiledFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:246,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:249,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:251,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:251,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:252,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:255,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:261,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:262,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:266,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:269,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:274,1
    - Dst: sscanf
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:277,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:278,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:282,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:284,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:285,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:286,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 294
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::StackMatches
    - std::string::find
    - tcmalloc::MallocExtension::GetAllocatedSize
    - ASSERT_NE
    - auto::Iterate
    - tcmalloc::sized_delete
    - tcmalloc::MallocExtension::GetNumericProperty
    - reserve
    - push_back
    - sscanf
    - ASSERT_EQ
    - testing::Ne
    - EXPECT_EQ
    - ASSERT_THAT
    - EXPECT_GT
    - tcmalloc::MallocExtension::GetStats
    - std::string::c_str
    - std::vector::reserve
    - EXPECT_NEAR
    - std::vector::push_back
    - EXPECT_GE
    - ProfiledFragmentation
    - tcmalloc::GetHeapSnapshotNoinline
    - LOG
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(Sampling, InternalFragmentation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:50,1
    - Dst: strstr
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - target
    - stack
    - len
    argTypes:
    - char*
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: tcmalloc::StackMatches
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 2
    functionsReached:
    - strstr
    - absl::Symbolize
    linkageType: ''
    returnType: bool
    signature: bool StackMatches(const char* target, const void* const* stack, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:60,1
    - Dst: tcmalloc::StackMatches
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:62,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - target
    - profile
    argTypes:
    - char*
    - Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: tcmalloc::CountMatchingBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 2
    functionsReached:
    - Profile::Iterate
    - tcmalloc::StackMatches
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t CountMatchingBytes(const char* target, Profile profile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:79,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:79,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:81,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - align
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: tcmalloc::AllocateAllocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 1
    functionsReached:
    - malloc
    - TC_CHECK_EQ
    - benchmark::DoNotOptimize
    - posix_memalign
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE * AllocateAllocate(bool align)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:91,1
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:93,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:96,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:99,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:107,1
    - Dst: tcmalloc::AllocateAllocate
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:107,1
    - Dst: tcmalloc::CountMatchingBytes
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:110,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:112,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:113,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:114,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:117,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:126,1
    - Dst: tcmalloc::AllocateAllocate
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:126,1
    - Dst: tcmalloc::CountMatchingBytes
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:129,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:130,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:131,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:132,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:133,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:136,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:137,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 143
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - std::vector::reserve
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::vector::push_back
    - EXPECT_EQ
    - EXPECT_GE
    - nallocx
    - tcmalloc::AllocateAllocate
    - EXPECT_LE
    - GetParam
    - tcmalloc::CountMatchingBytes
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_P(SamplingTest, ParamChange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:150,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: tcmalloc::AllocateZeroByte
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 1
    functionsReached:
    - ::benchmark::DoNotOptimize
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE * AllocateZeroByte()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:161,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:163,1
    - Dst: tcmalloc::AllocateZeroByte
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:163,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:167,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:168,1
    - Dst: tcmalloc::CountMatchingBytes
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:170,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:172,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::AllocateZeroByte
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::vector::push_back
    - EXPECT_EQ
    - ASSERT_THAT
    - EXPECT_GT
    - tcmalloc::MallocExtension::GetAllocatedSize
    - ::operator delete
    - tcmalloc::CountMatchingBytes
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(Sampling, AlwaysSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: tcmalloc::GetHeapSnapshotNoinline
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE GetHeapSnapshotNoinline()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:200,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:201,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:204,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:206,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:206,1
    - Dst: tcmalloc::GetHeapSnapshotNoinline
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:210,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:211,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:212,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:213,1
    - Dst: tcmalloc::StackMatches
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:217,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:218,1
    - Dst: ProfiledFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:228,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:231,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:231,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:235,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:236,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:236,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:239,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:239,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:243,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:244,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:244,1
    - Dst: ProfiledFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:246,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:249,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:251,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:251,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:252,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:255,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:261,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:262,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:266,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:269,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:274,1
    - Dst: sscanf
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:277,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:278,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:282,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:284,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:285,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:286,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 294
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::StackMatches
    - std::string::find
    - tcmalloc::MallocExtension::GetAllocatedSize
    - ASSERT_NE
    - auto::Iterate
    - tcmalloc::sized_delete
    - tcmalloc::MallocExtension::GetNumericProperty
    - reserve
    - push_back
    - sscanf
    - ASSERT_EQ
    - testing::Ne
    - EXPECT_EQ
    - ASSERT_THAT
    - EXPECT_GT
    - tcmalloc::MallocExtension::GetStats
    - std::string::c_str
    - std::vector::reserve
    - EXPECT_NEAR
    - std::vector::push_back
    - EXPECT_GE
    - ProfiledFragmentation
    - tcmalloc::GetHeapSnapshotNoinline
    - LOG
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(Sampling, InternalFragmentation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:50,1
    - Dst: strstr
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - target
    - stack
    - len
    argTypes:
    - char*
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: tcmalloc::StackMatches
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 4
    functionsReached:
    - strstr
    - absl::Symbolize
    linkageType: ''
    returnType: bool
    signature: bool StackMatches(const char* target, const void* const* stack, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:60,1
    - Dst: tcmalloc::StackMatches
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:62,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - target
    - profile
    argTypes:
    - char*
    - Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: tcmalloc::CountMatchingBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 4
    functionsReached:
    - Profile::Iterate
    - tcmalloc::StackMatches
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t CountMatchingBytes(const char* target, Profile profile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:79,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:79,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:81,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - align
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: tcmalloc::AllocateAllocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - TC_CHECK_EQ
    - benchmark::DoNotOptimize
    - posix_memalign
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE * AllocateAllocate(bool align)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:91,1
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:93,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:96,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:99,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:107,1
    - Dst: tcmalloc::AllocateAllocate
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:107,1
    - Dst: tcmalloc::CountMatchingBytes
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:110,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:112,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:113,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:114,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:117,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:126,1
    - Dst: tcmalloc::AllocateAllocate
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:126,1
    - Dst: tcmalloc::CountMatchingBytes
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:129,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:130,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:131,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:132,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:133,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:136,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:137,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 143
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - std::vector::reserve
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::vector::push_back
    - EXPECT_EQ
    - EXPECT_GE
    - nallocx
    - tcmalloc::AllocateAllocate
    - EXPECT_LE
    - GetParam
    - tcmalloc::CountMatchingBytes
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_P(SamplingTest, ParamChange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:150,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: tcmalloc::AllocateZeroByte
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 2
    functionsReached:
    - ::benchmark::DoNotOptimize
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE * AllocateZeroByte()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:161,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:163,1
    - Dst: tcmalloc::AllocateZeroByte
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:163,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:167,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:168,1
    - Dst: tcmalloc::CountMatchingBytes
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:170,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:172,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::AllocateZeroByte
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::vector::push_back
    - EXPECT_EQ
    - ASSERT_THAT
    - EXPECT_GT
    - tcmalloc::MallocExtension::GetAllocatedSize
    - ::operator delete
    - tcmalloc::CountMatchingBytes
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(Sampling, AlwaysSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: tcmalloc::GetHeapSnapshotNoinline
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE GetHeapSnapshotNoinline()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:200,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:201,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:204,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:206,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:206,1
    - Dst: tcmalloc::GetHeapSnapshotNoinline
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:210,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:211,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:212,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:213,1
    - Dst: tcmalloc::StackMatches
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:217,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:218,1
    - Dst: ProfiledFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:228,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:231,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:231,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:235,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:236,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:236,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:239,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:239,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:243,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:244,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:244,1
    - Dst: ProfiledFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:246,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:249,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:251,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:251,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:252,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:255,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:261,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:262,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:266,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:269,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:274,1
    - Dst: sscanf
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:277,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:278,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:282,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:284,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:285,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:286,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 294
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::StackMatches
    - std::string::find
    - tcmalloc::MallocExtension::GetAllocatedSize
    - ASSERT_NE
    - auto::Iterate
    - tcmalloc::sized_delete
    - tcmalloc::MallocExtension::GetNumericProperty
    - reserve
    - push_back
    - sscanf
    - ASSERT_EQ
    - testing::Ne
    - EXPECT_EQ
    - ASSERT_THAT
    - EXPECT_GT
    - tcmalloc::MallocExtension::GetStats
    - std::string::c_str
    - std::vector::reserve
    - EXPECT_NEAR
    - std::vector::push_back
    - EXPECT_GE
    - ProfiledFragmentation
    - tcmalloc::GetHeapSnapshotNoinline
    - LOG
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(Sampling, InternalFragmentation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:50,1
    - Dst: strstr
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - target
    - stack
    - len
    argTypes:
    - char*
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: tcmalloc::StackMatches
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 6
    functionsReached:
    - strstr
    - absl::Symbolize
    linkageType: ''
    returnType: bool
    signature: bool StackMatches(const char* target, const void* const* stack, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:60,1
    - Dst: tcmalloc::StackMatches
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:62,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - target
    - profile
    argTypes:
    - char*
    - Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: tcmalloc::CountMatchingBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 6
    functionsReached:
    - Profile::Iterate
    - tcmalloc::StackMatches
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t CountMatchingBytes(const char* target, Profile profile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:79,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:79,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:81,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - align
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: tcmalloc::AllocateAllocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 3
    functionsReached:
    - malloc
    - TC_CHECK_EQ
    - benchmark::DoNotOptimize
    - posix_memalign
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE * AllocateAllocate(bool align)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:91,1
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:93,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:96,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:99,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:107,1
    - Dst: tcmalloc::AllocateAllocate
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:107,1
    - Dst: tcmalloc::CountMatchingBytes
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:110,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:112,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:113,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:114,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:117,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:126,1
    - Dst: tcmalloc::AllocateAllocate
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:126,1
    - Dst: tcmalloc::CountMatchingBytes
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:129,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:130,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:131,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:132,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:133,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:136,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:137,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 143
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_width
    - std::vector::reserve
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::vector::push_back
    - EXPECT_EQ
    - EXPECT_GE
    - nallocx
    - tcmalloc::AllocateAllocate
    - EXPECT_LE
    - GetParam
    - tcmalloc::CountMatchingBytes
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_P(SamplingTest, ParamChange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:150,1
    - Dst: ::benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: tcmalloc::AllocateZeroByte
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 3
    functionsReached:
    - ::benchmark::DoNotOptimize
    - ::operator new
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE * AllocateZeroByte()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:161,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:163,1
    - Dst: tcmalloc::AllocateZeroByte
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:163,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:167,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:168,1
    - Dst: tcmalloc::CountMatchingBytes
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:170,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:172,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - tcmalloc::AllocateZeroByte
    - tcmalloc::MallocExtension::SnapshotCurrent
    - std::vector::push_back
    - EXPECT_EQ
    - ASSERT_THAT
    - EXPECT_GT
    - tcmalloc::MallocExtension::GetAllocatedSize
    - ::operator delete
    - tcmalloc::CountMatchingBytes
    - testing::Ne
    linkageType: ''
    returnType: void
    signature: void TEST(Sampling, AlwaysSampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: tcmalloc::GetHeapSnapshotNoinline
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE GetHeapSnapshotNoinline()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:200,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:201,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:204,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:206,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:206,1
    - Dst: tcmalloc::GetHeapSnapshotNoinline
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:210,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:211,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:212,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:213,1
    - Dst: tcmalloc::StackMatches
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:217,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:218,1
    - Dst: ProfiledFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:228,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:231,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:231,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:235,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:236,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:236,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:239,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:239,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:243,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:244,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:244,1
    - Dst: ProfiledFragmentation
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:246,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:249,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:251,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:251,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:252,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:255,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:261,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:262,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:266,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:269,1
    - Dst: std::string::find
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:274,1
    - Dst: sscanf
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:277,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:278,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:282,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:284,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:285,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:286,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sampling_test.cc:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 294
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::StackMatches
    - std::string::find
    - tcmalloc::MallocExtension::GetAllocatedSize
    - ASSERT_NE
    - auto::Iterate
    - tcmalloc::sized_delete
    - tcmalloc::MallocExtension::GetNumericProperty
    - reserve
    - push_back
    - sscanf
    - ASSERT_EQ
    - testing::Ne
    - EXPECT_EQ
    - ASSERT_THAT
    - EXPECT_GT
    - tcmalloc::MallocExtension::GetStats
    - std::string::c_str
    - std::vector::reserve
    - EXPECT_NEAR
    - std::vector::push_back
    - EXPECT_GE
    - ProfiledFragmentation
    - tcmalloc::GetHeapSnapshotNoinline
    - LOG
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(Sampling, InternalFragmentation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:43,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: tcmalloc::HeapProfileReport
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    - auto::Iterate
    linkageType: ''
    returnType: double
    signature: double HeapProfileReport(size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:57,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:59,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:64,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:64,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:74,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:74,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:75,1
    - Dst: tcmalloc::HeapProfileReport
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:81,1
    - Dst: tcmalloc_internal::LinkedList::LinkedList
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:83,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:87,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:88,1
    - Dst: tcmalloc_internal::LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:89,1
    - Dst: tcmalloc::HeapProfileReport
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:92,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:94,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:97,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 100
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc_internal::LinkedList::Push
    - EXPECT_NE
    - EXPECT_NEAR
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - tcmalloc_internal::LinkedList::LinkedList
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc::MallocExtension::GetAllocatedSize
    - ::operator delete
    - tcmalloc::HeapProfileReport
    - free
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(SampleSizeClassTest, Main)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:43,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: tcmalloc::HeapProfileReport
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    - auto::Iterate
    linkageType: ''
    returnType: double
    signature: double HeapProfileReport(size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:57,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:59,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:64,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:64,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:74,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:74,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:75,1
    - Dst: tcmalloc::HeapProfileReport
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:81,1
    - Dst: tcmalloc_internal::LinkedList::LinkedList
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:83,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:87,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:88,1
    - Dst: tcmalloc_internal::LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:89,1
    - Dst: tcmalloc::HeapProfileReport
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:92,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:94,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:97,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 100
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc_internal::LinkedList::Push
    - EXPECT_NE
    - EXPECT_NEAR
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - tcmalloc_internal::LinkedList::LinkedList
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc::MallocExtension::GetAllocatedSize
    - ::operator delete
    - tcmalloc::HeapProfileReport
    - free
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(SampleSizeClassTest, Main)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:43,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: tcmalloc::HeapProfileReport
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    - auto::Iterate
    linkageType: ''
    returnType: double
    signature: double HeapProfileReport(size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:57,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:59,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:64,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:64,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:74,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:74,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:75,1
    - Dst: tcmalloc::HeapProfileReport
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:81,1
    - Dst: tcmalloc_internal::LinkedList::LinkedList
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:83,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:87,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:88,1
    - Dst: tcmalloc_internal::LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:89,1
    - Dst: tcmalloc::HeapProfileReport
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:92,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:94,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:97,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 100
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc_internal::LinkedList::Push
    - EXPECT_NE
    - EXPECT_NEAR
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - tcmalloc_internal::LinkedList::LinkedList
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc::MallocExtension::GetAllocatedSize
    - ::operator delete
    - tcmalloc::HeapProfileReport
    - free
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(SampleSizeClassTest, Main)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:43,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: tcmalloc::HeapProfileReport
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::MallocExtension::SnapshotCurrent
    - auto::Iterate
    linkageType: ''
    returnType: double
    signature: double HeapProfileReport(size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:57,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:59,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:64,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:64,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:74,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:74,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:75,1
    - Dst: tcmalloc::HeapProfileReport
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:81,1
    - Dst: tcmalloc_internal::LinkedList::LinkedList
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:83,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:87,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:88,1
    - Dst: tcmalloc_internal::LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:89,1
    - Dst: tcmalloc::HeapProfileReport
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:92,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:94,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:97,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 100
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
    functionUses: 0
    functionsReached:
    - malloc
    - tcmalloc_internal::LinkedList::Push
    - EXPECT_NE
    - EXPECT_NEAR
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - tcmalloc_internal::LinkedList::LinkedList
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc::MallocExtension::GetAllocatedSize
    - ::operator delete
    - tcmalloc::HeapProfileReport
    - free
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(SampleSizeClassTest, Main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:44,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:45,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' map'
    - name
    argTypes:
    - PropertyMap
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: tcmalloc::Property
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    - TC_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t Property(const PropertyMap& map, const char* name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:53,1
    - Dst: PropertyMap::count
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:53,1
    - Dst: tcmalloc::Property
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:55,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:65,1
    - Dst: tcmalloc::Property
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:67,1
    - Dst: tcmalloc::Property
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:68,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:69,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::Property
    - PropertyMap::count
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_LE
    - tcmalloc_internal::NumCPUs
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(StartupSizeTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:44,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:45,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' map'
    - name
    argTypes:
    - PropertyMap
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: tcmalloc::Property
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc
    functionUses: 1
    functionsReached:
    - find
    - end
    - TC_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t Property(const PropertyMap& map, const char* name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:53,1
    - Dst: PropertyMap::count
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:53,1
    - Dst: tcmalloc::Property
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:55,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:65,1
    - Dst: tcmalloc::Property
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:67,1
    - Dst: tcmalloc::Property
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:68,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:69,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::Property
    - PropertyMap::count
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_LE
    - tcmalloc_internal::NumCPUs
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(StartupSizeTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:44,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:45,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' map'
    - name
    argTypes:
    - PropertyMap
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: tcmalloc::Property
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc
    functionUses: 2
    functionsReached:
    - find
    - end
    - TC_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t Property(const PropertyMap& map, const char* name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:53,1
    - Dst: PropertyMap::count
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:53,1
    - Dst: tcmalloc::Property
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:55,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:65,1
    - Dst: tcmalloc::Property
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:67,1
    - Dst: tcmalloc::Property
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:68,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:69,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::Property
    - PropertyMap::count
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_LE
    - tcmalloc_internal::NumCPUs
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(StartupSizeTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:44,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:45,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' map'
    - name
    argTypes:
    - PropertyMap
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: tcmalloc::Property
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc
    functionUses: 3
    functionsReached:
    - find
    - end
    - TC_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t Property(const PropertyMap& map, const char* name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:53,1
    - Dst: PropertyMap::count
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:53,1
    - Dst: tcmalloc::Property
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:55,1
    - Dst: tcmalloc_internal::NumCPUs
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:65,1
    - Dst: tcmalloc::Property
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:67,1
    - Dst: tcmalloc::Property
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:68,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:69,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::Property
    - PropertyMap::count
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_LE
    - tcmalloc_internal::NumCPUs
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(StartupSizeTest, Basic)
Fuzzer filename: empty-file.cpp
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- tcmalloc/huge_allocator.h
- stddef.h
- tcmalloc/internal/sysinfo.h
- tcmalloc/malloc_hook.h
- absl/base/no_destructor.h
- tcmalloc/internal_malloc_extension.h
- cstdint
- google/protobuf/io/coded_stream.h
- asm/unistd.h
- tcmalloc/internal/atomic_stats_counter.h
- tcmalloc/internal/logging.h
- absl/algorithm/container.h
- cassert
- absl/strings/match.h
- absl/strings/ascii.h
- google/protobuf/io/zero_copy_stream_impl.h
- tcmalloc/huge_address_map.h
- errno.h
- tcmalloc/internal/mock_span.h
- tcmalloc/internal/profile_builder.h
- time.h
- tcmalloc/mock_central_freelist.h
- limits
- features.h
- tcmalloc/size_class_info.h
- tcmalloc/huge_page_aware_allocator.h
- absl/strings/numbers.h
- cerrno
- tcmalloc/global_stats.h
- tcmalloc/internal/percpu_tcmalloc.h
- csignal
- absl/random/random.h
- absl/base/casts.h
- tcmalloc/deallocation_profiler.h
- sys/resource.h
- absl/types/span.h
- tcmalloc/common.h
- malloc.h
- absl/base/internal/low_level_alloc.h
- absl/status/status_matchers.h
- tcmalloc/tcmalloc.h
- atomic
- tcmalloc/transfer_cache.h
- absl/time/time.h
- stdarg.h
- absl/flags/flag.h
- sys/param.h
- tcmalloc/alloc_at_least.h
- tcmalloc/internal/prefetch.h
- tcmalloc/internal/affinity.h
- stdint.h
- tcmalloc/internal/explicitly_constructed.h
- optional
- cstring
- tcmalloc/internal/parameter_accessors.h
- utility
- iostream
- absl/base/config.h
- tcmalloc/mock_static_forwarder.h
- sanitizer/dfsan_interface.h
- tcmalloc/internal/gwp_asan_state.h
- absl/strings/strip.h
- tcmalloc/internal/environment.h
- absl/strings/str_cat.h
- tcmalloc/testing/testutil.h
- tcmalloc/internal/timeseries_tracker.h
- tcmalloc/static_vars.h
- tcmalloc/transfer_cache_internals.h
- tcmalloc/page_allocator_test_util.h
- tcmalloc/mock_transfer_cache.h
- err.h
- absl/synchronization/barrier.h
- ostream
- tcmalloc/page_allocator_interface.h
- map
- tcmalloc/internal/exponential_biased.h
- absl/container/btree_set.h
- version
- pthread.h
- absl/base/internal/cycleclock.h
- array
- absl/synchronization/blocking_counter.h
- tcmalloc/guarded_allocations.h
- sched.h
- absl/debugging/stacktrace.h
- tcmalloc/metadata_object_allocator.h
- climits
- tcmalloc/central_freelist.h
- tcmalloc/span.h
- linux/mempolicy.h
- tcmalloc/span_stats.h
- tcmalloc/mock_virtual_allocator.h
- sys/uio.h
- absl/functional/function_ref.h
- tuple
- random
- tcmalloc/internal/page_size.h
- gmock/gmock.h
- absl/status/statusor.h
- absl/container/flat_hash_map.h
- sys/types.h
- absl/container/inlined_vector.h
- fcntl.h
- io.h
- tcmalloc/internal/mincore.h
- tcmalloc/sampler.h
- tcmalloc/internal_malloc_tracing_extension.h
- tcmalloc/malloc_tracing_extension.h
- tcmalloc/experiment.h
- absl/time/clock.h
- cstddef
- absl/random/distributions.h
- sys/mman.h
- iterator
- thread
- gtest/gtest.h
- absl/base/call_once.h
- tcmalloc/libc_override.h
- absl/strings/str_split.h
- tcmalloc/internal/memory_tag.h
- tcmalloc/internal/sampled_allocation.h
- stdlib.h
- tcmalloc/internal/pageflags.h
- unistd.h
- tcmalloc/huge_pages.h
- memory
- vector
- tcmalloc/internal/cache_topology.h
- tcmalloc/page_allocator.h
- tcmalloc/pagemap.h
- tcmalloc/internal/linux_syscall_support.h
- absl/log/check.h
- absl/random/seed_sequences.h
- tcmalloc/testing/thread_manager.h
- absl/numeric/bits.h
- tcmalloc/guarded_page_allocator.h
- tcmalloc/internal/stacktrace_filter.h
- variant
- signal.h
- absl/hash/hash.h
- absl/synchronization/notification.h
- ctype.h
- tcmalloc/huge_cache.h
- tcmalloc/internal/cpu_utils.h
- tcmalloc/malloc_extension.h
- tcmalloc/segv_handler.h
- tcmalloc/internal/linked_list.h
- absl/base/macros.h
- tcmalloc/metadata_allocator.h
- sys/syscall.h
- tcmalloc/huge_region.h
- absl/container/fixed_array.h
- elf.h
- fuzztest/fuzztest.h
- linux/kernel-page-flags.h
- regex
- absl/log/log.h
- asm/prctl.h
- syscall.h
- tcmalloc/internal/sampled_allocation_recorder.h
- tcmalloc/internal/proc_maps.h
- tcmalloc/internal/profile.pb.h
- absl/log/absl_check.h
- tcmalloc/internal/clock.h
- absl/random/bit_gen_ref.h
- tcmalloc/internal/allocation_guard.h
- tcmalloc/internal/fake_profile.h
- tcmalloc/pages.h
- tcmalloc/testing/test_allocator_harness.h
- tcmalloc/profile_marshaler.h
- absl/strings/string_view.h
- sys/time.h
- string.h
- absl/strings/str_format.h
- functional
- fuzztest/init_fuzztest.h
- tcmalloc/huge_page_subrelease.h
- tcmalloc/allocation_sampling.h
- sys/sysmacros.h
- string
- cstdlib
- absl/memory/memory.h
- tcmalloc/mock_huge_page_static_forwarder.h
- tcmalloc/internal/numa.h
- tcmalloc/experiment_config.h
- sanitizer/asan_interface.h
- absl/base/optimization.h
- tcmalloc/internal/declarations.h
- absl/container/flat_hash_set.h
- tcmalloc/testing/malloc_hook_recorder.h
- link.h
- absl/base/thread_annotations.h
- tcmalloc/internal/percpu.h
- tcmalloc/huge_page_filler.h
- cmath
- absl/cleanup/cleanup.h
- stdio.h
- tcmalloc/cpu_cache.h
- tcmalloc/thread_cache.h
- tcmalloc/internal/optimization.h
- set
- absl/debugging/leak_check.h
- absl/synchronization/mutex.h
- absl/strings/str_replace.h
- iosfwd
- tcmalloc/internal/residency.h
- tcmalloc/internal/overflow.h
- absl/container/btree_map.h
- new
- type_traits
- absl/strings/escaping.h
- sys/stat.h
- tcmalloc/malloc_hook_invoke.h
- tcmalloc/allocation_sample.h
- sys/prctl.h
- tcmalloc/transfer_cache_stats.h
- tcmalloc/peak_heap_tracker.h
- tcmalloc/internal/range_tracker.h
- tcmalloc/internal/memory_stats.h
- tcmalloc/selsan/selsan.h
- absl/base/internal/spinlock.h
- absl/base/internal/sysinfo.h
- tcmalloc/internal/config.h
- absl/base/dynamic_annotations.h
- absl/base/const_init.h
- absl/numeric/int128.h
- benchmark/benchmark.h
- linux/memfd.h
- tcmalloc/parameters.h
- absl/base/nullability.h
- absl/status/status.h
- poll.h
- algorithm
- unwind.h
- tcmalloc/hinted_tracker_lists.h
- initializer_list
- linux/param.h
- absl/base/attributes.h
- google/protobuf/io/gzip_stream.h
- absl/types/optional.h
- tcmalloc/internal/util.h
- sanitizer/allocator_interface.h
- tcmalloc/tcmalloc_policy.h
- cstdio
- absl/strings/str_join.h
- string_view
- ucontext.h
- math.h
- assert.h
- stdalign.h
- tcmalloc/stack_trace_table.h
- tcmalloc/error_reporting.h
- tcmalloc/internal/hook_list.h
- google/protobuf/io/zero_copy_stream_impl_lite.h
- absl/debugging/symbolize.h
- tcmalloc/stats.h
- tcmalloc/sizemap.h
- tcmalloc/arena.h
- tcmalloc/system-alloc.h
- tcmalloc/mock_metadata_allocator.h
- sanitizer/msan_interface.h
report: name
sources:
- function_names: []
  source_file: /src/tcmalloc/tcmalloc/internal_malloc_tracing_extension.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::ThreadCache::ThreadCache
  - tcmalloc_internal::ThreadCache::Cleanup
  - tcmalloc_internal::ThreadCache::FetchFromTransferCache
  - tcmalloc_internal::ThreadCache::ListTooLong
  - tcmalloc_internal::ThreadCache::ReleaseToTransferCache
  - tcmalloc_internal::ThreadCache::Scavenge
  - tcmalloc_internal::ThreadCache::DeallocateSlow
  - tcmalloc_internal::ThreadCache::IncreaseCacheLimit
  - tcmalloc_internal::ThreadCache::IncreaseCacheLimitLocked
  - tcmalloc_internal::ThreadCache::InitTSD
  - tcmalloc_internal::ThreadCache::CreateCacheIfNecessary
  - tcmalloc_internal::ThreadCache::NewHeap
  - tcmalloc_internal::ThreadCache::BecomeIdle
  - tcmalloc_internal::ThreadCache::DestroyThreadCache
  - tcmalloc_internal::ThreadCache::DeleteCache
  - tcmalloc_internal::ThreadCache::RecomputePerThreadCacheSize
  - tcmalloc_internal::ThreadCache::GetStats
  - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
  - tcmalloc_internal::ThreadCache::ThreadCache
  - tcmalloc_internal::ThreadCache::Cleanup
  - tcmalloc_internal::ThreadCache::FetchFromTransferCache
  - tcmalloc_internal::ThreadCache::ListTooLong
  - tcmalloc_internal::ThreadCache::ReleaseToTransferCache
  - tcmalloc_internal::ThreadCache::Scavenge
  - tcmalloc_internal::ThreadCache::DeallocateSlow
  - tcmalloc_internal::ThreadCache::IncreaseCacheLimit
  - tcmalloc_internal::ThreadCache::IncreaseCacheLimitLocked
  - tcmalloc_internal::ThreadCache::InitTSD
  - tcmalloc_internal::ThreadCache::CreateCacheIfNecessary
  - tcmalloc_internal::ThreadCache::NewHeap
  - tcmalloc_internal::ThreadCache::BecomeIdle
  - tcmalloc_internal::ThreadCache::DestroyThreadCache
  - tcmalloc_internal::ThreadCache::DeleteCache
  - tcmalloc_internal::ThreadCache::RecomputePerThreadCacheSize
  - tcmalloc_internal::ThreadCache::GetStats
  - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
  source_file: /src/tcmalloc/tcmalloc/thread_cache.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::handle_oom
  - tcmalloc_internal::handle_oom
  - tcmalloc_internal::handle_oom
  - tcmalloc_internal::align
  - tcmalloc_internal::align
  - tcmalloc_internal::AlignAsPolicy::AlignAsPolicy
  - tcmalloc_internal::AlignAsPolicy::AlignAsPolicy
  - tcmalloc_internal::AlignAsPolicy::AlignAsPolicy
  - tcmalloc_internal::AlignAsPolicy::align
  - tcmalloc_internal::AllocationAccessAsPolicy::AllocationAccessAsPolicy
  - tcmalloc_internal::AllocationAccessAsPolicy::AllocationAccessAsPolicy
  - tcmalloc_internal::AllocationAccessAsPolicy::access
  - tcmalloc_internal::AllocationAccessAsPolicy::is_cold
  - tcmalloc_internal::access
  - tcmalloc_internal::is_cold
  - tcmalloc_internal::access
  - tcmalloc_internal::is_cold
  - tcmalloc_internal::invoke_hooks
  - tcmalloc_internal::invoke_hooks
  - tcmalloc_internal::size_returning
  - tcmalloc_internal::as_pointer
  - tcmalloc_internal::to_pointer
  - tcmalloc_internal::size_returning
  - tcmalloc_internal::as_pointer
  - tcmalloc_internal::to_pointer
  - tcmalloc_internal::FixedNumaPartitionPolicy::FixedNumaPartitionPolicy
  - tcmalloc_internal::FixedNumaPartitionPolicy::partition
  - tcmalloc_internal::FixedNumaPartitionPolicy::scaled_partition
  - tcmalloc_internal::partition
  - tcmalloc_internal::scaled_partition
  - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
  - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
  - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
  - tcmalloc_internal::TCMallocPolicy::handle_oom
  - tcmalloc_internal::TCMallocPolicy::allocation_type
  - tcmalloc_internal::TCMallocPolicy::align
  - tcmalloc_internal::TCMallocPolicy::numa_partition
  - tcmalloc_internal::TCMallocPolicy::scaled_numa_partition
  - tcmalloc_internal::TCMallocPolicy::access
  - tcmalloc_internal::TCMallocPolicy::is_cold
  - tcmalloc_internal::TCMallocPolicy::invoke_hooks
  - tcmalloc_internal::TCMallocPolicy::size_returning
  - tcmalloc_internal::TCMallocPolicy::as_pointer
  - tcmalloc_internal::TCMallocPolicy::to_pointer
  - tcmalloc_internal::TCMallocPolicy::AlignAs
  - tcmalloc_internal::TCMallocPolicy::AccessAs
  - tcmalloc_internal::TCMallocPolicy::AccessAsHot
  - tcmalloc_internal::TCMallocPolicy::AccessAsCold
  - tcmalloc_internal::TCMallocPolicy::Nothrow
  - tcmalloc_internal::TCMallocPolicy::WithoutHooks
  - tcmalloc_internal::TCMallocPolicy::SizeReturning
  - tcmalloc_internal::TCMallocPolicy::InNumaPartition
  - tcmalloc_internal::TCMallocPolicy::InSameNumaPartitionAs
  - tcmalloc_internal::handle_oom
  - tcmalloc_internal::handle_oom
  - tcmalloc_internal::handle_oom
  - tcmalloc_internal::align
  - tcmalloc_internal::align
  - tcmalloc_internal::AlignAsPolicy::AlignAsPolicy
  - tcmalloc_internal::AlignAsPolicy::AlignAsPolicy
  - tcmalloc_internal::AlignAsPolicy::AlignAsPolicy
  - tcmalloc_internal::AlignAsPolicy::align
  - tcmalloc_internal::AllocationAccessAsPolicy::AllocationAccessAsPolicy
  - tcmalloc_internal::AllocationAccessAsPolicy::AllocationAccessAsPolicy
  - tcmalloc_internal::AllocationAccessAsPolicy::access
  - tcmalloc_internal::AllocationAccessAsPolicy::is_cold
  - tcmalloc_internal::access
  - tcmalloc_internal::is_cold
  - tcmalloc_internal::access
  - tcmalloc_internal::is_cold
  - tcmalloc_internal::invoke_hooks
  - tcmalloc_internal::invoke_hooks
  - tcmalloc_internal::size_returning
  - tcmalloc_internal::as_pointer
  - tcmalloc_internal::to_pointer
  - tcmalloc_internal::size_returning
  - tcmalloc_internal::as_pointer
  - tcmalloc_internal::to_pointer
  - tcmalloc_internal::FixedNumaPartitionPolicy::FixedNumaPartitionPolicy
  - tcmalloc_internal::FixedNumaPartitionPolicy::partition
  - tcmalloc_internal::FixedNumaPartitionPolicy::scaled_partition
  - tcmalloc_internal::partition
  - tcmalloc_internal::scaled_partition
  - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
  - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
  - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
  - tcmalloc_internal::TCMallocPolicy::handle_oom
  - tcmalloc_internal::TCMallocPolicy::allocation_type
  - tcmalloc_internal::TCMallocPolicy::align
  - tcmalloc_internal::TCMallocPolicy::numa_partition
  - tcmalloc_internal::TCMallocPolicy::scaled_numa_partition
  - tcmalloc_internal::TCMallocPolicy::access
  - tcmalloc_internal::TCMallocPolicy::is_cold
  - tcmalloc_internal::TCMallocPolicy::invoke_hooks
  - tcmalloc_internal::TCMallocPolicy::size_returning
  - tcmalloc_internal::TCMallocPolicy::as_pointer
  - tcmalloc_internal::TCMallocPolicy::to_pointer
  - tcmalloc_internal::TCMallocPolicy::AlignAs
  - tcmalloc_internal::TCMallocPolicy::AccessAs
  - tcmalloc_internal::TCMallocPolicy::AccessAsHot
  - tcmalloc_internal::TCMallocPolicy::AccessAsCold
  - tcmalloc_internal::TCMallocPolicy::Nothrow
  - tcmalloc_internal::TCMallocPolicy::WithoutHooks
  - tcmalloc_internal::TCMallocPolicy::SizeReturning
  - tcmalloc_internal::TCMallocPolicy::InNumaPartition
  - tcmalloc_internal::TCMallocPolicy::InSameNumaPartitionAs
  source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: NullOomPolicy
      pos:
        line_end: 109
        line_start: 104
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: MallocOomPolicy
      pos:
        line_end: 118
        line_start: 112
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: CppOomPolicy
      pos:
        line_end: 127
        line_start: 121
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: DefaultAlignPolicy
      pos:
        line_end: 136
        line_start: 130
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: MallocAlignPolicy
      pos:
        line_end: 141
        line_start: 139
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: AllocationAccessHotPolicy
      pos:
        line_end: 179
        line_start: 172
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: AllocationAccessColdPolicy
      pos:
        line_end: 185
        line_start: 181
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: InvokeHooksPolicy
      pos:
        line_end: 192
        line_start: 190
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: NoHooksPolicy
      pos:
        line_end: 197
        line_start: 195
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields:
      - name: pointer_type
        type: ABSL_ATTRIBUTE_ALWAYS_INLINE
      item_type: struct
      name: IsSizeReturningPolicy
      pos:
        line_end: 213
        line_start: 200
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields:
      - name: pointer_type
        type: ABSL_ATTRIBUTE_ALWAYS_INLINE
      item_type: struct
      name: NonSizeReturningPolicy
      pos:
        line_end: 227
        line_start: 216
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: LocalNumaPartitionPolicy
      pos:
        line_end: 256
        line_start: 246
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: NullOomPolicy
      pos:
        line_end: 109
        line_start: 104
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: MallocOomPolicy
      pos:
        line_end: 118
        line_start: 112
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: CppOomPolicy
      pos:
        line_end: 127
        line_start: 121
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: DefaultAlignPolicy
      pos:
        line_end: 136
        line_start: 130
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: MallocAlignPolicy
      pos:
        line_end: 141
        line_start: 139
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: AllocationAccessHotPolicy
      pos:
        line_end: 179
        line_start: 172
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: AllocationAccessColdPolicy
      pos:
        line_end: 185
        line_start: 181
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: InvokeHooksPolicy
      pos:
        line_end: 192
        line_start: 190
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: NoHooksPolicy
      pos:
        line_end: 197
        line_start: 195
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields:
      - name: pointer_type
        type: ABSL_ATTRIBUTE_ALWAYS_INLINE
      item_type: struct
      name: IsSizeReturningPolicy
      pos:
        line_end: 213
        line_start: 200
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields:
      - name: pointer_type
        type: ABSL_ATTRIBUTE_ALWAYS_INLINE
      item_type: struct
      name: NonSizeReturningPolicy
      pos:
        line_end: 227
        line_start: 216
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: LocalNumaPartitionPolicy
      pos:
        line_end: 256
        line_start: 246
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/tcmalloc/tcmalloc/guarded_allocations.h
  types:
    enum:
    - enumerators:
      - name: Unknown
      - name: Read
      - name: Write
      item_type: enum
      name: WriteFlag
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/guarded_allocations.h
    - enumerators:
      - name: kUseAfterFree
      - name: kUseAfterFreeWrite
      - name: kBufferUnderflow
      - name: kUseAfterFreeRead
      - name: kBufferUnderflowRead
      - name: kBufferUnderflowWrite
      - name: kBufferOverflow
      - name: kBufferOverflowRead
      - name: kBufferOverflowWrite
      - name: kDoubleFree
      - name: kBufferOverflowOnDealloc
      - name: kUnknown
      item_type: enum
      name: GuardedAllocationsErrorType
      pos:
        line_end: 48
        line_start: 35
        source_file: /src/tcmalloc/tcmalloc/guarded_allocations.h
    - enumerators:
      - name: Unknown
      - name: Read
      - name: Write
      item_type: enum
      name: WriteFlag
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/guarded_allocations.h
    - enumerators:
      - name: kUseAfterFree
      - name: kUseAfterFreeWrite
      - name: kBufferUnderflow
      - name: kUseAfterFreeRead
      - name: kBufferUnderflowRead
      - name: kBufferUnderflowWrite
      - name: kBufferOverflow
      - name: kBufferOverflowRead
      - name: kBufferOverflowWrite
      - name: kDoubleFree
      - name: kBufferOverflowOnDealloc
      - name: kUnknown
      item_type: enum
      name: GuardedAllocationsErrorType
      pos:
        line_end: 48
        line_start: 35
        source_file: /src/tcmalloc/tcmalloc/guarded_allocations.h
    preproc_defs: []
    structs:
    - fields:
      - name: '* stack[kMaxStackDepth]'
        type: void
      - name: depth
        type: size_t
      - name: thread_id
        type: pid_t
      item_type: struct
      name: GuardedAllocationsStackTrace
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/tcmalloc/tcmalloc/guarded_allocations.h
    - fields:
      - name: '* alloc'
        type: void
      - name: status
        type: Profile::Sample::GuardedStatus
      item_type: struct
      name: GuardedAllocWithStatus
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/tcmalloc/tcmalloc/guarded_allocations.h
    - fields:
      - name: '* stack[kMaxStackDepth]'
        type: void
      - name: depth
        type: size_t
      - name: thread_id
        type: pid_t
      item_type: struct
      name: GuardedAllocationsStackTrace
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/tcmalloc/tcmalloc/guarded_allocations.h
    - fields:
      - name: '* alloc'
        type: void
      - name: status
        type: Profile::Sample::GuardedStatus
      item_type: struct
      name: GuardedAllocWithStatus
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/tcmalloc/tcmalloc/guarded_allocations.h
    typedefs: []
    union: []
- function_names:
  - SanitizerVirtualMemoryOverhead
  - SanitizerMemoryUsageMultiplier
  - SanitizerStackSizeMultiplier
  - SanitizerVirtualMemoryOverhead
  - SanitizerMemoryUsageMultiplier
  - SanitizerStackSizeMultiplier
  - SanitizerVirtualMemoryOverhead
  - SanitizerMemoryUsageMultiplier
  - SanitizerStackSizeMultiplier
  - SanitizerVirtualMemoryOverhead
  - SanitizerMemoryUsageMultiplier
  - SanitizerStackSizeMultiplier
  - SanitizerVirtualMemoryOverhead
  - SanitizerMemoryUsageMultiplier
  - SanitizerStackSizeMultiplier
  - SanitizerVirtualMemoryOverhead
  - SanitizerMemoryUsageMultiplier
  - SanitizerStackSizeMultiplier
  - "MallocExtension::AllocationProfilingToken::AllocationProfilingToken(\n    std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase>
    impl)"
  - MallocExtension::AllocationProfilingToken::~AllocationProfilingToken()
  - MallocExtension::AllocationProfilingToken::Stop() &&
  - tcmalloc::Profile::Profile
  - Profile::~Profile()
  - tcmalloc::Profile::Iterate
  - tcmalloc::Profile::Type
  - tcmalloc::Profile::StartTime
  - tcmalloc::Profile::Duration
  - AddressRegion::~AddressRegion()
  - tcmalloc::AddressRegionFactory::GetStats
  - tcmalloc::AddressRegionFactory::GetStatsInPbtxt
  - tcmalloc::AddressRegionFactory::InternalBytesAllocated
  - tcmalloc::AddressRegionFactory::MallocInternal
  - tcmalloc::MallocExtension::GetStats
  - tcmalloc::MallocExtension::ReleaseMemoryToSystem
  - tcmalloc::MallocExtension::GetRegionFactory
  - tcmalloc::MallocExtension::SetRegionFactory
  - tcmalloc::MallocExtension::SnapshotCurrent
  - tcmalloc::MallocExtension::StartAllocationProfiling
  - tcmalloc::MallocExtension::StartLifetimeProfiling
  - tcmalloc::MallocExtension::MarkThreadIdle
  - tcmalloc::MallocExtension::MarkThreadBusy
  - tcmalloc::MallocExtension::GetMemoryLimit
  - tcmalloc::MallocExtension::SetMemoryLimit
  - tcmalloc::MallocExtension::GetProfileSamplingInterval
  - tcmalloc::MallocExtension::SetProfileSamplingInterval
  - tcmalloc::MallocExtension::GetGuardedSamplingInterval
  - tcmalloc::MallocExtension::SetGuardedSamplingInterval
  - tcmalloc::MallocExtension::ActivateGuardedSampling
  - tcmalloc::MallocExtension::PerCpuCachesActive
  - tcmalloc::MallocExtension::GetMaxPerCpuCacheSize
  - tcmalloc::MallocExtension::SetMaxPerCpuCacheSize
  - tcmalloc::MallocExtension::GetMaxTotalThreadCacheBytes
  - tcmalloc::MallocExtension::SetMaxTotalThreadCacheBytes
  - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
  - tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
  - tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
  - tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
  - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
  - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
  - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
  - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
  - tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
  - tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
  - tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
  - tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
  - tcmalloc::MallocExtension::GetNumericProperty
  - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
  - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
  - tcmalloc::MallocExtension::GetAllocatedSize
  - tcmalloc::MallocExtension::GetOwnership
  - tcmalloc::MallocExtension::GetProperties
  - tcmalloc::MallocExtension::ReleaseCpuMemory
  - tcmalloc::MallocExtension::ProcessBackgroundActions
  - tcmalloc::MallocExtension::NeedsProcessBackgroundActions
  - tcmalloc::MallocExtension::GetBackgroundReleaseRate
  - tcmalloc::MallocExtension::SetBackgroundReleaseRate
  - "MallocExtension::AllocationProfilingToken::AllocationProfilingToken(\n    std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase>
    impl)"
  - MallocExtension::AllocationProfilingToken::~AllocationProfilingToken()
  - MallocExtension::AllocationProfilingToken::Stop() &&
  - tcmalloc::Profile::Profile
  - Profile::~Profile()
  - tcmalloc::Profile::Iterate
  - tcmalloc::Profile::Type
  - tcmalloc::Profile::StartTime
  - tcmalloc::Profile::Duration
  - AddressRegion::~AddressRegion()
  - tcmalloc::AddressRegionFactory::GetStats
  - tcmalloc::AddressRegionFactory::GetStatsInPbtxt
  - tcmalloc::AddressRegionFactory::InternalBytesAllocated
  - tcmalloc::AddressRegionFactory::MallocInternal
  - tcmalloc::MallocExtension::GetStats
  - tcmalloc::MallocExtension::ReleaseMemoryToSystem
  - tcmalloc::MallocExtension::GetRegionFactory
  - tcmalloc::MallocExtension::SetRegionFactory
  - tcmalloc::MallocExtension::SnapshotCurrent
  - tcmalloc::MallocExtension::StartAllocationProfiling
  - tcmalloc::MallocExtension::StartLifetimeProfiling
  - tcmalloc::MallocExtension::MarkThreadIdle
  - tcmalloc::MallocExtension::MarkThreadBusy
  - tcmalloc::MallocExtension::GetMemoryLimit
  - tcmalloc::MallocExtension::SetMemoryLimit
  - tcmalloc::MallocExtension::GetProfileSamplingInterval
  - tcmalloc::MallocExtension::SetProfileSamplingInterval
  - tcmalloc::MallocExtension::GetGuardedSamplingInterval
  - tcmalloc::MallocExtension::SetGuardedSamplingInterval
  - tcmalloc::MallocExtension::ActivateGuardedSampling
  - tcmalloc::MallocExtension::PerCpuCachesActive
  - tcmalloc::MallocExtension::GetMaxPerCpuCacheSize
  - tcmalloc::MallocExtension::SetMaxPerCpuCacheSize
  - tcmalloc::MallocExtension::GetMaxTotalThreadCacheBytes
  - tcmalloc::MallocExtension::SetMaxTotalThreadCacheBytes
  - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
  - tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
  - tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
  - tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
  - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
  - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
  - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
  - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
  - tcmalloc::MallocExtension::GetCacheDemandReleaseShortInterval
  - tcmalloc::MallocExtension::SetCacheDemandReleaseShortInterval
  - tcmalloc::MallocExtension::GetCacheDemandReleaseLongInterval
  - tcmalloc::MallocExtension::SetCacheDemandReleaseLongInterval
  - tcmalloc::MallocExtension::GetNumericProperty
  - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
  - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
  - tcmalloc::MallocExtension::GetAllocatedSize
  - tcmalloc::MallocExtension::GetOwnership
  - tcmalloc::MallocExtension::GetProperties
  - tcmalloc::MallocExtension::ReleaseCpuMemory
  - tcmalloc::MallocExtension::ProcessBackgroundActions
  - tcmalloc::MallocExtension::NeedsProcessBackgroundActions
  - tcmalloc::MallocExtension::GetBackgroundReleaseRate
  - tcmalloc::MallocExtension::SetBackgroundReleaseRate
  - nallocx
  - sdallocx
  - TCMALLOC_FREE_SIZED_NOEXCEPT
  - TCMALLOC_FREE_SIZED_NOEXCEPT
  - 'ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t

    __size_returning_new(size_t size)'
  - 'ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t

    __size_returning_new_hot_cold(size_t size, __hot_cold_t)'
  - 'ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t

    tcmalloc_size_returning_operator_new_nothrow(size_t size) noexcept'
  - "ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t\ntcmalloc_size_returning_operator_new_hot_cold_nothrow(size_t
    size,\n                                                      __hot_cold_t) noexcept"
  - 'ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t

    __size_returning_new_aligned(size_t size, std::align_val_t alignment)'
  - "ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t\ntcmalloc_size_returning_operator_new_aligned_nothrow(\n
    \   size_t size, std::align_val_t alignment) noexcept"
  - "ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t\n__size_returning_new_aligned_hot_cold(size_t
    size, std::align_val_t alignment,\n                                      __hot_cold_t)"
  - "ABSL_ATTRIBUTE_NOINLINE tcmalloc::sized_ptr_t\ntcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow(\n
    \   size_t size, std::align_val_t alignment, __hot_cold_t) noexcept"
  - "* operator new(size_t size,\n                                       tcmalloc::hot_cold_t)
    noexcept(false)"
  - "* operator new(size_t size, const std::nothrow_t&,\n                                       tcmalloc::hot_cold_t)
    noexcept"
  - "* operator new[](size_t size,\n                                         tcmalloc::hot_cold_t)
    noexcept(false)"
  - "* operator new[](size_t size, const std::nothrow_t&,\n                                         tcmalloc::hot_cold_t)
    noexcept"
  - "* operator new(size_t size, std::align_val_t alignment,\n                                       tcmalloc::hot_cold_t)
    noexcept(false)"
  - "* operator new(size_t size, std::align_val_t alignment,\n                                       const
    std::nothrow_t&,\n                                       tcmalloc::hot_cold_t)
    noexcept"
  - "* operator new[](size_t size,\n                                         std::align_val_t
    alignment,\n                                         tcmalloc::hot_cold_t) noexcept(false)"
  - "* operator new[](size_t size,\n                                         std::align_val_t
    alignment,\n                                         const std::nothrow_t&,\n
    \                                        tcmalloc::hot_cold_t) noexcept"
  source_file: /src/tcmalloc/tcmalloc/malloc_extension.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TCMALLOC_UNDER_SANITIZERS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.cc
      type_or_value: '1'
    - item_type: preproc_def
      name: TCMALLOC_UNDER_SANITIZERS
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.cc
      type_or_value: '0'
    - item_type: preproc_def
      name: ABSL_INTERNAL_HAVE_WEAK_MALLOCEXTENSION_STUBS
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.cc
      type_or_value: '0'
    - item_type: preproc_def
      name: ABSL_INTERNAL_HAVE_WEAK_MALLOCEXTENSION_STUBS
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.cc
      type_or_value: '1'
    - item_type: preproc_def
      name: ABSL_INTERNAL_HAVE_WEAK_MALLOCEXTENSION_STUBS
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.cc
      type_or_value: '0'
    - item_type: preproc_def
      name: ABSL_INTERNAL_HAVE_WEAK_MALLOCEXTENSION_STUBS
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.cc
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::ThreadCache
  - tcmalloc_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::FreeList::Init
  - tcmalloc_internal::FreeList::max_length
  - tcmalloc_internal::FreeList::set_max_length
  - tcmalloc_internal::FreeList::length_overages
  - tcmalloc_internal::FreeList::set_length_overages
  - tcmalloc_internal::FreeList::lowwatermark
  - tcmalloc_internal::FreeList::clear_lowwatermark
  - tcmalloc_internal::FreeList::TryPop
  - tcmalloc_internal::FreeList::PopBatch
  - tcmalloc_internal::ThreadCache::Allocate
  - 'ABSL_ATTRIBUTE_ALWAYS_INLINE

    ThreadCache::Deallocate(void* ptr, size_t size_class)'
  - '* ABSL_ATTRIBUTE_ALWAYS_INLINE

    ThreadCache::GetCacheIfPresent()'
  - tcmalloc_internal::ThreadCache::GetCache
  - tcmalloc_internal::ThreadCache
  - tcmalloc_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::FreeList::Init
  - tcmalloc_internal::FreeList::max_length
  - tcmalloc_internal::FreeList::set_max_length
  - tcmalloc_internal::FreeList::length_overages
  - tcmalloc_internal::FreeList::set_length_overages
  - tcmalloc_internal::FreeList::lowwatermark
  - tcmalloc_internal::FreeList::clear_lowwatermark
  - tcmalloc_internal::FreeList::TryPop
  - tcmalloc_internal::FreeList::PopBatch
  - tcmalloc_internal::ThreadCache::Allocate
  - 'ABSL_ATTRIBUTE_ALWAYS_INLINE

    ThreadCache::Deallocate(void* ptr, size_t size_class)'
  - '* ABSL_ATTRIBUTE_ALWAYS_INLINE

    ThreadCache::GetCacheIfPresent()'
  - tcmalloc_internal::ThreadCache::GetCache
  source_file: /src/tcmalloc/tcmalloc/thread_cache.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::Marshal
  - tcmalloc::Marshal
  source_file: /src/tcmalloc/tcmalloc/profile_marshaler.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::MetadataObjectAllocator::MetadataObjectAllocator
  - tcmalloc_internal::MetadataObjectAllocator::New
  - tcmalloc_internal::MetadataObjectAllocator::NewWithSize
  - tcmalloc_internal::MetadataObjectAllocator::ABSL_ATTRIBUTE_NONNULL
  - tcmalloc_internal::MetadataObjectAllocator::stats
  - tcmalloc_internal::MetadataObjectAllocator::LockAndAllocMemory
  - tcmalloc_internal::MetadataObjectAllocator::ABSL_ATTRIBUTE_NONNULL
  - tcmalloc_internal::MetadataObjectAllocator::MetadataObjectAllocator
  - tcmalloc_internal::MetadataObjectAllocator::New
  - tcmalloc_internal::MetadataObjectAllocator::NewWithSize
  - tcmalloc_internal::MetadataObjectAllocator::ABSL_ATTRIBUTE_NONNULL
  - tcmalloc_internal::MetadataObjectAllocator::stats
  - tcmalloc_internal::MetadataObjectAllocator::LockAndAllocMemory
  - tcmalloc_internal::MetadataObjectAllocator::ABSL_ATTRIBUTE_NONNULL
  source_file: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: in_use
        type: size_t
      - name: total
        type: size_t
      item_type: struct
      name: AllocatorStats
      pos:
        line_end: 45
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    - fields:
      - name: in_use
        type: size_t
      - name: total
        type: size_t
      item_type: struct
      name: AllocatorStats
      pos:
        line_end: 45
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/metadata_object_allocator.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::default_subrelease
  - tcmalloc_internal::default_subrelease
  source_file: /src/tcmalloc/tcmalloc/want_hpaa.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcmalloc/tcmalloc/transfer_cache_stats.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: insert_hits
        type: size_t
      - name: insert_misses
        type: size_t
      - name: insert_object_misses
        type: size_t
      - name: remove_hits
        type: size_t
      - name: remove_object_hits
        type: size_t
      - name: remove_misses
        type: size_t
      - name: remove_object_misses
        type: size_t
      - name: used
        type: size_t
      - name: capacity
        type: size_t
      - name: max_capacity
        type: size_t
      item_type: struct
      name: TransferCacheStats
      pos:
        line_end: 33
        line_start: 22
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_stats.h
    - fields:
      - name: insert_hits
        type: size_t
      - name: insert_misses
        type: size_t
      - name: insert_object_misses
        type: size_t
      - name: remove_hits
        type: size_t
      - name: remove_object_hits
        type: size_t
      - name: remove_misses
        type: size_t
      - name: remove_object_misses
        type: size_t
      - name: used
        type: size_t
      - name: capacity
        type: size_t
      - name: max_capacity
        type: size_t
      item_type: struct
      name: TransferCacheStats
      pos:
        line_end: 33
        line_start: 22
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_stats.h
    - fields:
      - name: insert_hits
        type: size_t
      - name: insert_misses
        type: size_t
      - name: insert_object_misses
        type: size_t
      - name: remove_hits
        type: size_t
      - name: remove_object_hits
        type: size_t
      - name: remove_misses
        type: size_t
      - name: remove_object_misses
        type: size_t
      - name: used
        type: size_t
      - name: capacity
        type: size_t
      - name: max_capacity
        type: size_t
      item_type: struct
      name: TransferCacheStats
      pos:
        line_end: 33
        line_start: 22
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_stats.h
    - fields:
      - name: insert_hits
        type: size_t
      - name: insert_misses
        type: size_t
      - name: insert_object_misses
        type: size_t
      - name: remove_hits
        type: size_t
      - name: remove_object_hits
        type: size_t
      - name: remove_misses
        type: size_t
      - name: remove_object_misses
        type: size_t
      - name: used
        type: size_t
      - name: capacity
        type: size_t
      - name: max_capacity
        type: size_t
      item_type: struct
      name: TransferCacheStats
      pos:
        line_end: 33
        line_start: 22
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_stats.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcmalloc/tcmalloc/alloc_at_least.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALLOC_AT_LEAST_NOEXCEPT
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/tcmalloc/tcmalloc/alloc_at_least.h
      type_or_value: noexcept
    structs:
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      item_type: struct
      name: alloc_result_t
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/tcmalloc/tcmalloc/alloc_at_least.h
    typedefs: []
    union: []
- function_names:
  - namespace::tcmalloc_internal
  - FuzzCFL
  - FuzzCFL
  source_file: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcmalloc/tcmalloc/experiment_config.h
  types:
    enum:
    - enumerators:
      - name: TCMALLOC_COARSE_LFR_TRACKERS
      - name: TEST_ONLY_TCMALLOC_HUGE_CACHE_RELEASE_30S
      - name: TEST_ONLY_L3_AWARE
      - name: TEST_ONLY_TCMALLOC_COARSE_LFR_TRACKERS
      - name: TCMALLOC_USERMODE_HUGEPAGE_COLLAPSE
      - name: TEST_ONLY_TCMALLOC_POW2_SIZECLASS
      - name: TEST_ONLY_TCMALLOC_REUSE_SIZE_CLASSES_V2
      - name: TEST_ONLY_TCMALLOC_SHARDED_TRANSFER_CACHE
      - name: kMaxExperimentID
      item_type: enum
      name: Experiment
      pos:
        line_end: 36
        line_start: 22
        source_file: /src/tcmalloc/tcmalloc/experiment_config.h
    - enumerators:
      - name: TCMALLOC_COARSE_LFR_TRACKERS
      - name: TEST_ONLY_TCMALLOC_HUGE_CACHE_RELEASE_30S
      - name: TEST_ONLY_L3_AWARE
      - name: TEST_ONLY_TCMALLOC_COARSE_LFR_TRACKERS
      - name: TCMALLOC_USERMODE_HUGEPAGE_COLLAPSE
      - name: TEST_ONLY_TCMALLOC_POW2_SIZECLASS
      - name: TEST_ONLY_TCMALLOC_REUSE_SIZE_CLASSES_V2
      - name: TEST_ONLY_TCMALLOC_SHARDED_TRANSFER_CACHE
      - name: kMaxExperimentID
      item_type: enum
      name: Experiment
      pos:
        line_end: 36
        line_start: 22
        source_file: /src/tcmalloc/tcmalloc/experiment_config.h
    preproc_defs: []
    structs:
    - fields:
      - name: id
        type: Experiment
      - name: name
        type: absl::string_view
      item_type: struct
      name: ExperimentConfig
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/tcmalloc/tcmalloc/experiment_config.h
    - fields:
      - name: id
        type: Experiment
      - name: name
        type: absl::string_view
      item_type: struct
      name: ExperimentConfig
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/tcmalloc/tcmalloc/experiment_config.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcmalloc/tcmalloc/profile_marshaler.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::PackedSpanAndSizeclass::set
  - tcmalloc_internal::PackedSpanAndSizeclass::span
  - tcmalloc_internal::PackedSpanAndSizeclass::sizeclass
  - tcmalloc_internal::PageMap2::span
  - tcmalloc_internal::PageMap2::PageMap2
  - tcmalloc_internal::PageMap2::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::PageMap2::get_next_set_page
  - tcmalloc_internal::PageMap2::ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
  - tcmalloc_internal::PageMap2::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::PageMap2::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::PageMap2::set
  - tcmalloc_internal::PageMap2::set_with_sizeclass
  - tcmalloc_internal::PageMap2::clear_sizeclass
  - tcmalloc_internal::PageMap2::get_hugepage
  - tcmalloc_internal::PageMap2::set_hugepage
  - tcmalloc_internal::PageMap2::Ensure
  - tcmalloc_internal::PageMap2::bytes_used
  - tcmalloc_internal::PageMap2::RootSize
  - tcmalloc_internal::PageMap2::RootAddress
  - tcmalloc_internal::PageMap3::span
  - tcmalloc_internal::PageMap3::PageMap3
  - tcmalloc_internal::PageMap3::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::PageMap3::get_next_set_page
  - tcmalloc_internal::PageMap3::ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
  - tcmalloc_internal::PageMap3::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::PageMap3::sizeclass
  - tcmalloc_internal::PageMap3::set
  - tcmalloc_internal::PageMap3::set_with_sizeclass
  - tcmalloc_internal::PageMap3::clear_sizeclass
  - tcmalloc_internal::PageMap3::get_hugepage
  - tcmalloc_internal::PageMap3::set_hugepage
  - tcmalloc_internal::PageMap3::Ensure
  - tcmalloc_internal::PageMap3::bytes_used
  - tcmalloc_internal::PageMap3::RootSize
  - tcmalloc_internal::PageMap3::RootAddress
  - tcmalloc_internal::PageMap::PageMap
  - tcmalloc_internal::PageMap::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::PageMap::Set
  - tcmalloc_internal::PageMap::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageMap::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::PageMap::GetExistingDescriptorAndSizeClass
  - tcmalloc_internal::PageMap::GetExistingDescriptor
  - tcmalloc_internal::PageMap::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageMap::GetHugepage
  - tcmalloc_internal::PageMap::SetHugepage
  - tcmalloc_internal::PageMap::GetAllocatedSpans
  - tcmalloc_internal::PackedSpanAndSizeclass::set
  - tcmalloc_internal::PackedSpanAndSizeclass::span
  - tcmalloc_internal::PackedSpanAndSizeclass::sizeclass
  - tcmalloc_internal::PageMap2::span
  - tcmalloc_internal::PageMap2::PageMap2
  - tcmalloc_internal::PageMap2::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::PageMap2::get_next_set_page
  - tcmalloc_internal::PageMap2::ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
  - tcmalloc_internal::PageMap2::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::PageMap2::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::PageMap2::set
  - tcmalloc_internal::PageMap2::set_with_sizeclass
  - tcmalloc_internal::PageMap2::clear_sizeclass
  - tcmalloc_internal::PageMap2::get_hugepage
  - tcmalloc_internal::PageMap2::set_hugepage
  - tcmalloc_internal::PageMap2::Ensure
  - tcmalloc_internal::PageMap2::bytes_used
  - tcmalloc_internal::PageMap2::RootSize
  - tcmalloc_internal::PageMap2::RootAddress
  - tcmalloc_internal::PageMap3::span
  - tcmalloc_internal::PageMap3::PageMap3
  - tcmalloc_internal::PageMap3::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::PageMap3::get_next_set_page
  - tcmalloc_internal::PageMap3::ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
  - tcmalloc_internal::PageMap3::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::PageMap3::sizeclass
  - tcmalloc_internal::PageMap3::set
  - tcmalloc_internal::PageMap3::set_with_sizeclass
  - tcmalloc_internal::PageMap3::clear_sizeclass
  - tcmalloc_internal::PageMap3::get_hugepage
  - tcmalloc_internal::PageMap3::set_hugepage
  - tcmalloc_internal::PageMap3::Ensure
  - tcmalloc_internal::PageMap3::bytes_used
  - tcmalloc_internal::PageMap3::RootSize
  - tcmalloc_internal::PageMap3::RootAddress
  - tcmalloc_internal::PageMap::PageMap
  - tcmalloc_internal::PageMap::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::PageMap::Set
  - tcmalloc_internal::PageMap::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageMap::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::PageMap::GetExistingDescriptorAndSizeClass
  - tcmalloc_internal::PageMap::GetExistingDescriptor
  - tcmalloc_internal::PageMap::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageMap::GetHugepage
  - tcmalloc_internal::PageMap::SetHugepage
  - tcmalloc_internal::PageMap::GetAllocatedSpans
  source_file: /src/tcmalloc/tcmalloc/pagemap.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: sizeclass[kLeafLength]
        type: CompactSizeClass
      - name: span_and_sizeclass[kLeafLength]
        type: PackedSpanAndSizeclass
      - name: '* hugepage[kLeafHugepages]'
        type: void
      item_type: struct
      name: Leaf
      pos:
        line_end: 110
        line_start: 96
        source_file: /src/tcmalloc/tcmalloc/pagemap.h
    - fields:
      - name: sizeclass[kLeafLength]
        type: CompactSizeClass
      - name: span_and_sizeclass[kLeafLength]
        type: PackedSpanAndSizeclass
      - name: '* hugepage[kLeafHugepages]'
        type: void
      item_type: struct
      name: Leaf
      pos:
        line_end: 314
        line_start: 300
        source_file: /src/tcmalloc/tcmalloc/pagemap.h
    - fields:
      - name: '* leafs[kMidLength]'
        type: Leaf
      item_type: struct
      name: Node
      pos:
        line_end: 319
        line_start: 316
        source_file: /src/tcmalloc/tcmalloc/pagemap.h
    - fields:
      - name: sizeclass[kLeafLength]
        type: CompactSizeClass
      - name: span_and_sizeclass[kLeafLength]
        type: PackedSpanAndSizeclass
      - name: '* hugepage[kLeafHugepages]'
        type: void
      item_type: struct
      name: Leaf
      pos:
        line_end: 110
        line_start: 96
        source_file: /src/tcmalloc/tcmalloc/pagemap.h
    - fields:
      - name: sizeclass[kLeafLength]
        type: CompactSizeClass
      - name: span_and_sizeclass[kLeafLength]
        type: PackedSpanAndSizeclass
      - name: '* hugepage[kLeafHugepages]'
        type: void
      item_type: struct
      name: Leaf
      pos:
        line_end: 314
        line_start: 300
        source_file: /src/tcmalloc/tcmalloc/pagemap.h
    - fields:
      - name: '* leafs[kMidLength]'
        type: Leaf
      item_type: struct
      name: Node
      pos:
        line_end: 319
        line_start: 316
        source_file: /src/tcmalloc/tcmalloc/pagemap.h
    typedefs:
    - item_type: typedef
      name: '* (*PagemapAllocator)(size_t)'
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/tcmalloc/tcmalloc/pagemap.h
      type: void
    - item_type: typedef
      name: Number
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/tcmalloc/tcmalloc/pagemap.h
      type: uintptr_t
    - item_type: typedef
      name: Number
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/tcmalloc/tcmalloc/pagemap.h
      type: uintptr_t
    - item_type: typedef
      name: '* (*PagemapAllocator)(size_t)'
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/tcmalloc/tcmalloc/pagemap.h
      type: void
    - item_type: typedef
      name: Number
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/tcmalloc/tcmalloc/pagemap.h
      type: uintptr_t
    - item_type: typedef
      name: Number
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/tcmalloc/tcmalloc/pagemap.h
      type: uintptr_t
    union: []
- function_names:
  - namespace::tcmalloc_internal
  source_file: /src/tcmalloc/tcmalloc/error_reporting.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - AbslParseFlag
  - AbslUnparseFlag
  - tcmalloc::Profile::Profile
  - tcmalloc::Profile::Profile
  - tcmalloc::Profile::Profile
  - '& operator=(Profile&&)'
  - '& operator=(const Profile&)'
  - tcmalloc::AddressRegion::AddressRegion
  - tcmalloc::AddressRegionFactory::AddressRegionFactory
  - ~AddressRegionFactory()
  - tcmalloc::MallocExtension::GetProfileSamplingRate
  - tcmalloc::MallocExtension::SetProfileSamplingRate
  - tcmalloc::MallocExtension::GetGuardedSamplingRate
  - tcmalloc::MallocExtension::SetGuardedSamplingRate
  - tcmalloc::MallocExtension::GetSkipSubreleaseInterval
  - tcmalloc::MallocExtension::SetSkipSubreleaseInterval
  - tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
  - tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
  - tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
  - '& operator=(AllocationProfilingToken&&)'
  - '& operator=(const AllocationProfilingToken&)'
  - tcmalloc::Profile::Profile
  - tcmalloc::Profile::Profile
  - tcmalloc::Profile::Profile
  - '& operator=(Profile&&)'
  - '& operator=(const Profile&)'
  - tcmalloc::AddressRegion::AddressRegion
  - tcmalloc::AddressRegionFactory::AddressRegionFactory
  - ~AddressRegionFactory()
  - tcmalloc::MallocExtension::GetProfileSamplingRate
  - tcmalloc::MallocExtension::SetProfileSamplingRate
  - tcmalloc::MallocExtension::GetGuardedSamplingRate
  - tcmalloc::MallocExtension::SetGuardedSamplingRate
  - tcmalloc::MallocExtension::GetSkipSubreleaseInterval
  - tcmalloc::MallocExtension::SetSkipSubreleaseInterval
  - tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
  - tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
  - tcmalloc::MallocExtension::AllocationProfilingToken::AllocationProfilingToken
  - '& operator=(AllocationProfilingToken&&)'
  - '& operator=(const AllocationProfilingToken&)'
  - tcmalloc_size_returning_operator_new
  - tcmalloc_size_returning_operator_new_hot_cold
  - tcmalloc_size_returning_operator_new_aligned
  - tcmalloc_size_returning_operator_new_aligned_hot_cold
  - MALLOCX_LG_ALIGN
  - tcmalloc::tcmalloc_internal::AllocationProfilingTokenBase::AllocationProfilingTokenBase
  - ~AllocationProfilingTokenBase()
  - ~ProfileBase()
  - tcmalloc::tcmalloc_internal::AbslParseFlag
  - tcmalloc::tcmalloc_internal::AbslUnparseFlag
  - tcmalloc::tcmalloc_internal::AllocationProfilingTokenBase::AllocationProfilingTokenBase
  - ~AllocationProfilingTokenBase()
  - ~ProfileBase()
  - tcmalloc::tcmalloc_internal::AbslParseFlag
  - tcmalloc::tcmalloc_internal::AbslUnparseFlag
  - tcmalloc::tcmalloc_internal::AllocationProfilingTokenBase::AllocationProfilingTokenBase
  - ~AllocationProfilingTokenBase()
  - ~ProfileBase()
  - tcmalloc::tcmalloc_internal::AbslParseFlag
  - tcmalloc::tcmalloc_internal::AbslUnparseFlag
  - tcmalloc::tcmalloc_internal::AllocationProfilingTokenBase::AllocationProfilingTokenBase
  - ~AllocationProfilingTokenBase()
  - ~ProfileBase()
  - tcmalloc::tcmalloc_internal::AbslParseFlag
  - tcmalloc::tcmalloc_internal::AbslUnparseFlag
  source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
  types:
    enum:
    - enumerators:
      - name: kHeap
      - name: kFragmentation
      - name: kPeakHeap
      - name: kLifetimes
      - name: kAllocations
      - name: kDoNotUse
      item_type: enum
      name: ProfileType
      pos:
        line_end: 119
        line_start: 98
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: Hot
      - name: kDoNotUse
      - name: Cold
      item_type: enum
      name: Access
      pos:
        line_end: 168
        line_start: 161
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: LargerThanOnePage
        value: '-1'
      - name: Disabled
        value: '-2'
      - name: RateLimited
        value: '-3'
      - name: NoAvailableSlots
        value: '-5'
      - name: TooSmall
        value: '-4'
      - name: MProtectFailed
        value: '-6'
      - name: Filtered
        value: '-7'
      - name: Unknown
        value: '-100'
      - name: NotAttempted
        value: '0'
      - name: Requested
        value: '1'
      - name: Guarded
        value: '10'
      - name: Required
        value: '2'
      item_type: enum
      name: GuardedStatus
      pos:
        line_end: 214
        line_start: 180
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: New
      - name: AlignedMalloc
      - name: Malloc
      item_type: enum
      name: AllocationType
      pos:
        line_end: 222
        line_start: 218
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kNormal
      - name: kInfrequentAccess
      - name: kInfrequentAllocation
      - name: kInfrequentAllocation
        value: kInfrequentAllocation
      - name: kMetadata
      - name: kNormalNumaAwareS0
      - name: kNormalNumaAwareS1
      item_type: enum
      name: UsageHint
      pos:
        line_end: 304
        line_start: 291
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kSoft
      - name: kHard
      item_type: enum
      name: LimitKind
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kUnknown
        value: '0'
      - name: kNotOwned
      - name: kOwned
      item_type: enum
      name: Ownership
      pos:
        line_end: 595
        line_start: 595
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators: []
      item_type: enum
      name: BytesPerSecond
      pos:
        line_end: 678
        line_start: 678
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kHeap
      - name: kFragmentation
      - name: kPeakHeap
      - name: kLifetimes
      - name: kAllocations
      - name: kDoNotUse
      item_type: enum
      name: ProfileType
      pos:
        line_end: 119
        line_start: 98
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: Hot
      - name: kDoNotUse
      - name: Cold
      item_type: enum
      name: Access
      pos:
        line_end: 168
        line_start: 161
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: LargerThanOnePage
        value: '-1'
      - name: Disabled
        value: '-2'
      - name: RateLimited
        value: '-3'
      - name: NoAvailableSlots
        value: '-5'
      - name: TooSmall
        value: '-4'
      - name: MProtectFailed
        value: '-6'
      - name: Filtered
        value: '-7'
      - name: Unknown
        value: '-100'
      - name: NotAttempted
        value: '0'
      - name: Requested
        value: '1'
      - name: Guarded
        value: '10'
      - name: Required
        value: '2'
      item_type: enum
      name: GuardedStatus
      pos:
        line_end: 214
        line_start: 180
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: New
      - name: AlignedMalloc
      - name: Malloc
      item_type: enum
      name: AllocationType
      pos:
        line_end: 222
        line_start: 218
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kNormal
      - name: kInfrequentAccess
      - name: kInfrequentAllocation
      - name: kInfrequentAllocation
        value: kInfrequentAllocation
      - name: kMetadata
      - name: kNormalNumaAwareS0
      - name: kNormalNumaAwareS1
      item_type: enum
      name: UsageHint
      pos:
        line_end: 304
        line_start: 291
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kSoft
      - name: kHard
      item_type: enum
      name: LimitKind
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kUnknown
        value: '0'
      - name: kNotOwned
      - name: kOwned
      item_type: enum
      name: Ownership
      pos:
        line_end: 595
        line_start: 595
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators: []
      item_type: enum
      name: BytesPerSecond
      pos:
        line_end: 678
        line_start: 678
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kNever
        value: '0x0'
      - name: kFreeOnly
        value: '0x2'
      - name: kFreeAndDontNeed
        value: '0x3'
      - name: kDontNeed
        value: '0x1'
      item_type: enum
      name: MadvisePreference
      pos:
        line_end: 902
        line_start: 897
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kNever
        value: '0x0'
      - name: kFreeOnly
        value: '0x2'
      - name: kFreeAndDontNeed
        value: '0x3'
      - name: kDontNeed
        value: '0x1'
      item_type: enum
      name: MadvisePreference
      pos:
        line_end: 902
        line_start: 897
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kNever
        value: '0x0'
      - name: kFreeOnly
        value: '0x2'
      - name: kFreeAndDontNeed
        value: '0x3'
      - name: kDontNeed
        value: '0x1'
      item_type: enum
      name: MadvisePreference
      pos:
        line_end: 902
        line_start: 897
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kNever
        value: '0x0'
      - name: kFreeOnly
        value: '0x2'
      - name: kFreeAndDontNeed
        value: '0x3'
      - name: kDontNeed
        value: '0x1'
      item_type: enum
      name: MadvisePreference
      pos:
        line_end: 902
        line_start: 897
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    preproc_defs:
    - item_type: preproc_def
      name: TCMALLOC_FREE_SIZED_NOEXCEPT
      pos:
        line_end: 710
        line_start: 709
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
      type_or_value: noexcept
    structs:
    - fields:
      - name: kMaxStackDepth
        type: int
      - name: sum
        type: int64_t
      - name: count
        type: int64_t
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: size_t
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: requested_size_returning
        type: bool
      - name: access_hint
        type: hot_cold_t
      - name: access_allocated
        type: Access
      - name: is_censored
        type: bool
      - name: guarded_status
        type: GuardedStatus
      - name: type
        type: AllocationType
      - name: depth
        type: int
      - name: '* stack[kMaxStackDepth]'
        type: void
      - name: profile_id
        type: uint64_t
      - name: allocation_time
        type: absl::Time
      - name: avg_lifetime
        type: absl::Duration
      - name: stddev_lifetime
        type: absl::Duration
      - name: min_lifetime
        type: absl::Duration
      - name: max_lifetime
        type: absl::Duration
      - name: allocator_deallocator_physical_cpu_matched
        type: std::optional<bool>
      - name: allocator_deallocator_virtual_cpu_matched
        type: std::optional<bool>
      - name: allocator_deallocator_l3_matched
        type: std::optional<bool>
      - name: allocator_deallocator_numa_matched
        type: std::optional<bool>
      - name: allocator_deallocator_thread_matched
        type: std::optional<bool>
      - name: '* span_start_address'
        type: void
      item_type: struct
      name: Sample
      pos:
        line_end: 253
        line_start: 132
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - fields:
      - name: value
        type: size_t
      item_type: struct
      name: Property
      pos:
        line_end: 601
        line_start: 599
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - fields:
      - name: kMaxStackDepth
        type: int
      - name: sum
        type: int64_t
      - name: count
        type: int64_t
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: size_t
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: requested_size_returning
        type: bool
      - name: access_hint
        type: hot_cold_t
      - name: access_allocated
        type: Access
      - name: is_censored
        type: bool
      - name: guarded_status
        type: GuardedStatus
      - name: type
        type: AllocationType
      - name: depth
        type: int
      - name: '* stack[kMaxStackDepth]'
        type: void
      - name: profile_id
        type: uint64_t
      - name: allocation_time
        type: absl::Time
      - name: avg_lifetime
        type: absl::Duration
      - name: stddev_lifetime
        type: absl::Duration
      - name: min_lifetime
        type: absl::Duration
      - name: max_lifetime
        type: absl::Duration
      - name: allocator_deallocator_physical_cpu_matched
        type: std::optional<bool>
      - name: allocator_deallocator_virtual_cpu_matched
        type: std::optional<bool>
      - name: allocator_deallocator_l3_matched
        type: std::optional<bool>
      - name: allocator_deallocator_numa_matched
        type: std::optional<bool>
      - name: allocator_deallocator_thread_matched
        type: std::optional<bool>
      - name: '* span_start_address'
        type: void
      item_type: struct
      name: Sample
      pos:
        line_end: 253
        line_start: 132
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - fields:
      - name: value
        type: size_t
      item_type: struct
      name: Property
      pos:
        line_end: 601
        line_start: 599
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - fields:
      - name: '* p'
        type: void
      - name: n
        type: size_t
      item_type: struct
      name: __sized_ptr_t
      pos:
        line_end: 729
        line_start: 726
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::SetUp
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateInterestingPoints
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateDemandPoint
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::SetUp
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateInterestingPoints
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateDemandPoint
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::SetUp
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateInterestingPoints
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateDemandPoint
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::SetUp
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateInterestingPoints
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateDemandPoint
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::SetUp
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateInterestingPoints
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateDemandPoint
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::SetUp
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateInterestingPoints
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateDemandPoint
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::SetUp
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateInterestingPoints
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateDemandPoint
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::SetUp
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateInterestingPoints
  - tcmalloc::tcmalloc_internal::StatsTrackerTest::GenerateDemandPoint
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator!=(const AllocationEntry& x, const AllocationEntry& y)
  - operator==(const AllocationEntry& x, const AllocationEntry& y)
  - tcmalloc::tcmalloc_internal::CheckTraces
  - tcmalloc::tcmalloc_internal::AddTrace
  - tcmalloc::tcmalloc_internal::TEST
  - operator!=(const AllocationEntry& x, const AllocationEntry& y)
  - operator==(const AllocationEntry& x, const AllocationEntry& y)
  - tcmalloc::tcmalloc_internal::CheckTraces
  - tcmalloc::tcmalloc_internal::AddTrace
  - tcmalloc::tcmalloc_internal::TEST
  - operator!=(const AllocationEntry& x, const AllocationEntry& y)
  - operator==(const AllocationEntry& x, const AllocationEntry& y)
  - tcmalloc::tcmalloc_internal::CheckTraces
  - tcmalloc::tcmalloc_internal::AddTrace
  - tcmalloc::tcmalloc_internal::TEST
  - operator!=(const AllocationEntry& x, const AllocationEntry& y)
  - operator==(const AllocationEntry& x, const AllocationEntry& y)
  - tcmalloc::tcmalloc_internal::CheckTraces
  - tcmalloc::tcmalloc_internal::AddTrace
  - tcmalloc::tcmalloc_internal::TEST
  - operator!=(const AllocationEntry& x, const AllocationEntry& y)
  - operator==(const AllocationEntry& x, const AllocationEntry& y)
  - tcmalloc::tcmalloc_internal::CheckTraces
  - tcmalloc::tcmalloc_internal::AddTrace
  - tcmalloc::tcmalloc_internal::TEST
  - operator!=(const AllocationEntry& x, const AllocationEntry& y)
  - operator==(const AllocationEntry& x, const AllocationEntry& y)
  - tcmalloc::tcmalloc_internal::CheckTraces
  - tcmalloc::tcmalloc_internal::AddTrace
  - tcmalloc::tcmalloc_internal::TEST
  - operator!=(const AllocationEntry& x, const AllocationEntry& y)
  - operator==(const AllocationEntry& x, const AllocationEntry& y)
  - tcmalloc::tcmalloc_internal::CheckTraces
  - tcmalloc::tcmalloc_internal::AddTrace
  - tcmalloc::tcmalloc_internal::TEST
  - operator!=(const AllocationEntry& x, const AllocationEntry& y)
  - operator==(const AllocationEntry& x, const AllocationEntry& y)
  - tcmalloc::tcmalloc_internal::CheckTraces
  - tcmalloc::tcmalloc_internal::AddTrace
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: sum
        type: int64_t
      - name: count
        type: int
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: size_t
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: access_hint
        type: uint8_t
      - name: cold_allocated
        type: bool
      - name: depth
        type: int
      - name: '* stack[64]'
        type: void
      item_type: struct
      name: AllocationEntry
      pos:
        line_end: 56
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    - fields:
      - name: sum
        type: int64_t
      - name: count
        type: int
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: size_t
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: access_hint
        type: uint8_t
      - name: cold_allocated
        type: bool
      - name: depth
        type: int
      - name: '* stack[64]'
        type: void
      item_type: struct
      name: AllocationEntry
      pos:
        line_end: 56
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    - fields:
      - name: sum
        type: int64_t
      - name: count
        type: int
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: size_t
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: access_hint
        type: uint8_t
      - name: cold_allocated
        type: bool
      - name: depth
        type: int
      - name: '* stack[64]'
        type: void
      item_type: struct
      name: AllocationEntry
      pos:
        line_end: 56
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    - fields:
      - name: sum
        type: int64_t
      - name: count
        type: int
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: size_t
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: access_hint
        type: uint8_t
      - name: cold_allocated
        type: bool
      - name: depth
        type: int
      - name: '* stack[64]'
        type: void
      item_type: struct
      name: AllocationEntry
      pos:
        line_end: 56
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    - fields:
      - name: sum
        type: int64_t
      - name: count
        type: int
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: size_t
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: access_hint
        type: uint8_t
      - name: cold_allocated
        type: bool
      - name: depth
        type: int
      - name: '* stack[64]'
        type: void
      item_type: struct
      name: AllocationEntry
      pos:
        line_end: 56
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    - fields:
      - name: sum
        type: int64_t
      - name: count
        type: int
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: size_t
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: access_hint
        type: uint8_t
      - name: cold_allocated
        type: bool
      - name: depth
        type: int
      - name: '* stack[64]'
        type: void
      item_type: struct
      name: AllocationEntry
      pos:
        line_end: 56
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    - fields:
      - name: sum
        type: int64_t
      - name: count
        type: int
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: size_t
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: access_hint
        type: uint8_t
      - name: cold_allocated
        type: bool
      - name: depth
        type: int
      - name: '* stack[64]'
        type: void
      item_type: struct
      name: AllocationEntry
      pos:
        line_end: 56
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    - fields:
      - name: sum
        type: int64_t
      - name: count
        type: int
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: size_t
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: access_hint
        type: uint8_t
      - name: cold_allocated
        type: bool
      - name: depth
        type: int
      - name: '* stack[64]'
        type: void
      item_type: struct
      name: AllocationEntry
      pos:
        line_end: 56
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    typedefs: []
    union: []
- function_names:
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::FuzzRegion
  - tcmalloc::tcmalloc_internal::TEST
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::FuzzRegion
  - tcmalloc::tcmalloc_internal::TEST
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::FuzzRegion
  - tcmalloc::tcmalloc_internal::TEST
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::FuzzRegion
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc_internal::SpanList::Elem
  - tcmalloc_internal::Span
  - tcmalloc_internal::donated
  - tcmalloc_internal::set_donated
  - tcmalloc_internal::Allocated
  - tcmalloc_internal::nonempty_index
  - tcmalloc_internal::set_nonempty_index
  - tcmalloc_internal::Span::AllocTime
  - tcmalloc_internal::Span::IdxToPtr
  - tcmalloc_internal::Span::PtrToIdx
  - tcmalloc_internal::Span::FreelistPush
  - tcmalloc_internal::Span::ListPush
  - tcmalloc_internal::Span::OffsetToIdx
  - tcmalloc_internal::Span::BitmapPtrToIdx
  - tcmalloc_internal::Span::BitmapPush
  - '& Span::sampled_allocation() const'
  - tcmalloc_internal::Span::sampled
  - tcmalloc_internal::Span::first_page
  - tcmalloc_internal::Span::last_page
  - tcmalloc_internal::Span::set_first_page
  - tcmalloc_internal::Span::start_address
  - tcmalloc_internal::Span::num_pages
  - tcmalloc_internal::Span::set_num_pages
  - tcmalloc_internal::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::Span::FreelistEmpty
  - tcmalloc_internal::Span::Prefetch
  - tcmalloc_internal::Span::IsValidSizeClass
  - tcmalloc_internal::Span::UseBitmapForSize
  - tcmalloc_internal::Span::IsNonIntrusive
  - tcmalloc_internal::SpanList::Elem
  - tcmalloc_internal::Span
  - tcmalloc_internal::donated
  - tcmalloc_internal::set_donated
  - tcmalloc_internal::Allocated
  - tcmalloc_internal::nonempty_index
  - tcmalloc_internal::set_nonempty_index
  - tcmalloc_internal::Span::AllocTime
  - tcmalloc_internal::Span::IdxToPtr
  - tcmalloc_internal::Span::PtrToIdx
  - tcmalloc_internal::Span::FreelistPush
  - tcmalloc_internal::Span::ListPush
  - tcmalloc_internal::Span::OffsetToIdx
  - tcmalloc_internal::Span::BitmapPtrToIdx
  - tcmalloc_internal::Span::BitmapPush
  - '& Span::sampled_allocation() const'
  - tcmalloc_internal::Span::sampled
  - tcmalloc_internal::Span::first_page
  - tcmalloc_internal::Span::last_page
  - tcmalloc_internal::Span::set_first_page
  - tcmalloc_internal::Span::start_address
  - tcmalloc_internal::Span::num_pages
  - tcmalloc_internal::Span::set_num_pages
  - tcmalloc_internal::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::Span::FreelistEmpty
  - tcmalloc_internal::Span::Prefetch
  - tcmalloc_internal::Span::IsValidSizeClass
  - tcmalloc_internal::Span::UseBitmapForSize
  - tcmalloc_internal::Span::IsNonIntrusive
  source_file: /src/tcmalloc/tcmalloc/span.h
  types:
    enum:
    - enumerators:
      - name: kSparse
        value: '0'
      - name: kPredictionCounts
      - name: kDense
        value: '1'
      item_type: enum
      name: AccessDensityPrediction
      pos:
        line_end: 57
        line_start: 51
        source_file: /src/tcmalloc/tcmalloc/span.h
    - enumerators:
      - name: kSparse
        value: '0'
      - name: kPredictionCounts
      - name: kDense
        value: '1'
      item_type: enum
      name: AccessDensityPrediction
      pos:
        line_end: 57
        line_start: 51
        source_file: /src/tcmalloc/tcmalloc/span.h
    preproc_defs: []
    structs:
    - fields:
      - name: objects_per_span
        type: size_t
      - name: density
        type: AccessDensityPrediction
      item_type: struct
      name: SpanAllocInfo
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/tcmalloc/tcmalloc/span.h
    - fields:
      - name: num_pages
        type: uint64_t
      - name: '* sampled_allocation'
        type: SampledAllocation
      item_type: struct
      name: LargeOrSampledState
      pos:
        line_end: 286
        line_start: 282
        source_file: /src/tcmalloc/tcmalloc/span.h
    - fields:
      - name: num_pages
        type: uint64_t
      - name: alloc_time
        type: uint64_t
      item_type: struct
      name: SmallSpanState
      pos:
        line_end: 301
        line_start: 288
        source_file: /src/tcmalloc/tcmalloc/span.h
    - fields:
      - name: objects_per_span
        type: size_t
      - name: density
        type: AccessDensityPrediction
      item_type: struct
      name: SpanAllocInfo
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/tcmalloc/tcmalloc/span.h
    - fields:
      - name: num_pages
        type: uint64_t
      - name: '* sampled_allocation'
        type: SampledAllocation
      item_type: struct
      name: LargeOrSampledState
      pos:
        line_end: 286
        line_start: 282
        source_file: /src/tcmalloc/tcmalloc/span.h
    - fields:
      - name: num_pages
        type: uint64_t
      - name: alloc_time
        type: uint64_t
      item_type: struct
      name: SmallSpanState
      pos:
        line_end: 301
        line_start: 288
        source_file: /src/tcmalloc/tcmalloc/span.h
    typedefs:
    - item_type: typedef
      name: SpanList
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/tcmalloc/tcmalloc/span.h
    - item_type: typedef
      name: ObjIdx
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/tcmalloc/tcmalloc/span.h
      type: uint16_t
    - item_type: typedef
      name: SpanList
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/tcmalloc/tcmalloc/span.h
    - item_type: typedef
      name: ObjIdx
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/tcmalloc/tcmalloc/span.h
      type: uint16_t
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/allocation_sample_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: mu
        type: absl::Mutex
      - name: ABSL_GUARDED_BY(mu)
        type: std::vector<std::unique_ptr<AllocationSample>>
      item_type: struct
      name: GlobalState
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/tcmalloc/tcmalloc/allocation_sample_test.cc
    - fields:
      - name: mu
        type: absl::Mutex
      - name: ABSL_GUARDED_BY(mu)
        type: std::vector<std::unique_ptr<AllocationSample>>
      item_type: struct
      name: GlobalState
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/tcmalloc/tcmalloc/allocation_sample_test.cc
    - fields:
      - name: mu
        type: absl::Mutex
      - name: ABSL_GUARDED_BY(mu)
        type: std::vector<std::unique_ptr<AllocationSample>>
      item_type: struct
      name: GlobalState
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/tcmalloc/tcmalloc/allocation_sample_test.cc
    - fields:
      - name: mu
        type: absl::Mutex
      - name: ABSL_GUARDED_BY(mu)
        type: std::vector<std::unique_ptr<AllocationSample>>
      item_type: struct
      name: GlobalState
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/tcmalloc/tcmalloc/allocation_sample_test.cc
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::HugeRegion::size
  - tcmalloc_internal::HugeRegion::HugeRegion
  - tcmalloc_internal::HugeRegion::contains
  - tcmalloc_internal::HugeRegion::used_pages
  - tcmalloc_internal::HugeRegion::free_pages
  - tcmalloc_internal::HugeRegion::unmapped_pages
  - tcmalloc_internal::HugeRegion::BetterToAllocThan
  - tcmalloc_internal::HugeRegion::prepend_it
  - tcmalloc_internal::HugeRegion::append_it
  - tcmalloc_internal::HugeRegion::longest_free
  - tcmalloc_internal::HugeRegionSet::HugeRegionSet
  - tcmalloc_internal::HugeRegionSet::HugeRegionSet
  - tcmalloc_internal::HugeRegionSet::UseHugeRegionMoreOften
  - tcmalloc_internal::HugeRegionSet::Fix
  - tcmalloc_internal::HugeRegionSet::Rise
  - tcmalloc_internal::HugeRegionSet::Fall
  - tcmalloc_internal::HugeRegionSet::AddToList
  - tcmalloc_internal::HugeRegionSet::GetSubreleaseStats
  - tcmalloc_internal::HugeRegionSet::used_pages
  - tcmalloc_internal::HugeRegionSet::free_pages
  - tcmalloc_internal::HugeRegionSet::size
  - tcmalloc_internal::HugeRegion::HugeRegion
  - tcmalloc_internal::HugeRegion::MaybeGet
  - tcmalloc_internal::HugeRegion::Put
  - tcmalloc_internal::HugeRegion::Release
  - tcmalloc_internal::HugeRegion::AddSpanStats
  - tcmalloc_internal::HugeRegion::free_backed
  - tcmalloc_internal::HugeRegion::backed
  - tcmalloc_internal::HugeRegion::Print
  - tcmalloc_internal::HugeRegion::PrintInPbtxt
  - tcmalloc_internal::HugeRegion::stats
  - tcmalloc_internal::HugeRegion::Inc
  - tcmalloc_internal::HugeRegion::Dec
  - tcmalloc_internal::HugeRegion::UnbackHugepages
  - tcmalloc_internal::HugeRegionSet<Region>::GetDesiredReleasablePages
  - tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
  - tcmalloc_internal::HugeRegionSet<Region>::MaybeGet
  - tcmalloc_internal::HugeRegionSet<Region>::MaybePut
  - tcmalloc_internal::HugeRegionSet<Region>::Contribute
  - tcmalloc_internal::HugeRegionSet<Region>::ReleasePagesByPeakDemand
  - tcmalloc_internal::HugeRegionSet<Region>::ReleasePages
  - tcmalloc_internal::HugeRegionSet<Region>::Print
  - tcmalloc_internal::HugeRegionSet<Region>::PrintInPbtxt
  - tcmalloc_internal::HugeRegionSet<Region>::AddSpanStats
  - tcmalloc_internal::HugeRegionSet<Region>::ActiveRegions
  - tcmalloc_internal::HugeRegionSet<Region>::stats
  - tcmalloc_internal::HugeRegionSet<Region>::free_backed
  - tcmalloc_internal::HugeRegion::size
  - tcmalloc_internal::HugeRegion::HugeRegion
  - tcmalloc_internal::HugeRegion::contains
  - tcmalloc_internal::HugeRegion::used_pages
  - tcmalloc_internal::HugeRegion::free_pages
  - tcmalloc_internal::HugeRegion::unmapped_pages
  - tcmalloc_internal::HugeRegion::BetterToAllocThan
  - tcmalloc_internal::HugeRegion::prepend_it
  - tcmalloc_internal::HugeRegion::append_it
  - tcmalloc_internal::HugeRegion::longest_free
  - tcmalloc_internal::HugeRegionSet::HugeRegionSet
  - tcmalloc_internal::HugeRegionSet::HugeRegionSet
  - tcmalloc_internal::HugeRegionSet::UseHugeRegionMoreOften
  - tcmalloc_internal::HugeRegionSet::Fix
  - tcmalloc_internal::HugeRegionSet::Rise
  - tcmalloc_internal::HugeRegionSet::Fall
  - tcmalloc_internal::HugeRegionSet::AddToList
  - tcmalloc_internal::HugeRegionSet::GetSubreleaseStats
  - tcmalloc_internal::HugeRegionSet::used_pages
  - tcmalloc_internal::HugeRegionSet::free_pages
  - tcmalloc_internal::HugeRegionSet::size
  - tcmalloc_internal::HugeRegion::HugeRegion
  - tcmalloc_internal::HugeRegion::MaybeGet
  - tcmalloc_internal::HugeRegion::Put
  - tcmalloc_internal::HugeRegion::Release
  - tcmalloc_internal::HugeRegion::AddSpanStats
  - tcmalloc_internal::HugeRegion::free_backed
  - tcmalloc_internal::HugeRegion::backed
  - tcmalloc_internal::HugeRegion::Print
  - tcmalloc_internal::HugeRegion::PrintInPbtxt
  - tcmalloc_internal::HugeRegion::stats
  - tcmalloc_internal::HugeRegion::Inc
  - tcmalloc_internal::HugeRegion::Dec
  - tcmalloc_internal::HugeRegion::UnbackHugepages
  - tcmalloc_internal::HugeRegionSet<Region>::GetDesiredReleasablePages
  - tcmalloc_internal::HugeRegionSet<Region>::UpdateStatsTracker
  - tcmalloc_internal::HugeRegionSet<Region>::MaybeGet
  - tcmalloc_internal::HugeRegionSet<Region>::MaybePut
  - tcmalloc_internal::HugeRegionSet<Region>::Contribute
  - tcmalloc_internal::HugeRegionSet<Region>::ReleasePagesByPeakDemand
  - tcmalloc_internal::HugeRegionSet<Region>::ReleasePages
  - tcmalloc_internal::HugeRegionSet<Region>::Print
  - tcmalloc_internal::HugeRegionSet<Region>::PrintInPbtxt
  - tcmalloc_internal::HugeRegionSet<Region>::AddSpanStats
  - tcmalloc_internal::HugeRegionSet<Region>::ActiveRegions
  - tcmalloc_internal::HugeRegionSet<Region>::stats
  - tcmalloc_internal::HugeRegionSet<Region>::free_backed
  source_file: /src/tcmalloc/tcmalloc/huge_region.h
  types:
    enum:
    - enumerators:
      - name: kDefault
      - name: kUseForAllLargeAllocs
      item_type: enum
      name: HugeRegionUsageOption
      pos:
        line_end: 52
        line_start: 41
        source_file: /src/tcmalloc/tcmalloc/huge_region.h
    - enumerators:
      - name: kDefault
      - name: kUseForAllLargeAllocs
      item_type: enum
      name: HugeRegionUsageOption
      pos:
        line_end: 52
        line_start: 41
        source_file: /src/tcmalloc/tcmalloc/huge_region.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
  - '& operator+=(SkippedSubreleaseDecision rhs)'
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Zero
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseCorrectnessTracker
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseCorrectnessTracker
  - "& operator=(\n      const SkippedSubreleaseCorrectnessTracker&)"
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::ReportSkippedSubreleasePages
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::ReportUpdatedPeak
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::total_skipped
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::correctly_skipped
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::pending_skipped
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Report
  - tcmalloc_internal::IsPeakIntervalSet
  - tcmalloc_internal::SkipSubreleaseEnabled
  - tcmalloc_internal::reset
  - tcmalloc_internal::set_limit_hit
  - tcmalloc_internal::limit_hit
  - tcmalloc_internal::SubreleaseStatsTracker::total_huge_pages
  - tcmalloc_internal::SubreleaseStatsTracker::SubreleaseStatsTracker
  - tcmalloc_internal::SubreleaseStatsTracker::SubreleaseStatsTracker
  - '& operator=(const SubreleaseStatsTracker&)'
  - tcmalloc_internal::SubreleaseStatsTracker::Report
  - tcmalloc_internal::SubreleaseStatsTracker::GetRecentPeak
  - tcmalloc_internal::SubreleaseStatsTracker::GetRecentDemand
  - tcmalloc_internal::SubreleaseStatsTracker::GetRecentDemand
  - tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
  - tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
  - tcmalloc_internal::SubreleaseStatsTracker::total_skipped
  - tcmalloc_internal::SubreleaseStatsTracker::correctly_skipped
  - tcmalloc_internal::SubreleaseStatsTracker::pending_skipped
  - tcmalloc_internal::SubreleaseStatsTracker::min_free_pages
  - tcmalloc_internal::SubreleaseStatsTracker::RealizedFragmentation
  - tcmalloc_internal::SubreleaseStatsTracker::Nil
  - tcmalloc_internal::SubreleaseStatsTracker::Report
  - tcmalloc_internal::SubreleaseStatsTracker::empty
  - tcmalloc_internal::SubreleaseStatsTracker::CalculateDemandPeak
  - tcmalloc_internal::SubreleaseStatsTracker::CalculateCombinedDemandTrend
  - tcmalloc_internal::safe_div
  - tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::Print
  - tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::PrintSubreleaseStatsInPbtxt
  - tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::PrintTimeseriesStatsInPbtxt
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseDecision
  - '& operator+=(SkippedSubreleaseDecision rhs)'
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Zero
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseCorrectnessTracker
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::SkippedSubreleaseCorrectnessTracker
  - "& operator=(\n      const SkippedSubreleaseCorrectnessTracker&)"
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::ReportSkippedSubreleasePages
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::ReportUpdatedPeak
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::total_skipped
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::correctly_skipped
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::pending_skipped
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
  - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Report
  - tcmalloc_internal::IsPeakIntervalSet
  - tcmalloc_internal::SkipSubreleaseEnabled
  - tcmalloc_internal::reset
  - tcmalloc_internal::set_limit_hit
  - tcmalloc_internal::limit_hit
  - tcmalloc_internal::SubreleaseStatsTracker::total_huge_pages
  - tcmalloc_internal::SubreleaseStatsTracker::SubreleaseStatsTracker
  - tcmalloc_internal::SubreleaseStatsTracker::SubreleaseStatsTracker
  - '& operator=(const SubreleaseStatsTracker&)'
  - tcmalloc_internal::SubreleaseStatsTracker::Report
  - tcmalloc_internal::SubreleaseStatsTracker::GetRecentPeak
  - tcmalloc_internal::SubreleaseStatsTracker::GetRecentDemand
  - tcmalloc_internal::SubreleaseStatsTracker::GetRecentDemand
  - tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
  - tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
  - tcmalloc_internal::SubreleaseStatsTracker::total_skipped
  - tcmalloc_internal::SubreleaseStatsTracker::correctly_skipped
  - tcmalloc_internal::SubreleaseStatsTracker::pending_skipped
  - tcmalloc_internal::SubreleaseStatsTracker::min_free_pages
  - tcmalloc_internal::SubreleaseStatsTracker::RealizedFragmentation
  - tcmalloc_internal::SubreleaseStatsTracker::Nil
  - tcmalloc_internal::SubreleaseStatsTracker::Report
  - tcmalloc_internal::SubreleaseStatsTracker::empty
  - tcmalloc_internal::SubreleaseStatsTracker::CalculateDemandPeak
  - tcmalloc_internal::SubreleaseStatsTracker::CalculateCombinedDemandTrend
  - tcmalloc_internal::safe_div
  - tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::Print
  - tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::PrintSubreleaseStatsInPbtxt
  - tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::PrintTimeseriesStatsInPbtxt
  source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
  types:
    enum:
    - enumerators:
      - name: kRegular
      - name: kSparse
        value: kRegular
      - name: kDense
      - name: kPartialReleased
      - name: kDonated
      - name: kReleased
      - name: kNumTypes
      item_type: enum
      name: Type
      pos:
        line_end: 268
        line_start: 260
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - enumerators:
      - name: kStatsAtMinDemand
      - name: kStatsAtMaxDemand
      - name: kNumStatsTypes
      item_type: enum
      name: StatsType
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - enumerators:
      - name: kRegular
      - name: kSparse
        value: kRegular
      - name: kDense
      - name: kPartialReleased
      - name: kDonated
      - name: kReleased
      - name: kNumTypes
      item_type: enum
      name: Type
      pos:
        line_end: 268
        line_start: 260
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - enumerators:
      - name: kStatsAtMinDemand
      - name: kStatsAtMaxDemand
      - name: kNumStatsTypes
      item_type: enum
      name: StatsType
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    preproc_defs: []
    structs:
    - fields:
      - name: pages
        type: Length
      - name: count
        type: size_t
      item_type: struct
      name: SkippedSubreleaseDecision
      pos:
        line_end: 64
        line_start: 46
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - fields:
      - name: decision
        type: SkippedSubreleaseDecision
      - name: num_pages_at_decision
        type: Length
      - name: correctness_interval_epochs
        type: int64_t
      - name: confirmed_peak
        type: Length
      item_type: struct
      name: SkippedSubreleaseUpdate
      pos:
        line_end: 168
        line_start: 150
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - fields:
      - name: decisions
        type: SkippedSubreleaseDecision
      - name: max_num_pages_at_decision
        type: Length
      - name: correctness_interval_epochs
        type: int64_t
      - name: max_confirmed_peak
        type: Length
      item_type: struct
      name: SkippedSubreleaseEntry
      pos:
        line_end: 186
        line_start: 170
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - fields:
      - name: peak_interval
        type: absl::Duration
      - name: short_interval
        type: absl::Duration
      - name: long_interval
        type: absl::Duration
      item_type: struct
      name: SkipSubreleaseIntervals
      pos:
        line_end: 223
        line_start: 203
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - fields:
      - name: total_pages_subreleased
        type: Length
      - name: total_partial_alloc_pages_subreleased
        type: Length
      - name: num_pages_subreleased
        type: Length
      - name: num_partial_alloc_pages_subreleased
        type: Length
      - name: total_hugepages_broken
        type: HugeLength
      - name: num_hugepages_broken
        type: HugeLength
      - name: is_limit_hit
        type: bool
      - name: total_pages_subreleased_due_to_limit
        type: Length
      - name: total_hugepages_broken_due_to_limit
        type: HugeLength
      item_type: struct
      name: SubreleaseStats
      pos:
        line_end: 254
        line_start: 225
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - fields:
      - name: num_pages
        type: Length
      - name: free_pages
        type: Length
      - name: unmapped_pages
        type: Length
      - name: used_pages_in_subreleased_huge_pages
        type: Length
      - name: huge_pages[kNumTypes]
        type: HugeLength
      - name: num_pages_subreleased
        type: Length
      - name: num_partial_alloc_pages_subreleased
        type: Length
      - name: num_hugepages_broken
        type: HugeLength
      item_type: struct
      name: SubreleaseStats
      pos:
        line_end: 287
        line_start: 270
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - fields:
      - name: free
        type: Length
      - name: free_backed
        type: Length
      item_type: struct
      name: NumberOfFreePages
      pos:
        line_end: 292
        line_start: 289
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - fields:
      - name: stats[kNumStatsTypes]
        type: SubreleaseStats
      - name: kDefaultValue
        type: Length
      - name: min_free_pages
        type: Length
      - name: min_free_backed_pages
        type: Length
      - name: num_pages_subreleased
        type: Length
      - name: num_partial_alloc_pages_subreleased
        type: Length
      - name: num_hugepages_broken
        type: HugeLength
      item_type: struct
      name: SubreleaseStatsEntry
      pos:
        line_end: 502
        line_start: 462
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - fields:
      - name: pages
        type: Length
      - name: count
        type: size_t
      item_type: struct
      name: SkippedSubreleaseDecision
      pos:
        line_end: 64
        line_start: 46
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - fields:
      - name: decision
        type: SkippedSubreleaseDecision
      - name: num_pages_at_decision
        type: Length
      - name: correctness_interval_epochs
        type: int64_t
      - name: confirmed_peak
        type: Length
      item_type: struct
      name: SkippedSubreleaseUpdate
      pos:
        line_end: 168
        line_start: 150
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - fields:
      - name: decisions
        type: SkippedSubreleaseDecision
      - name: max_num_pages_at_decision
        type: Length
      - name: correctness_interval_epochs
        type: int64_t
      - name: max_confirmed_peak
        type: Length
      item_type: struct
      name: SkippedSubreleaseEntry
      pos:
        line_end: 186
        line_start: 170
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - fields:
      - name: peak_interval
        type: absl::Duration
      - name: short_interval
        type: absl::Duration
      - name: long_interval
        type: absl::Duration
      item_type: struct
      name: SkipSubreleaseIntervals
      pos:
        line_end: 223
        line_start: 203
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - fields:
      - name: total_pages_subreleased
        type: Length
      - name: total_partial_alloc_pages_subreleased
        type: Length
      - name: num_pages_subreleased
        type: Length
      - name: num_partial_alloc_pages_subreleased
        type: Length
      - name: total_hugepages_broken
        type: HugeLength
      - name: num_hugepages_broken
        type: HugeLength
      - name: is_limit_hit
        type: bool
      - name: total_pages_subreleased_due_to_limit
        type: Length
      - name: total_hugepages_broken_due_to_limit
        type: HugeLength
      item_type: struct
      name: SubreleaseStats
      pos:
        line_end: 254
        line_start: 225
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - fields:
      - name: num_pages
        type: Length
      - name: free_pages
        type: Length
      - name: unmapped_pages
        type: Length
      - name: used_pages_in_subreleased_huge_pages
        type: Length
      - name: huge_pages[kNumTypes]
        type: HugeLength
      - name: num_pages_subreleased
        type: Length
      - name: num_partial_alloc_pages_subreleased
        type: Length
      - name: num_hugepages_broken
        type: HugeLength
      item_type: struct
      name: SubreleaseStats
      pos:
        line_end: 287
        line_start: 270
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - fields:
      - name: free
        type: Length
      - name: free_backed
        type: Length
      item_type: struct
      name: NumberOfFreePages
      pos:
        line_end: 292
        line_start: 289
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    - fields:
      - name: stats[kNumStatsTypes]
        type: SubreleaseStats
      - name: kDefaultValue
        type: Length
      - name: min_free_pages
        type: Length
      - name: min_free_backed_pages
        type: Length
      - name: num_pages_subreleased
        type: Length
      - name: num_partial_alloc_pages_subreleased
        type: Length
      - name: num_hugepages_broken
        type: HugeLength
      item_type: struct
      name: SubreleaseStatsEntry
      pos:
        line_end: 502
        line_start: 462
        source_file: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    typedefs: []
    union: []
- function_names:
  - namespace tcmalloc::tcmalloc_internal::internal_transfer_cache
  - MissCounts::Inc
  - MissCounts::Total
  - MissCounts::Commit
  - TransferCache::TransferCache
  - TransferCache::TransferCache
  - TransferCache::TransferCache
  - '&operator=(const TransferCache &)'
  - TransferCache::CapacityNeeded
  - TransferCache::ABSL_LOCKS_EXCLUDED
  - TransferCache::ABSL_LOCKS_EXCLUDED
  - TransferCache::ABSL_LOCKS_EXCLUDED
  - TransferCache::tc_length
  - TransferCache::ABSL_LOCKS_EXCLUDED
  - TransferCache::ABSL_LOCKS_EXCLUDED
  - TransferCache::GetSlotInfo
  - TransferCache::ABSL_LOCKS_EXCLUDED
  - TransferCache::ABSL_LOCKS_EXCLUDED
  - TransferCache::HasSpareCapacity
  - TransferCache::ABSL_LOCKS_EXCLUDED
  - '&freelist() ABSL_LOCKS_EXCLUDED(lock_)'
  - TransferCache::max_capacity
  - TransferCache::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - TransferCache::SetSlotInfo
  - ResizeCaches
  - TryResizingCaches
  source_file: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: used
        type: int32_t
      - name: capacity
        type: int32_t
      item_type: struct
      name: SizeInfo
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    - fields:
      - name: capacity
        type: int
      - name: max_capacity
        type: int
      item_type: struct
      name: Capacity
      pos:
        line_end: 91
        line_start: 88
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    - fields:
      - name: size_class
        type: int
      - name: misses
        type: uint64_t
      item_type: struct
      name: MissInfo
      pos:
        line_end: 424
        line_start: 421
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::default_want_numa_aware
  - tcmalloc_internal::default_want_numa_aware
  source_file: /src/tcmalloc/tcmalloc/want_numa_aware.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::PageTracker::PageTracker
  - tcmalloc_internal::PageTracker::released
  - tcmalloc_internal::PageTracker::donated
  - tcmalloc_internal::PageTracker::set_donated
  - tcmalloc_internal::PageTracker::was_donated
  - tcmalloc_internal::PageTracker::was_released
  - tcmalloc_internal::PageTracker::set_was_released
  - tcmalloc_internal::PageTracker::abandoned
  - tcmalloc_internal::PageTracker::set_abandoned
  - tcmalloc_internal::PageTracker::abandoned_count
  - tcmalloc_internal::PageTracker::set_abandoned_count
  - tcmalloc_internal::PageTracker::longest_free_range
  - tcmalloc_internal::PageTracker::nallocs
  - tcmalloc_internal::PageTracker::used_pages
  - tcmalloc_internal::PageTracker::released_pages
  - tcmalloc_internal::PageTracker::alloctime
  - tcmalloc_internal::PageTracker::last_page_allocation_time
  - tcmalloc_internal::PageTracker::features
  - tcmalloc_internal::PageTracker::unbroken
  - tcmalloc_internal::PageTracker::location
  - tcmalloc_internal::PageTracker::HasDenseSpans
  - tcmalloc_internal::PageTracker::SetHasDenseSpans
  - tcmalloc_internal::PageTracker::SetHugePageResidencyState
  - tcmalloc_internal::PageTracker::GetHugePageResidencyState
  - tcmalloc_internal::PageTracker::SetBeingCollapsed
  - tcmalloc_internal::PageTracker::SetLastAllocationTime
  - tcmalloc_internal::PageTracker::RecordFeatures
  - tcmalloc_internal::PageTracker::BeingCollapsed
  - tcmalloc_internal::PageTracker::SetDontFreeTracker
  - tcmalloc_internal::PageTracker::DontFreeTracker
  - tcmalloc_internal::PageTracker::GetTagState
  - tcmalloc_internal::PageTracker::SetTagState
  - tcmalloc_internal::PageTracker::ReleasePages
  - tcmalloc_internal::HugePageFiller::size
  - tcmalloc_internal::HugePageFiller::pages_allocated
  - tcmalloc_internal::HugePageFiller::pages_allocated
  - tcmalloc_internal::HugePageFiller::used_pages
  - tcmalloc_internal::HugePageFiller::unmapped_pages
  - tcmalloc_internal::HugePageFiller::used_pages_in_released
  - tcmalloc_internal::HugePageFiller::used_pages_in_partial_released
  - tcmalloc_internal::HugePageFiller::used_pages_in_any_subreleased
  - tcmalloc_internal::HugePageFiller::previously_released_huge_pages
  - tcmalloc_internal::HugePageFiller::subrelease_stats
  - '& GetCollapseStats() const'
  - tcmalloc_internal::HugePageFiller::PageTrackerLists::size
  - tcmalloc_internal::HugePageFiller::CompareForSubrelease
  - tcmalloc_internal::PageTracker::Get
  - tcmalloc_internal::PageTracker::SetAnonVmaName
  - tcmalloc_internal::PageTracker::Put
  - tcmalloc_internal::PageTracker::ReleaseFree
  - tcmalloc_internal::PageTracker::Collapse
  - tcmalloc_internal::PageTracker::AddSpanStats
  - tcmalloc_internal::PageTracker::empty
  - tcmalloc_internal::PageTracker::free_pages
  - tcmalloc_internal::HugePageFiller<TrackerType>::HugePageFiller
  - tcmalloc_internal::HugePageFiller<TrackerType>::HugePageFiller
  - tcmalloc_internal::HugePageFiller<TrackerType>::TryGet
  - tcmalloc_internal::HugePageFiller<TrackerType>::Put
  - ~HugePageTreatment()
  - tcmalloc_internal::HugePageTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::RoundDown
  - tcmalloc_internal::SampledTrackerTreatment::SampledTrackerTreatment
  - ~SampledTrackerTreatment() override
  - tcmalloc_internal::SampledTrackerTreatment::SelectEligibleTrackers
  - tcmalloc_internal::SampledTrackerTreatment::num_valid_trackers
  - tcmalloc_internal::SampledTrackerTreatment::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::SampledTrackerTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::HugePageFiller<TrackerType>::Contribute
  - tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
  - tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
  - tcmalloc_internal::HugePageFiller<TrackerType>::FreePagesInPartialAllocs
  - tcmalloc_internal::HugePageFiller<TrackerType>::GetDesiredSubreleasePages
  - tcmalloc_internal::HugePageFiller<TrackerType>::ReleasePages
  - tcmalloc_internal::HugePageFiller<TrackerType>::AddSpanStats
  - tcmalloc_internal::HugePageFiller<TrackerType>::stats
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::UsageInfo
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::HugepageBackedPreviouslyReleased
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::Record
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::UsageInfo
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::HugepageBackedPreviouslyReleased
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::Record
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
  - tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::HugePageUnbackedTrackerTreatment
  - ~HugePageUnbackedTrackerTreatment() override
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::num_valid_trackers
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::GetCollapseStats
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::TryUserspaceCollapse
  - tcmalloc_internal::HugePageFiller<TrackerType>::TreatHugepageTrackers
  - tcmalloc_internal::HugePageFiller<TrackerType>::Print
  - tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
  - tcmalloc_internal::HugePageFiller<TrackerType>::PrintInPbtxt
  - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
  - tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
  - tcmalloc_internal::HugePageFiller<TrackerType>::SparseListFor
  - tcmalloc_internal::HugePageFiller<TrackerType>::DenseListFor
  - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
  - tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
  - tcmalloc_internal::HugePageFiller<TrackerType>::FetchFullyFreedTracker
  - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
  - tcmalloc_internal::HugePageFiller<TrackerType>::DonateToFillerList
  - tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
  - tcmalloc_internal::HugePageFiller<TrackerType>::ForEachHugePage
  - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
  - tcmalloc_internal::PageTracker::PageTracker
  - tcmalloc_internal::PageTracker::released
  - tcmalloc_internal::PageTracker::donated
  - tcmalloc_internal::PageTracker::set_donated
  - tcmalloc_internal::PageTracker::was_donated
  - tcmalloc_internal::PageTracker::was_released
  - tcmalloc_internal::PageTracker::set_was_released
  - tcmalloc_internal::PageTracker::abandoned
  - tcmalloc_internal::PageTracker::set_abandoned
  - tcmalloc_internal::PageTracker::abandoned_count
  - tcmalloc_internal::PageTracker::set_abandoned_count
  - tcmalloc_internal::PageTracker::longest_free_range
  - tcmalloc_internal::PageTracker::nallocs
  - tcmalloc_internal::PageTracker::used_pages
  - tcmalloc_internal::PageTracker::released_pages
  - tcmalloc_internal::PageTracker::alloctime
  - tcmalloc_internal::PageTracker::last_page_allocation_time
  - tcmalloc_internal::PageTracker::features
  - tcmalloc_internal::PageTracker::unbroken
  - tcmalloc_internal::PageTracker::location
  - tcmalloc_internal::PageTracker::HasDenseSpans
  - tcmalloc_internal::PageTracker::SetHasDenseSpans
  - tcmalloc_internal::PageTracker::SetHugePageResidencyState
  - tcmalloc_internal::PageTracker::GetHugePageResidencyState
  - tcmalloc_internal::PageTracker::SetBeingCollapsed
  - tcmalloc_internal::PageTracker::SetLastAllocationTime
  - tcmalloc_internal::PageTracker::RecordFeatures
  - tcmalloc_internal::PageTracker::BeingCollapsed
  - tcmalloc_internal::PageTracker::SetDontFreeTracker
  - tcmalloc_internal::PageTracker::DontFreeTracker
  - tcmalloc_internal::PageTracker::GetTagState
  - tcmalloc_internal::PageTracker::SetTagState
  - tcmalloc_internal::PageTracker::ReleasePages
  - tcmalloc_internal::HugePageFiller::size
  - tcmalloc_internal::HugePageFiller::pages_allocated
  - tcmalloc_internal::HugePageFiller::pages_allocated
  - tcmalloc_internal::HugePageFiller::used_pages
  - tcmalloc_internal::HugePageFiller::unmapped_pages
  - tcmalloc_internal::HugePageFiller::used_pages_in_released
  - tcmalloc_internal::HugePageFiller::used_pages_in_partial_released
  - tcmalloc_internal::HugePageFiller::used_pages_in_any_subreleased
  - tcmalloc_internal::HugePageFiller::previously_released_huge_pages
  - tcmalloc_internal::HugePageFiller::subrelease_stats
  - '& GetCollapseStats() const'
  - tcmalloc_internal::HugePageFiller::PageTrackerLists::size
  - tcmalloc_internal::HugePageFiller::CompareForSubrelease
  - tcmalloc_internal::PageTracker::Get
  - tcmalloc_internal::PageTracker::SetAnonVmaName
  - tcmalloc_internal::PageTracker::Put
  - tcmalloc_internal::PageTracker::ReleaseFree
  - tcmalloc_internal::PageTracker::Collapse
  - tcmalloc_internal::PageTracker::AddSpanStats
  - tcmalloc_internal::PageTracker::empty
  - tcmalloc_internal::PageTracker::free_pages
  - tcmalloc_internal::HugePageFiller<TrackerType>::HugePageFiller
  - tcmalloc_internal::HugePageFiller<TrackerType>::HugePageFiller
  - tcmalloc_internal::HugePageFiller<TrackerType>::TryGet
  - tcmalloc_internal::HugePageFiller<TrackerType>::Put
  - ~HugePageTreatment()
  - tcmalloc_internal::HugePageTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::RoundDown
  - tcmalloc_internal::SampledTrackerTreatment::SampledTrackerTreatment
  - ~SampledTrackerTreatment() override
  - tcmalloc_internal::SampledTrackerTreatment::SelectEligibleTrackers
  - tcmalloc_internal::SampledTrackerTreatment::num_valid_trackers
  - tcmalloc_internal::SampledTrackerTreatment::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::SampledTrackerTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::HugePageFiller<TrackerType>::Contribute
  - tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
  - tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
  - tcmalloc_internal::HugePageFiller<TrackerType>::FreePagesInPartialAllocs
  - tcmalloc_internal::HugePageFiller<TrackerType>::GetDesiredSubreleasePages
  - tcmalloc_internal::HugePageFiller<TrackerType>::ReleasePages
  - tcmalloc_internal::HugePageFiller<TrackerType>::AddSpanStats
  - tcmalloc_internal::HugePageFiller<TrackerType>::stats
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::UsageInfo
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::HugepageBackedPreviouslyReleased
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::Record
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::UsageInfo
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::HugepageBackedPreviouslyReleased
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::Record
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
  - tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::HugePageUnbackedTrackerTreatment
  - ~HugePageUnbackedTrackerTreatment() override
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::num_valid_trackers
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::GetCollapseStats
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::TryUserspaceCollapse
  - tcmalloc_internal::HugePageFiller<TrackerType>::TreatHugepageTrackers
  - tcmalloc_internal::HugePageFiller<TrackerType>::Print
  - tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
  - tcmalloc_internal::HugePageFiller<TrackerType>::PrintInPbtxt
  - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
  - tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
  - tcmalloc_internal::HugePageFiller<TrackerType>::SparseListFor
  - tcmalloc_internal::HugePageFiller<TrackerType>::DenseListFor
  - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
  - tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
  - tcmalloc_internal::HugePageFiller<TrackerType>::FetchFullyFreedTracker
  - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
  - tcmalloc_internal::HugePageFiller<TrackerType>::DonateToFillerList
  - tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
  - tcmalloc_internal::HugePageFiller<TrackerType>::ForEachHugePage
  - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
  source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
  types:
    enum:
    - enumerators:
      - name: kExactLongestFreeRange
      - name: kCoarseLongestFreeRange
      item_type: enum
      name: HugePageFillerSparseTrackerType
      pos:
        line_end: 363
        line_start: 355
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - enumerators:
      - name: kLongerLFR
      - name: kMatchingLFR
      item_type: enum
      name: LFRRequirement
      pos:
        line_end: 376
        line_start: 369
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - enumerators:
      - name: kSparseRegular
      - name: kSparsePartialReleased
      - name: kDonated
      - name: kDenseRegular
      - name: kDensePartialReleased
      - name: kSparseReleased
      - name: kDenseReleased
      - name: kNumTypes
      item_type: enum
      name: Type
      pos:
        line_end: 1580
        line_start: 1571
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - enumerators:
      - name: kSparseRegular
      - name: kSparsePartialReleased
      - name: kDonated
      - name: kDenseRegular
      - name: kDensePartialReleased
      - name: kSparseReleased
      - name: kDenseReleased
      - name: kNumTypes
      item_type: enum
      name: Type
      pos:
        line_end: 1580
        line_start: 1571
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - enumerators:
      - name: kExactLongestFreeRange
      - name: kCoarseLongestFreeRange
      item_type: enum
      name: HugePageFillerSparseTrackerType
      pos:
        line_end: 363
        line_start: 355
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - enumerators:
      - name: kLongerLFR
      - name: kMatchingLFR
      item_type: enum
      name: LFRRequirement
      pos:
        line_end: 376
        line_start: 369
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - enumerators:
      - name: kSparseRegular
      - name: kSparsePartialReleased
      - name: kDonated
      - name: kDenseRegular
      - name: kDensePartialReleased
      - name: kSparseReleased
      - name: kDenseReleased
      - name: kNumTypes
      item_type: enum
      name: Type
      pos:
        line_end: 1580
        line_start: 1571
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - enumerators:
      - name: kSparseRegular
      - name: kSparsePartialReleased
      - name: kDonated
      - name: kDenseRegular
      - name: kDensePartialReleased
      - name: kSparseReleased
      - name: kDenseReleased
      - name: kNumTypes
      item_type: enum
      name: Type
      pos:
        line_end: 1580
        line_start: 1571
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    preproc_defs: []
    structs:
    - fields:
      - name: page
        type: PageId
      - name: previously_unbacked
        type: Length
      item_type: struct
      name: PageAllocation
      pos:
        line_end: 118
        line_start: 115
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: is_valid
        type: bool
      - name: is_hugepage_backed
        type: bool
      - name: density
        type: bool
      - name: allocations
        type: size_t
      - name: objects
        type: size_t
      - name: allocation_time
        type: double
      - name: reallocation_time
        type: double
      - name: longest_free_range
        type: Length
      item_type: struct
      name: TrackerFeatures
      pos:
        line_end: 129
        line_start: 120
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: maybe_hugepage_backed
        type: bool
      - name: record_time
        type: double
      - name: entry_valid
        type: bool
      - name: being_collapsed
        type: bool
      item_type: struct
      name: HugePageResidencyState
      pos:
        line_end: 222
        line_start: 209
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: sampled_for_tagging
        type: bool
      - name: record_time
        type: double
      item_type: struct
      name: TagState
      pos:
        line_end: 260
        line_start: 257
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: n_fully_released[AccessDensityPrediction::kPredictionCounts + 1]
        type: HugeLength
      - name: n_partial_released[AccessDensityPrediction::kPredictionCounts + 1]
        type: HugeLength
      - name: n_released[AccessDensityPrediction::kPredictionCounts + 1]
        type: HugeLength
      - name: n_total[AccessDensityPrediction::kPredictionCounts + 1]
        type: HugeLength
      - name: n_full[AccessDensityPrediction::kPredictionCounts + 1]
        type: HugeLength
      - name: n_partial[AccessDensityPrediction::kPredictionCounts + 1]
        type: HugeLength
      item_type: struct
      name: HugePageFillerStats
      pos:
        line_end: 348
        line_start: 335
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: eligible
        type: std::atomic<size_t>
      - name: attempted
        type: std::atomic<size_t>
      - name: succeeded
        type: std::atomic<size_t>
      item_type: struct
      name: HugePageTreatmentStats
      pos:
        line_end: 382
        line_start: 378
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: '* pt'
        type: TrackerType
      - name: page
        type: PageId
      - name: from_released
        type: bool
      item_type: struct
      name: TryGetResult
      pos:
        line_end: 410
        line_start: 406
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: '* tracker'
        type: PageTracker
      - name: lfr
        type: size_t
      - name: nallocs
        type: size_t
      - name: has_dense_spans
        type: bool
      - name: released
        type: bool
      item_type: struct
      name: TrackerState
      pos:
        line_end: 1200
        line_start: 1194
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: '* tracker'
        type: PageTracker
      - name: tracker_state
        type: PageTracker::HugePageResidencyState
      item_type: struct
      name: ResidencyState
      pos:
        line_end: 2183
        line_start: 2180
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: page
        type: PageId
      - name: previously_unbacked
        type: Length
      item_type: struct
      name: PageAllocation
      pos:
        line_end: 118
        line_start: 115
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: is_valid
        type: bool
      - name: is_hugepage_backed
        type: bool
      - name: density
        type: bool
      - name: allocations
        type: size_t
      - name: objects
        type: size_t
      - name: allocation_time
        type: double
      - name: reallocation_time
        type: double
      - name: longest_free_range
        type: Length
      item_type: struct
      name: TrackerFeatures
      pos:
        line_end: 129
        line_start: 120
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: maybe_hugepage_backed
        type: bool
      - name: record_time
        type: double
      - name: entry_valid
        type: bool
      - name: being_collapsed
        type: bool
      item_type: struct
      name: HugePageResidencyState
      pos:
        line_end: 222
        line_start: 209
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: sampled_for_tagging
        type: bool
      - name: record_time
        type: double
      item_type: struct
      name: TagState
      pos:
        line_end: 260
        line_start: 257
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: n_fully_released[AccessDensityPrediction::kPredictionCounts + 1]
        type: HugeLength
      - name: n_partial_released[AccessDensityPrediction::kPredictionCounts + 1]
        type: HugeLength
      - name: n_released[AccessDensityPrediction::kPredictionCounts + 1]
        type: HugeLength
      - name: n_total[AccessDensityPrediction::kPredictionCounts + 1]
        type: HugeLength
      - name: n_full[AccessDensityPrediction::kPredictionCounts + 1]
        type: HugeLength
      - name: n_partial[AccessDensityPrediction::kPredictionCounts + 1]
        type: HugeLength
      item_type: struct
      name: HugePageFillerStats
      pos:
        line_end: 348
        line_start: 335
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: eligible
        type: std::atomic<size_t>
      - name: attempted
        type: std::atomic<size_t>
      - name: succeeded
        type: std::atomic<size_t>
      item_type: struct
      name: HugePageTreatmentStats
      pos:
        line_end: 382
        line_start: 378
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: '* pt'
        type: TrackerType
      - name: page
        type: PageId
      - name: from_released
        type: bool
      item_type: struct
      name: TryGetResult
      pos:
        line_end: 410
        line_start: 406
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: '* tracker'
        type: PageTracker
      - name: lfr
        type: size_t
      - name: nallocs
        type: size_t
      - name: has_dense_spans
        type: bool
      - name: released
        type: bool
      item_type: struct
      name: TrackerState
      pos:
        line_end: 1200
        line_start: 1194
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: '* tracker'
        type: PageTracker
      - name: tracker_state
        type: PageTracker::HugePageResidencyState
      item_type: struct
      name: ResidencyState
      pos:
        line_end: 2183
        line_start: 2180
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    typedefs:
    - item_type: typedef
      name: Tracker
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - item_type: typedef
      name: Tracker
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    union: []
- function_names:
  - namespace::tcmalloc_internal
  - AllocationSample::AllocationSample
  - AllocationSample::~AllocationSample()
  - AllocationSample::Stop
  source_file: /src/tcmalloc/tcmalloc/allocation_sample.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/tcmalloc/tcmalloc/reuse_size_classes_v2.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::FakeStaticForwarderWithUnback::ReleasePages
  - tcmalloc::tcmalloc_internal::FuzzHPAA
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::FakeStaticForwarderWithUnback::ReleasePages
  - tcmalloc::tcmalloc_internal::FuzzHPAA
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::FakeStaticForwarderWithUnback::ReleasePages
  - tcmalloc::tcmalloc_internal::FuzzHPAA
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::FakeStaticForwarderWithUnback::ReleasePages
  - tcmalloc::tcmalloc_internal::FuzzHPAA
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* span'
        type: Span
      - name: objects_per_span
        type: size_t
      item_type: struct
      name: SpanInfo
      pos:
        line_end: 142
        line_start: 139
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: '* span'
        type: Span
      - name: objects_per_span
        type: size_t
      item_type: struct
      name: SpanInfo
      pos:
        line_end: 142
        line_start: 139
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: '* span'
        type: Span
      - name: objects_per_span
        type: size_t
      item_type: struct
      name: SpanInfo
      pos:
        line_end: 142
        line_start: 139
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: '* span'
        type: Span
      - name: objects_per_span
        type: size_t
      item_type: struct
      name: SpanInfo
      pos:
        line_end: 142
        line_start: 139
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/tcmalloc/tcmalloc/experiment.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::FuzzSpan
  - tcmalloc::tcmalloc_internal::FuzzSpan
  - tcmalloc::tcmalloc_internal::FuzzSpan
  - tcmalloc::tcmalloc_internal::FuzzSpan
  source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::FuzzSelectExperiments
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::FuzzSelectExperiments
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::FuzzSelectExperiments
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::FuzzSelectExperiments
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/experiment_fuzz.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MallocHook_InitAtFirstAllocation_HeapLeakChecker
  - MallocHook_HooksChanged
  - namespace
  - tcmalloc_internal::InitialNewHook
  - tcmalloc_internal::RemoveInitialHooksAndCallInitializers
  - tcmalloc_internal::InitialNewHook
  - tcmalloc_internal::RemoveInitialHooksAndCallInitializers
  - MallocHook::AddNewHook
  - MallocHook::RemoveNewHook
  - MallocHook::AddDeleteHook
  - MallocHook::RemoveDeleteHook
  - MallocHook::AddSampledNewHook
  - MallocHook::RemoveSampledNewHook
  - MallocHook::AddSampledDeleteHook
  - MallocHook::RemoveSampledDeleteHook
  - INVOKE_HOOKS
  - MallocHook::InvokeNewHookSlow
  - MallocHook::InvokeDeleteHookSlow
  - MallocHook::InvokeSampledNewHookSlow
  - MallocHook::InvokeSampledDeleteHookSlow
  source_file: /src/tcmalloc/tcmalloc/malloc_hook.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::default_want_disable_dynamic_slabs
  - tcmalloc::tcmalloc_internal::default_want_disable_dynamic_slabs
  - tcmalloc::tcmalloc_internal::default_want_disable_dynamic_slabs
  - tcmalloc::tcmalloc_internal::default_want_disable_dynamic_slabs
  source_file: /src/tcmalloc/tcmalloc/want_disable_dynamic_slabs.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace::tcmalloc_internal
  - MetadataAllocator::MetadataAllocator
  - ~MetadataAllocator()
  - MetadataAllocator::MetadataAllocator
  - MetadataAllocator::MetadataAllocator
  - '& operator=(const MetadataAllocator&)'
  - '& operator=(MetadataAllocator&&)'
  source_file: /src/tcmalloc/tcmalloc/metadata_allocator.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::num_live_spans
  - tcmalloc_internal::prob_returned
  - tcmalloc_internal::num_live_spans
  - tcmalloc_internal::prob_returned
  source_file: /src/tcmalloc/tcmalloc/span_stats.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: num_spans_requested
        type: size_t
      - name: num_spans_returned
        type: size_t
      - name: obj_capacity
        type: size_t
      item_type: struct
      name: SpanStats
      pos:
        line_end: 43
        line_start: 26
        source_file: /src/tcmalloc/tcmalloc/span_stats.h
    - fields:
      - name: num_spans_requested
        type: size_t
      - name: num_spans_returned
        type: size_t
      - name: obj_capacity
        type: size_t
      item_type: struct
      name: SpanStats
      pos:
        line_end: 43
        line_start: 26
        source_file: /src/tcmalloc/tcmalloc/span_stats.h
    typedefs: []
    union: []
- function_names:
  - ABSL_FLAG
  - ~PageTrackerTest() override
  - PAlloc
  - Mark
  - operator()(Range r) override
  - MockMemoryInterface::Expect
  - MockMemoryInterface::VerifyAndClear
  - Check
  - ExpectUnbackPages
  - ExpectCollapsedPages
  - Get
  - Put
  - ReleaseFree
  - Collapse
  - FakePageFlags::FakePageFlags
  - FakePageFlags::Get
  - FakePageFlags::MarkHugePageBacked
  - FakePageFlags::IsHugepageBacked
  - FakeResidency::FakeResidency
  - FakeResidency::Get
  - FakeResidency::GetUnbackedAndSwappedBitmaps
  - FakeResidency::SetUnbackedAndSwappedBitmaps
  - FakeResidency::GetNativePagesInHugePage
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - Stat
  - TEST_F
  - MockCollapse::MockCollapse
  - operator()(Range r) override
  - MockCollapse::TriedCollapse
  - MockCollapse::TimesCollapsed
  - MockCollapse::SetSuccess
  - MockSetAnonVmaName::MockSetAnonVmaName
  - operator()(Range r, std::optional<absl::string_view> name) override
  - MockSetAnonVmaName::SetExpectedName
  - MockSetAnonVmaName::TimesCalled
  - BlockingUnback::BlockingUnback
  - operator()(Range r) override
  - FillerTest::FakeClock
  - FillerTest::GetFakeClockFrequency
  - FillerTest::Advance
  - FillerTest::ResetClock
  - FillerTest::GetBacking
  - FillerTest::GetFakePage
  - FillerTest::MarkRange
  - FillerTest::CheckRange
  - FillerTest::FillerTest
  - ~FillerTest() override
  - FillerTest::Mark
  - FillerTest::Check
  - FillerTest::CheckStats
  - FillerTest::AllocateWithSpanAllocInfo
  - FillerTest::AllocateVectorWithSpanAllocInfo
  - FillerTest::AllocateVector
  - FillerTest::Allocate
  - FillerTest::AllReleased
  - FillerTest::Delete
  - FillerTest::DeleteVector
  - FillerTest::DeleteRange
  - FillerTest::ReleasePages
  - FillerTest::ReleasePartialPages
  - FillerTest::HardReleasePages
  - FillerTest::TreatHugepageTrackers
  - FillerTest::AllocateRaw
  - FillerTest::DeleteRaw
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - FillerTest::FragmentationTest
  - TEST_P
  - TEST_P
  - BytesToMiB
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - FillerTest::GenerateInterestingAllocs
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST
  source_file: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      - name: span_alloc_info
        type: SpanAllocInfo
      item_type: struct
      name: PAlloc
      pos:
        line_end: 177
        line_start: 170
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    - fields:
      - name: r
        type: Range
      - name: success
        type: bool
      item_type: struct
      name: CallArgs
      pos:
        line_end: 222
        line_start: 219
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 632
        line_start: 612
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    - fields:
      - name: '* pt'
        type: PageTracker
      - name: p
        type: PageId
      - name: n
        type: Length
      - name: mark
        type: size_t
      - name: span_alloc_info
        type: SpanAllocInfo
      - name: from_released
        type: bool
      item_type: struct
      name: PAlloc
      pos:
        line_end: 883
        line_start: 876
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
  - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
  - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::Alloc
  - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::AlignedPtr
  - ~AlignedPtr()
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::ArenaBasedFakeTransferCacheManager
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::class_to_size
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::num_objects_to_move
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::Alloc
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::used
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::SetPartialLegacyTransferCache
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::Init
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::UseGenericCache
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::SetGenericCache
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::EnableCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::SetCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::FakeTransferCacheEnvironment
  - ~FakeTransferCacheEnvironment()
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Drain
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::RandomlyPoke
  - '& transfer_cache()'
  - '& central_freelist()'
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::TwoSizeClassManager
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::class_to_size
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::num_objects_to_move
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::InsertRange
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::RemoveRange
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::tc_length
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::GetStats
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::Init
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::SetCurrentCpu
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::NumShards
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::CurrentCpu
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::CpuShard
  - tcmalloc::tcmalloc_internal::FakeMultiClassTransferCacheManager::Init
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::MultiSizeClassTransferCacheEnvironment
  - ~MultiSizeClassTransferCacheEnvironment()
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Drain
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::RandomlyPoke
  - '& transfer_cache_manager()'
  - '& central_freelist(int size_class)'
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::FakeShardedTransferCacheEnvironment
  - ~FakeShardedTransferCacheEnvironment()
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Drain
  - '& sharded_manager()'
  - '& transfer_cache_manager()'
  - '& central_freelist()'
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::MetadataAllocated
  - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
  - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
  - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::Alloc
  - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::AlignedPtr
  - ~AlignedPtr()
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::ArenaBasedFakeTransferCacheManager
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::class_to_size
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::num_objects_to_move
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::Alloc
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::used
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::SetPartialLegacyTransferCache
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::Init
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::UseGenericCache
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::SetGenericCache
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::EnableCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::SetCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::FakeTransferCacheEnvironment
  - ~FakeTransferCacheEnvironment()
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Drain
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::RandomlyPoke
  - '& transfer_cache()'
  - '& central_freelist()'
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::TwoSizeClassManager
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::class_to_size
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::num_objects_to_move
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::InsertRange
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::RemoveRange
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::tc_length
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::GetStats
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::Init
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::SetCurrentCpu
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::NumShards
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::CurrentCpu
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::CpuShard
  - tcmalloc::tcmalloc_internal::FakeMultiClassTransferCacheManager::Init
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::MultiSizeClassTransferCacheEnvironment
  - ~MultiSizeClassTransferCacheEnvironment()
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Drain
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::RandomlyPoke
  - '& transfer_cache_manager()'
  - '& central_freelist(int size_class)'
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::FakeShardedTransferCacheEnvironment
  - ~FakeShardedTransferCacheEnvironment()
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Drain
  - '& sharded_manager()'
  - '& transfer_cache_manager()'
  - '& central_freelist()'
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::MetadataAllocated
  - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
  - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
  - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::Alloc
  - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::AlignedPtr
  - ~AlignedPtr()
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::ArenaBasedFakeTransferCacheManager
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::class_to_size
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::num_objects_to_move
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::Alloc
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::used
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::SetPartialLegacyTransferCache
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::Init
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::UseGenericCache
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::SetGenericCache
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::EnableCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::SetCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::FakeTransferCacheEnvironment
  - ~FakeTransferCacheEnvironment()
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Drain
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::RandomlyPoke
  - '& transfer_cache()'
  - '& central_freelist()'
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::TwoSizeClassManager
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::class_to_size
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::num_objects_to_move
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::InsertRange
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::RemoveRange
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::tc_length
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::GetStats
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::Init
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::SetCurrentCpu
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::NumShards
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::CurrentCpu
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::CpuShard
  - tcmalloc::tcmalloc_internal::FakeMultiClassTransferCacheManager::Init
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::MultiSizeClassTransferCacheEnvironment
  - ~MultiSizeClassTransferCacheEnvironment()
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Drain
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::RandomlyPoke
  - '& transfer_cache_manager()'
  - '& central_freelist(int size_class)'
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::FakeShardedTransferCacheEnvironment
  - ~FakeShardedTransferCacheEnvironment()
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Drain
  - '& sharded_manager()'
  - '& transfer_cache_manager()'
  - '& central_freelist()'
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::MetadataAllocated
  - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
  - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
  - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::Alloc
  - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::AlignedPtr
  - ~AlignedPtr()
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::ArenaBasedFakeTransferCacheManager
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::class_to_size
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::num_objects_to_move
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::Alloc
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::used
  - tcmalloc::tcmalloc_internal::ArenaBasedFakeTransferCacheManager::SetPartialLegacyTransferCache
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::Init
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::UseGenericCache
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::SetGenericCache
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::EnableCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::SetCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::FakeTransferCacheEnvironment
  - ~FakeTransferCacheEnvironment()
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Drain
  - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::RandomlyPoke
  - '& transfer_cache()'
  - '& central_freelist()'
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::TwoSizeClassManager
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::class_to_size
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::num_objects_to_move
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::InsertRange
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::RemoveRange
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::tc_length
  - tcmalloc::tcmalloc_internal::TwoSizeClassManager::GetStats
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::Init
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::SetCurrentCpu
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::NumShards
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::CurrentCpu
  - tcmalloc::tcmalloc_internal::FakeCpuLayout::CpuShard
  - tcmalloc::tcmalloc_internal::FakeMultiClassTransferCacheManager::Init
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::MultiSizeClassTransferCacheEnvironment
  - ~MultiSizeClassTransferCacheEnvironment()
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Drain
  - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::RandomlyPoke
  - '& transfer_cache_manager()'
  - '& central_freelist(int size_class)'
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::FakeShardedTransferCacheEnvironment
  - ~FakeShardedTransferCacheEnvironment()
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Drain
  - '& sharded_manager()'
  - '& transfer_cache_manager()'
  - '& central_freelist()'
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
  - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::MetadataAllocated
  source_file: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* ptr'
        type: void
      - name: alignment
        type: std::align_val_t
      item_type: struct
      name: AlignedPtr
      pos:
        line_end: 65
        line_start: 59
        source_file: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    - fields:
      - name: '* ptr'
        type: void
      - name: alignment
        type: std::align_val_t
      item_type: struct
      name: AlignedPtr
      pos:
        line_end: 65
        line_start: 59
        source_file: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    - fields:
      - name: '* ptr'
        type: void
      - name: alignment
        type: std::align_val_t
      item_type: struct
      name: AlignedPtr
      pos:
        line_end: 65
        line_start: 59
        source_file: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    - fields:
      - name: '* ptr'
        type: void
      - name: alignment
        type: std::align_val_t
      item_type: struct
      name: AlignedPtr
      pos:
        line_end: 65
        line_start: 59
        source_file: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - ~PageAllocator()
  - tcmalloc_internal::PageAllocator::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::PageAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageAllocator::Choices
  - ~Choices()
  - tcmalloc_internal::PageAllocator::impl
  - tcmalloc_internal::PageAllocator::New
  - tcmalloc_internal::PageAllocator::NewAligned
  - tcmalloc_internal::PageAllocator::Delete
  - tcmalloc_internal::PageAllocator::Delete
  - tcmalloc_internal::PageAllocator::stats
  - tcmalloc_internal::PageAllocator::GetSmallSpanStats
  - tcmalloc_internal::PageAllocator::GetLargeSpanStats
  - tcmalloc_internal::PageAllocator::TreatHugepageTrackers
  - tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
  - tcmalloc_internal::PageAllocator::GetReleaseStats
  - tcmalloc_internal::PageAllocator::Print
  - tcmalloc_internal::PageAllocator::PrintInPbtxt
  - tcmalloc_internal::PageAllocator::set_limit
  - tcmalloc_internal::PageAllocator::limit_hits
  - tcmalloc_internal::PageAllocator::successful_shrinks_after_limit_hit
  - '& PageAllocator::info(MemoryTag tag) const'
  - ~PageAllocator()
  - tcmalloc_internal::PageAllocator::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::PageAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageAllocator::Choices
  - ~Choices()
  - tcmalloc_internal::PageAllocator::impl
  - tcmalloc_internal::PageAllocator::New
  - tcmalloc_internal::PageAllocator::NewAligned
  - tcmalloc_internal::PageAllocator::Delete
  - tcmalloc_internal::PageAllocator::Delete
  - tcmalloc_internal::PageAllocator::stats
  - tcmalloc_internal::PageAllocator::GetSmallSpanStats
  - tcmalloc_internal::PageAllocator::GetLargeSpanStats
  - tcmalloc_internal::PageAllocator::TreatHugepageTrackers
  - tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
  - tcmalloc_internal::PageAllocator::GetReleaseStats
  - tcmalloc_internal::PageAllocator::Print
  - tcmalloc_internal::PageAllocator::PrintInPbtxt
  - tcmalloc_internal::PageAllocator::set_limit
  - tcmalloc_internal::PageAllocator::limit_hits
  - tcmalloc_internal::PageAllocator::successful_shrinks_after_limit_hit
  - '& PageAllocator::info(MemoryTag tag) const'
  source_file: /src/tcmalloc/tcmalloc/page_allocator.h
  types:
    enum:
    - enumerators:
      - name: kSoft
      - name: kNumLimits
      - name: kHard
      item_type: enum
      name: LimitKind
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/tcmalloc/tcmalloc/page_allocator.h
    - enumerators:
      - name: PAGE_HEAP
        value: '0'
      - name: HPAA
        value: '1'
      item_type: enum
      name: Algorithm
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/tcmalloc/tcmalloc/page_allocator.h
    - enumerators:
      - name: kSoft
      - name: kNumLimits
      - name: kHard
      item_type: enum
      name: LimitKind
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/tcmalloc/tcmalloc/page_allocator.h
    - enumerators:
      - name: PAGE_HEAP
        value: '0'
      - name: HPAA
        value: '1'
      item_type: enum
      name: Algorithm
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/tcmalloc/tcmalloc/page_allocator.h
    preproc_defs: []
    structs:
    - fields:
      - name: backed_bytes
        type: size_t
      - name: sampled_application_bytes
        type: size_t
      item_type: struct
      name: PeakStats
      pos:
        line_end: 137
        line_start: 134
        source_file: /src/tcmalloc/tcmalloc/page_allocator.h
    - fields:
      - name: backed_bytes
        type: size_t
      - name: sampled_application_bytes
        type: size_t
      item_type: struct
      name: PeakStats
      pos:
        line_end: 137
        line_start: 134
        source_file: /src/tcmalloc/tcmalloc/page_allocator.h
    typedefs: []
    union:
    - fields:
      - name: dummy
        type: int
      - name: hpaa
        type: HugePageAwareAllocator
      item_type: union
      name: Choices
      pos:
        line_end: 161
        line_start: 156
        source_file: /src/tcmalloc/tcmalloc/page_allocator.h
    - fields:
      - name: dummy
        type: int
      - name: hpaa
        type: HugePageAwareAllocator
      item_type: union
      name: Choices
      pos:
        line_end: 161
        line_start: 156
        source_file: /src/tcmalloc/tcmalloc/page_allocator.h
- function_names:
  - namespace
  - '* HugeAddressMap::Node::next() const'
  - '* HugeAddressMap::Node::next()'
  - HugeAddressMap::Node::Check(size_t* num_nodes, HugeLength* size) const
  - tcmalloc_internal::HugeAddressMap::first
  - tcmalloc_internal::HugeAddressMap::first
  - tcmalloc_internal::HugeAddressMap::Check
  - tcmalloc_internal::HugeAddressMap::nranges
  - tcmalloc_internal::HugeAddressMap::total_mapped
  - tcmalloc_internal::HugeAddressMap::Print
  - tcmalloc_internal::HugeAddressMap::PrintInPbtxt
  - tcmalloc_internal::HugeAddressMap::Predecessor
  - tcmalloc_internal::HugeAddressMap::Merge
  - tcmalloc_internal::HugeAddressMap::Insert
  - HugeAddressMap::Node::FixLongest()
  - tcmalloc_internal::HugeAddressMap::FixLongest
  - tcmalloc_internal::HugeAddressMap::Remove
  - tcmalloc_internal::HugeAddressMap::Put
  - tcmalloc_internal::HugeAddressMap::Get
  - HugeAddressMap::Node::Node(HugeRange r, int prio)
  - '* HugeAddressMap::Node::next() const'
  - '* HugeAddressMap::Node::next()'
  - HugeAddressMap::Node::Check(size_t* num_nodes, HugeLength* size) const
  - tcmalloc_internal::HugeAddressMap::first
  - tcmalloc_internal::HugeAddressMap::first
  - tcmalloc_internal::HugeAddressMap::Check
  - tcmalloc_internal::HugeAddressMap::nranges
  - tcmalloc_internal::HugeAddressMap::total_mapped
  - tcmalloc_internal::HugeAddressMap::Print
  - tcmalloc_internal::HugeAddressMap::PrintInPbtxt
  - tcmalloc_internal::HugeAddressMap::Predecessor
  - tcmalloc_internal::HugeAddressMap::Merge
  - tcmalloc_internal::HugeAddressMap::Insert
  - HugeAddressMap::Node::FixLongest()
  - tcmalloc_internal::HugeAddressMap::FixLongest
  - tcmalloc_internal::HugeAddressMap::Remove
  - tcmalloc_internal::HugeAddressMap::Put
  - tcmalloc_internal::HugeAddressMap::Get
  - HugeAddressMap::Node::Node(HugeRange r, int prio)
  source_file: /src/tcmalloc/tcmalloc/huge_address_map.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/want_legacy_size_classes_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::RawSpan::Init
  - ~RawSpan()
  - '& span()'
  - tcmalloc::tcmalloc_internal::SpanTest::SetUp
  - tcmalloc::tcmalloc_internal::SpanTest::TearDown
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::RawSpan::Init
  - ~RawSpan()
  - '& span()'
  - tcmalloc::tcmalloc_internal::SpanTest::SetUp
  - tcmalloc::tcmalloc_internal::SpanTest::TearDown
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::RawSpan::Init
  - ~RawSpan()
  - '& span()'
  - tcmalloc::tcmalloc_internal::SpanTest::SetUp
  - tcmalloc::tcmalloc_internal::SpanTest::TearDown
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::RawSpan::Init
  - ~RawSpan()
  - '& span()'
  - tcmalloc::tcmalloc_internal::SpanTest::SetUp
  - tcmalloc::tcmalloc_internal::SpanTest::TearDown
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::RawSpan::Init
  - ~RawSpan()
  - '& span()'
  - tcmalloc::tcmalloc_internal::SpanTest::SetUp
  - tcmalloc::tcmalloc_internal::SpanTest::TearDown
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::RawSpan::Init
  - ~RawSpan()
  - '& span()'
  - tcmalloc::tcmalloc_internal::SpanTest::SetUp
  - tcmalloc::tcmalloc_internal::SpanTest::TearDown
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::RawSpan::Init
  - ~RawSpan()
  - '& span()'
  - tcmalloc::tcmalloc_internal::SpanTest::SetUp
  - tcmalloc::tcmalloc_internal::SpanTest::TearDown
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::RawSpan::Init
  - ~RawSpan()
  - '& span()'
  - tcmalloc::tcmalloc_internal::SpanTest::SetUp
  - tcmalloc::tcmalloc_internal::SpanTest::TearDown
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/span_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::default_want_legacy_size_classes
  - tcmalloc::tcmalloc_internal::default_want_legacy_size_classes
  - tcmalloc::tcmalloc_internal::default_want_legacy_size_classes
  - tcmalloc::tcmalloc_internal::default_want_legacy_size_classes
  source_file: /src/tcmalloc/tcmalloc/want_legacy_size_classes.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TCMALLOC_ALIAS
  - glibc_override_malloc
  - glibc_override_realloc
  - glibc_override_free
  - glibc_override_memalign
  source_file: /src/tcmalloc/tcmalloc/libc_override.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TCMALLOC_NOTHROW
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcmalloc/tcmalloc/libc_override.h
      type_or_value: noexcept
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::MemoryUsageSlow
  - tcmalloc::ThreadCacheTest::ThreadCacheTest
  - tcmalloc::TEST_F
  - tcmalloc::MemoryUsageSlow
  - tcmalloc::ThreadCacheTest::ThreadCacheTest
  - tcmalloc::TEST_F
  - tcmalloc::MemoryUsageSlow
  - tcmalloc::ThreadCacheTest::ThreadCacheTest
  - tcmalloc::TEST_F
  - tcmalloc::MemoryUsageSlow
  - tcmalloc::ThreadCacheTest::ThreadCacheTest
  - tcmalloc::TEST_F
  source_file: /src/tcmalloc/tcmalloc/thread_cache_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::default_want_disable_huge_region_more_often
  - tcmalloc::tcmalloc_internal::default_want_disable_huge_region_more_often
  - tcmalloc::tcmalloc_internal::default_want_disable_huge_region_more_often
  - tcmalloc::tcmalloc_internal::default_want_disable_huge_region_more_often
  source_file: /src/tcmalloc/tcmalloc/want_disable_huge_region_more_often.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::StackTraceTable::Type
  - tcmalloc_internal::StackTraceTable::SetStartTime
  - tcmalloc_internal::StackTraceTable::StartTime
  - tcmalloc_internal::StackTraceTable::SetDuration
  - tcmalloc_internal::StackTraceTable::Duration
  - tcmalloc_internal::StackTraceTable::depth_total
  - tcmalloc_internal::StackTraceTable::Type
  - tcmalloc_internal::StackTraceTable::SetStartTime
  - tcmalloc_internal::StackTraceTable::StartTime
  - tcmalloc_internal::StackTraceTable::SetDuration
  - tcmalloc_internal::StackTraceTable::Duration
  - tcmalloc_internal::StackTraceTable::depth_total
  source_file: /src/tcmalloc/tcmalloc/stack_trace_table.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: sample
        type: Profile::Sample
      - name: '* next'
        type: LinkedSample
      item_type: struct
      name: LinkedSample
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/tcmalloc/tcmalloc/stack_trace_table.h
    - fields:
      - name: sample
        type: Profile::Sample
      - name: '* next'
        type: LinkedSample
      item_type: struct
      name: LinkedSample
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/tcmalloc/tcmalloc/stack_trace_table.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::ShardedStaticForwarder::Init
  - tcmalloc_internal::ShardedStaticForwarder::UseGenericCache
  - tcmalloc_internal::ShardedStaticForwarder::EnableCacheForLargeClassesOnly
  - tcmalloc_internal::ProdCpuLayout::NumShards
  - tcmalloc_internal::ProdCpuLayout::CurrentCpu
  - tcmalloc_internal::ProdCpuLayout::CpuShard
  - tcmalloc_internal::BackingTransferCache::Init
  - tcmalloc_internal::BackingTransferCache::size_class
  - tcmalloc_internal::ShardedTransferCacheManagerBase::ShardedTransferCacheManagerBase
  - tcmalloc_internal::ShardedTransferCacheManagerBase::Init
  - tcmalloc_internal::ShardedTransferCacheManagerBase::should_use
  - tcmalloc_internal::ShardedTransferCacheManagerBase::TotalBytes
  - tcmalloc_internal::ShardedTransferCacheManagerBase::TotalObjectsOfClass
  - tcmalloc_internal::ShardedTransferCacheManagerBase::Pop
  - tcmalloc_internal::ShardedTransferCacheManagerBase::Push
  - tcmalloc_internal::ShardedTransferCacheManagerBase::Print
  - tcmalloc_internal::ShardedTransferCacheManagerBase::PrintInPbtxt
  - tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
  - tcmalloc_internal::ShardedTransferCacheManagerBase::RemoveRange
  - tcmalloc_internal::ShardedTransferCacheManagerBase::InsertRange
  - tcmalloc_internal::ShardedTransferCacheManagerBase::Plunder
  - tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
  - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
  - tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
  - tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
  - tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
  - tcmalloc_internal::ShardedTransferCacheManagerBase::Shard
  - tcmalloc_internal::ShardedTransferCacheManagerBase::LargeCacheCapacity
  - tcmalloc_internal::ShardedTransferCacheManagerBase::ScaledCacheCapacity
  - tcmalloc_internal::ShardedTransferCacheManagerBase::InitShard
  - '&get_cache(int size_class)'
  - tcmalloc_internal::TransferCacheManager::TransferCacheManager
  - tcmalloc_internal::TransferCacheManager::TransferCacheManager
  - '&operator=(const TransferCacheManager &)'
  - tcmalloc_internal::TransferCacheManager::Init
  - tcmalloc_internal::TransferCacheManager::InsertRange
  - tcmalloc_internal::TransferCacheManager::RemoveRange
  - tcmalloc_internal::TransferCacheManager::tc_length
  - tcmalloc_internal::TransferCacheManager::GetStats
  - '&central_freelist(int size_class)'
  - tcmalloc_internal::TransferCacheManager::CanIncreaseCapacity
  - tcmalloc_internal::TransferCacheManager::TryResizingCaches
  - tcmalloc_internal::TransferCacheManager::TryPlunder
  - tcmalloc_internal::TransferCacheManager::InitCaches
  - tcmalloc_internal::TransferCacheManager::ShrinkCache
  - tcmalloc_internal::TransferCacheManager::IncreaseCacheCapacity
  - tcmalloc_internal::TransferCacheManager::FetchCommitIntervalMisses
  - tcmalloc_internal::TransferCacheManager::Print
  - tcmalloc_internal::TransferCacheManager::PrintInPbtxt
  - tcmalloc_internal::TransferCacheManager::Cache
  - ~Cache()
  - tcmalloc_internal::TransferCacheManager::TransferCacheManager
  - tcmalloc_internal::TransferCacheManager::TransferCacheManager
  - '& operator=(const TransferCacheManager&)'
  - tcmalloc_internal::TransferCacheManager::Init
  - tcmalloc_internal::TransferCacheManager::InsertRange
  - tcmalloc_internal::TransferCacheManager::RemoveRange
  - tcmalloc_internal::TransferCacheManager::tc_length
  - tcmalloc_internal::TransferCacheManager::GetStats
  - '& central_freelist(int size_class) const'
  - '& central_freelist(int size_class)'
  - tcmalloc_internal::TransferCacheManager::Print
  - tcmalloc_internal::TransferCacheManager::PrintInPbtxt
  - tcmalloc_internal::ShardedTransferCacheManager
  - tcmalloc_internal::Init
  - tcmalloc_internal::should_use
  - tcmalloc_internal::Pop
  - tcmalloc_internal::Push
  - tcmalloc_internal::RemoveRange
  - tcmalloc_internal::InsertRange
  - tcmalloc_internal::TotalBytes
  - tcmalloc_internal::Plunder
  - tcmalloc_internal::tc_length
  - tcmalloc_internal::TotalObjectsOfClass
  - tcmalloc_internal::GetStats
  - tcmalloc_internal::UseGenericCache
  - tcmalloc_internal::UseCacheForLargeClassesOnly
  - tcmalloc_internal::NumActiveShards
  - tcmalloc_internal::Print
  - tcmalloc_internal::PrintInPbtxt
  - tcmalloc_internal::ShardedStaticForwarder::Init
  - tcmalloc_internal::ShardedStaticForwarder::UseGenericCache
  - tcmalloc_internal::ShardedStaticForwarder::EnableCacheForLargeClassesOnly
  - tcmalloc_internal::ProdCpuLayout::NumShards
  - tcmalloc_internal::ProdCpuLayout::CurrentCpu
  - tcmalloc_internal::ProdCpuLayout::CpuShard
  - tcmalloc_internal::BackingTransferCache::Init
  - tcmalloc_internal::BackingTransferCache::size_class
  - tcmalloc_internal::ShardedTransferCacheManagerBase::ShardedTransferCacheManagerBase
  - tcmalloc_internal::ShardedTransferCacheManagerBase::Init
  - tcmalloc_internal::ShardedTransferCacheManagerBase::should_use
  - tcmalloc_internal::ShardedTransferCacheManagerBase::TotalBytes
  - tcmalloc_internal::ShardedTransferCacheManagerBase::TotalObjectsOfClass
  - tcmalloc_internal::ShardedTransferCacheManagerBase::Pop
  - tcmalloc_internal::ShardedTransferCacheManagerBase::Push
  - tcmalloc_internal::ShardedTransferCacheManagerBase::Print
  - tcmalloc_internal::ShardedTransferCacheManagerBase::PrintInPbtxt
  - tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
  - tcmalloc_internal::ShardedTransferCacheManagerBase::RemoveRange
  - tcmalloc_internal::ShardedTransferCacheManagerBase::InsertRange
  - tcmalloc_internal::ShardedTransferCacheManagerBase::Plunder
  - tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
  - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
  - tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
  - tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
  - tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
  - tcmalloc_internal::ShardedTransferCacheManagerBase::Shard
  - tcmalloc_internal::ShardedTransferCacheManagerBase::LargeCacheCapacity
  - tcmalloc_internal::ShardedTransferCacheManagerBase::ScaledCacheCapacity
  - tcmalloc_internal::ShardedTransferCacheManagerBase::InitShard
  - '&get_cache(int size_class)'
  - tcmalloc_internal::TransferCacheManager::TransferCacheManager
  - tcmalloc_internal::TransferCacheManager::TransferCacheManager
  - '&operator=(const TransferCacheManager &)'
  - tcmalloc_internal::TransferCacheManager::Init
  - tcmalloc_internal::TransferCacheManager::InsertRange
  - tcmalloc_internal::TransferCacheManager::RemoveRange
  - tcmalloc_internal::TransferCacheManager::tc_length
  - tcmalloc_internal::TransferCacheManager::GetStats
  - '&central_freelist(int size_class)'
  - tcmalloc_internal::TransferCacheManager::CanIncreaseCapacity
  - tcmalloc_internal::TransferCacheManager::TryResizingCaches
  - tcmalloc_internal::TransferCacheManager::TryPlunder
  - tcmalloc_internal::TransferCacheManager::InitCaches
  - tcmalloc_internal::TransferCacheManager::ShrinkCache
  - tcmalloc_internal::TransferCacheManager::IncreaseCacheCapacity
  - tcmalloc_internal::TransferCacheManager::FetchCommitIntervalMisses
  - tcmalloc_internal::TransferCacheManager::Print
  - tcmalloc_internal::TransferCacheManager::PrintInPbtxt
  - tcmalloc_internal::TransferCacheManager::Cache
  - ~Cache()
  - tcmalloc_internal::TransferCacheManager::TransferCacheManager
  - tcmalloc_internal::TransferCacheManager::TransferCacheManager
  - '& operator=(const TransferCacheManager&)'
  - tcmalloc_internal::TransferCacheManager::Init
  - tcmalloc_internal::TransferCacheManager::InsertRange
  - tcmalloc_internal::TransferCacheManager::RemoveRange
  - tcmalloc_internal::TransferCacheManager::tc_length
  - tcmalloc_internal::TransferCacheManager::GetStats
  - '& central_freelist(int size_class) const'
  - '& central_freelist(int size_class)'
  - tcmalloc_internal::TransferCacheManager::Print
  - tcmalloc_internal::TransferCacheManager::PrintInPbtxt
  - tcmalloc_internal::ShardedTransferCacheManager
  - tcmalloc_internal::Init
  - tcmalloc_internal::should_use
  - tcmalloc_internal::Pop
  - tcmalloc_internal::Push
  - tcmalloc_internal::RemoveRange
  - tcmalloc_internal::InsertRange
  - tcmalloc_internal::TotalBytes
  - tcmalloc_internal::Plunder
  - tcmalloc_internal::tc_length
  - tcmalloc_internal::TotalObjectsOfClass
  - tcmalloc_internal::GetStats
  - tcmalloc_internal::UseGenericCache
  - tcmalloc_internal::UseCacheForLargeClassesOnly
  - tcmalloc_internal::NumActiveShards
  - tcmalloc_internal::Print
  - tcmalloc_internal::PrintInPbtxt
  source_file: /src/tcmalloc/tcmalloc/transfer_cache.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*transfer_caches'
        type: TransferCache
      - name: once_flag
        type: absl::once_flag
      - name: initialized
        type: std::atomic<bool>
      item_type: struct
      name: Shard
      pos:
        line_end: 354
        line_start: 343
        source_file: /src/tcmalloc/tcmalloc/transfer_cache.h
    - fields:
      - name: capacity
        type: int
      - name: max_capacity
        type: int
      item_type: struct
      name: Capacity
      pos:
        line_end: 359
        line_start: 356
        source_file: /src/tcmalloc/tcmalloc/transfer_cache.h
    - fields: []
      item_type: struct
      name: ShardedTransferCacheManager
      pos:
        line_end: 633
        line_start: 611
        source_file: /src/tcmalloc/tcmalloc/transfer_cache.h
    - fields:
      - name: '*transfer_caches'
        type: TransferCache
      - name: once_flag
        type: absl::once_flag
      - name: initialized
        type: std::atomic<bool>
      item_type: struct
      name: Shard
      pos:
        line_end: 354
        line_start: 343
        source_file: /src/tcmalloc/tcmalloc/transfer_cache.h
    - fields:
      - name: capacity
        type: int
      - name: max_capacity
        type: int
      item_type: struct
      name: Capacity
      pos:
        line_end: 359
        line_start: 356
        source_file: /src/tcmalloc/tcmalloc/transfer_cache.h
    - fields: []
      item_type: struct
      name: ShardedTransferCacheManager
      pos:
        line_end: 633
        line_start: 611
        source_file: /src/tcmalloc/tcmalloc/transfer_cache.h
    typedefs: []
    union:
    - fields:
      - name: tc
        type: TransferCache
      - name: dummy
        type: bool
      item_type: union
      name: Cache
      pos:
        line_end: 563
        line_start: 557
        source_file: /src/tcmalloc/tcmalloc/transfer_cache.h
    - fields:
      - name: tc
        type: TransferCache
      - name: dummy
        type: bool
      item_type: union
      name: Cache
      pos:
        line_end: 563
        line_start: 557
        source_file: /src/tcmalloc/tcmalloc/transfer_cache.h
- function_names:
  - namespace
  source_file: /src/tcmalloc/tcmalloc/experimental_pow2_size_class.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::SystemAllocator::SystemAllocator
  - tcmalloc_internal::SystemAllocator::release_errors
  - tcmalloc_internal::SystemAllocator::set_madvise_preference
  - tcmalloc_internal::SystemAllocator::madvise_preference
  - tcmalloc_internal::SystemAllocator::Back
  - tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
  - tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
  - tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
  - tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
  - tcmalloc_internal::SystemAllocator::MmapRegion::MmapRegion
  - ~MmapRegion() override
  - tcmalloc_internal::SystemAllocator::MmapRegionFactory::MmapRegionFactory
  - ~MmapRegionFactory() override
  - tcmalloc_internal::system_allocator_internal::CheckAddressBits
  - tcmalloc_internal::system_allocator_internal::CheckAddressBits
  - tcmalloc_internal::system_allocator_internal::RoundDown
  - tcmalloc_internal::system_allocator_internal::RoundUp
  - tcmalloc_internal::system_allocator_internal::CheckAddressBits
  - tcmalloc_internal::system_allocator_internal::CheckAddressBits
  - tcmalloc_internal::system_allocator_internal::RoundDown
  - tcmalloc_internal::system_allocator_internal::RoundUp
  - tcmalloc_internal::SystemAllocator<Topology>::Allocate
  - tcmalloc_internal::SystemAllocator<Topology>::GetRegionFactory
  - tcmalloc_internal::SystemAllocator<Topology>::SetRegionFactory
  - tcmalloc_internal::SystemAllocator<Topology>::DiscardMappedRegions
  - "SystemAllocator<Topology>::MmapRegion::Alloc(\n    size_t request_size, size_t
    alignment)"
  - "* SystemAllocator<Topology>::MmapRegionFactory::Create(\n    void* start, size_t
    size, UsageHint hint)"
  - "SystemAllocator<Topology>::MmapRegionFactory::GetStats(\n    absl::Span<char>
    buffer)"
  - "SystemAllocator<Topology>::MmapRegionFactory::GetStatsInPbtxt(\n    absl::Span<char>
    buffer)"
  - tcmalloc_internal::SystemAllocator<Topology>::AllocateFromRegion
  - tcmalloc_internal::SystemAllocator::SystemAllocator
  - tcmalloc_internal::SystemAllocator::release_errors
  - tcmalloc_internal::SystemAllocator::set_madvise_preference
  - tcmalloc_internal::SystemAllocator::madvise_preference
  - tcmalloc_internal::SystemAllocator::Back
  - tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
  - tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
  - tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
  - tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
  - tcmalloc_internal::SystemAllocator::MmapRegion::MmapRegion
  - ~MmapRegion() override
  - tcmalloc_internal::SystemAllocator::MmapRegionFactory::MmapRegionFactory
  - ~MmapRegionFactory() override
  - tcmalloc_internal::system_allocator_internal::CheckAddressBits
  - tcmalloc_internal::system_allocator_internal::CheckAddressBits
  - tcmalloc_internal::system_allocator_internal::RoundDown
  - tcmalloc_internal::system_allocator_internal::RoundUp
  - tcmalloc_internal::system_allocator_internal::CheckAddressBits
  - tcmalloc_internal::system_allocator_internal::CheckAddressBits
  - tcmalloc_internal::system_allocator_internal::RoundDown
  - tcmalloc_internal::system_allocator_internal::RoundUp
  - tcmalloc_internal::SystemAllocator<Topology>::Allocate
  - tcmalloc_internal::SystemAllocator<Topology>::GetRegionFactory
  - tcmalloc_internal::SystemAllocator<Topology>::SetRegionFactory
  - tcmalloc_internal::SystemAllocator<Topology>::DiscardMappedRegions
  - "SystemAllocator<Topology>::MmapRegion::Alloc(\n    size_t request_size, size_t
    alignment)"
  - "* SystemAllocator<Topology>::MmapRegionFactory::Create(\n    void* start, size_t
    size, UsageHint hint)"
  - "SystemAllocator<Topology>::MmapRegionFactory::GetStats(\n    absl::Span<char>
    buffer)"
  - "SystemAllocator<Topology>::MmapRegionFactory::GetStatsInPbtxt(\n    absl::Span<char>
    buffer)"
  - tcmalloc_internal::SystemAllocator<Topology>::AllocateFromRegion
  - SystemAllocator<Topology>::MmapAligned
  - SystemAllocator<Topology>::MmapAlignedLocked
  - SystemAllocator<Topology>::Release
  - SystemAllocator<Topology>::Collapse
  - SystemAllocator<Topology>::SetAnonVmaName
  - SystemAllocator<Topology>::BindMemory
  - SystemAllocator<Topology>::TagToHint
  - SystemAllocator<Topology>::RandomMmapHint
  - SystemAllocator<Topology>::ReleasePages
  source_file: /src/tcmalloc/tcmalloc/system-alloc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MADV_FREE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcmalloc/tcmalloc/system-alloc.h
      type_or_value: '8'
    - item_type: preproc_def
      name: MADV_COLLAPSE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcmalloc/tcmalloc/system-alloc.h
      type_or_value: '25 '
    - item_type: preproc_def
      name: PR_SET_VMA
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcmalloc/tcmalloc/system-alloc.h
      type_or_value: '0x53564d41'
    - item_type: preproc_def
      name: PR_SET_VMA_ANON_NAME
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcmalloc/tcmalloc/system-alloc.h
      type_or_value: '0'
    structs:
    - fields:
      - name: '* ptr'
        type: void
      - name: bytes
        type: size_t
      item_type: struct
      name: AddressRange
      pos:
        line_end: 77
        line_start: 74
        source_file: /src/tcmalloc/tcmalloc/system-alloc.h
    - fields:
      - name: '* ptr'
        type: void
      - name: bytes
        type: size_t
      item_type: struct
      name: AddressRange
      pos:
        line_end: 77
        line_start: 74
        source_file: /src/tcmalloc/tcmalloc/system-alloc.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::Static::metadata_bytes
  - tcmalloc_internal::Static::pagemap_residence
  - tcmalloc_internal::Static::size_class_configuration
  - tcmalloc_internal::ABSL_ATTRIBUTE_NOINLINE::SlowInitIfNecessary
  - tcmalloc_internal::Static::metadata_bytes
  - tcmalloc_internal::Static::pagemap_residence
  - tcmalloc_internal::Static::size_class_configuration
  - tcmalloc_internal::ABSL_ATTRIBUTE_NOINLINE::SlowInitIfNecessary
  source_file: /src/tcmalloc/tcmalloc/static_vars.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcmalloc/tcmalloc/tcmalloc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_frequency
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::CentralFreeList
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::CentralFreeList
  - '& operator=(const CentralFreeList&)'
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::length
  - '& forwarder()'
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::num_spans
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::LifetimeBucketNum
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Init
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::InsertRange
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::RemoveRange
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::OverheadBytes
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetSpanStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_frequency
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::CentralFreeList
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::CentralFreeList
  - '& operator=(const CentralFreeList&)'
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::length
  - '& forwarder()'
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::num_spans
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::LifetimeBucketNum
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Init
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::InsertRange
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::RemoveRange
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::OverheadBytes
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetSpanStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_frequency
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::CentralFreeList
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::CentralFreeList
  - '& operator=(const CentralFreeList&)'
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::length
  - '& forwarder()'
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::num_spans
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::LifetimeBucketNum
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Init
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::InsertRange
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::RemoveRange
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::OverheadBytes
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetSpanStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_frequency
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::CentralFreeList
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::CentralFreeList
  - '& operator=(const CentralFreeList&)'
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::length
  - '& forwarder()'
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::num_spans
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::central_freelist_internal::CentralFreeList::LifetimeBucketNum
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Init
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::InsertRange
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::RemoveRange
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::OverheadBytes
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetSpanStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt
  source_file: /src/tcmalloc/tcmalloc/central_freelist.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace::tcmalloc_internal
  - GetThreadSampler
  - sized_ptr_t::SampleifyAllocation
  - SampleLargeAllocation
  - SampleSmallAllocation
  source_file: /src/tcmalloc/tcmalloc/allocation_sampling.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - ~HugeAddressMap()
  - tcmalloc_internal::HugeAddressMap::HugeAddressMap
  - HugeAddressMap::Node::range() const
  - '* HugeAddressMap::Node::left()'
  - '* HugeAddressMap::Node::right()'
  - HugeAddressMap::Node::when() const
  - HugeAddressMap::Node::longest() const
  - tcmalloc_internal::HugeAddressMap::root
  - tcmalloc_internal::HugeAddressMap::root
  - ~HugeAddressMap()
  - tcmalloc_internal::HugeAddressMap::HugeAddressMap
  - HugeAddressMap::Node::range() const
  - '* HugeAddressMap::Node::left()'
  - '* HugeAddressMap::Node::right()'
  - HugeAddressMap::Node::when() const
  - HugeAddressMap::Node::longest() const
  - tcmalloc_internal::HugeAddressMap::root
  - tcmalloc_internal::HugeAddressMap::root
  source_file: /src/tcmalloc/tcmalloc/huge_address_map.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - MallocHook::InvokeNewHook
  - MallocHook::InvokeDeleteHook
  - MallocHook::InvokeSampledNewHook
  - MallocHook::InvokeSampledDeleteHook
  source_file: /src/tcmalloc/tcmalloc/malloc_hook_invoke.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - "FakeVirtualAllocator::operator()(size_t bytes,\n                                                     size_t
    align)"
  - "FakeVirtualAllocator::operator()(size_t bytes,\n                                                     size_t
    align)"
  source_file: /src/tcmalloc/tcmalloc/mock_virtual_allocator.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::GuardedPageAllocator::Init
  - tcmalloc_internal::GuardedPageAllocator::Destroy
  - tcmalloc_internal::GuardedPageAllocator::Reset
  - tcmalloc_internal::GuardedPageAllocator::TrySample
  - tcmalloc_internal::GuardedPageAllocator::Allocate
  - tcmalloc_internal::ForceTouchPage
  - tcmalloc_internal::GuardedPageAllocator::Deallocate
  - tcmalloc_internal::GuardedPageAllocator::GetRequestedSize
  - tcmalloc_internal::GuardedPageAllocator::GetAllocationOffsetAndSize
  - tcmalloc_internal::GuardedPageAllocator::GetStackTraces
  - tcmalloc_internal::GetChainedInterval
  - tcmalloc_internal::GuardedPageAllocator::Print
  - tcmalloc_internal::GuardedPageAllocator::PrintInPbtxt
  - tcmalloc_internal::GuardedPageAllocator::MapPages
  - tcmalloc_internal::GuardedPageAllocator::ReserveFreeSlot
  - tcmalloc_internal::GuardedPageAllocator::GetFreeSlot
  - tcmalloc_internal::GuardedPageAllocator::FreeSlot
  - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
  - tcmalloc_internal::GuardedPageAllocator::GetNearestValidPage
  - tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
  - tcmalloc_internal::GuardedPageAllocator::WriteOverflowOccurred
  - tcmalloc_internal::GuardedPageAllocator::GetErrorType
  - tcmalloc_internal::GuardedPageAllocator::SlotToAddr
  - tcmalloc_internal::GuardedPageAllocator::AddrToSlot
  - tcmalloc_internal::GuardedPageAllocator::MaybeRightAlign
  - tcmalloc_internal::GuardedPageAllocator::Init
  - tcmalloc_internal::GuardedPageAllocator::Destroy
  - tcmalloc_internal::GuardedPageAllocator::Reset
  - tcmalloc_internal::GuardedPageAllocator::TrySample
  - tcmalloc_internal::GuardedPageAllocator::Allocate
  - tcmalloc_internal::ForceTouchPage
  - tcmalloc_internal::GuardedPageAllocator::Deallocate
  - tcmalloc_internal::GuardedPageAllocator::GetRequestedSize
  - tcmalloc_internal::GuardedPageAllocator::GetAllocationOffsetAndSize
  - tcmalloc_internal::GuardedPageAllocator::GetStackTraces
  - tcmalloc_internal::GetChainedInterval
  - tcmalloc_internal::GuardedPageAllocator::Print
  - tcmalloc_internal::GuardedPageAllocator::PrintInPbtxt
  - tcmalloc_internal::GuardedPageAllocator::MapPages
  - tcmalloc_internal::GuardedPageAllocator::ReserveFreeSlot
  - tcmalloc_internal::GuardedPageAllocator::GetFreeSlot
  - tcmalloc_internal::GuardedPageAllocator::FreeSlot
  - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
  - tcmalloc_internal::GuardedPageAllocator::GetNearestValidPage
  - tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
  - tcmalloc_internal::GuardedPageAllocator::WriteOverflowOccurred
  - tcmalloc_internal::GuardedPageAllocator::GetErrorType
  - tcmalloc_internal::GuardedPageAllocator::SlotToAddr
  - tcmalloc_internal::GuardedPageAllocator::AddrToSlot
  - tcmalloc_internal::GuardedPageAllocator::MaybeRightAlign
  source_file: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/segv_handler_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::ActivatePerCpuCaches
  - tcmalloc_internal::PerCPUInitializer::PerCPUInitializer
  - tcmalloc_internal::ActivatePerCpuCaches
  - tcmalloc_internal::PerCPUInitializer::PerCPUInitializer
  - TCMalloc_Internal_ForceCpuCacheActivation
  - MallocExtension_Internal_GetPerCpuCachesActive
  - MallocExtension_Internal_GetMaxPerCpuCacheSize
  - MallocExtension_Internal_SetMaxPerCpuCacheSize
  source_file: /src/tcmalloc/tcmalloc/cpu_cache.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::RealCentralFreeListForTesting::AllocateBatch
  - tcmalloc::tcmalloc_internal::RealCentralFreeListForTesting::FreeBatch
  - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
  - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::FreeBatch
  - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::InsertRange
  - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::RemoveRange
  - tcmalloc::tcmalloc_internal::FakeCentralFreeList::AllocateBatch
  - tcmalloc::tcmalloc_internal::FakeCentralFreeList::FreeBatch
  - tcmalloc::tcmalloc_internal::FakeCentralFreeList::InsertRange
  - tcmalloc::tcmalloc_internal::FakeCentralFreeList::RemoveRange
  - tcmalloc::tcmalloc_internal::RealCentralFreeListForTesting::AllocateBatch
  - tcmalloc::tcmalloc_internal::RealCentralFreeListForTesting::FreeBatch
  - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
  - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::FreeBatch
  - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::InsertRange
  - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::RemoveRange
  - tcmalloc::tcmalloc_internal::FakeCentralFreeList::AllocateBatch
  - tcmalloc::tcmalloc_internal::FakeCentralFreeList::FreeBatch
  - tcmalloc::tcmalloc_internal::FakeCentralFreeList::InsertRange
  - tcmalloc::tcmalloc_internal::FakeCentralFreeList::RemoveRange
  - tcmalloc::tcmalloc_internal::RealCentralFreeListForTesting::AllocateBatch
  - tcmalloc::tcmalloc_internal::RealCentralFreeListForTesting::FreeBatch
  - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
  - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::FreeBatch
  - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::InsertRange
  - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::RemoveRange
  - tcmalloc::tcmalloc_internal::FakeCentralFreeList::AllocateBatch
  - tcmalloc::tcmalloc_internal::FakeCentralFreeList::FreeBatch
  - tcmalloc::tcmalloc_internal::FakeCentralFreeList::InsertRange
  - tcmalloc::tcmalloc_internal::FakeCentralFreeList::RemoveRange
  - tcmalloc::tcmalloc_internal::RealCentralFreeListForTesting::AllocateBatch
  - tcmalloc::tcmalloc_internal::RealCentralFreeListForTesting::FreeBatch
  - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
  - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::FreeBatch
  - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::InsertRange
  - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::RemoveRange
  - tcmalloc::tcmalloc_internal::FakeCentralFreeList::AllocateBatch
  - tcmalloc::tcmalloc_internal::FakeCentralFreeList::FreeBatch
  - tcmalloc::tcmalloc_internal::FakeCentralFreeList::InsertRange
  - tcmalloc::tcmalloc_internal::FakeCentralFreeList::RemoveRange
  source_file: /src/tcmalloc/tcmalloc/mock_central_freelist.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::PageAllocator::PageAllocator
  - tcmalloc_internal::PageAllocator::ShrinkToUsageLimit
  - tcmalloc_internal::PageAllocator::ShrinkHardBy
  - tcmalloc_internal::PageAllocator::active_numa_partitions
  - tcmalloc_internal::PageAllocator::PageAllocator
  - tcmalloc_internal::PageAllocator::ShrinkToUsageLimit
  - tcmalloc_internal::PageAllocator::ShrinkHardBy
  - tcmalloc_internal::PageAllocator::active_numa_partitions
  source_file: /src/tcmalloc/tcmalloc/page_allocator.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/pages_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/profile_marshaler_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::Align
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Align
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Align
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Align
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Align
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Align
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Align
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Align
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/arena_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::PrintTest::ExpectStats
  - tcmalloc::tcmalloc_internal::PrintTest::Backing
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PrintTest::ExpectStats
  - tcmalloc::tcmalloc_internal::PrintTest::Backing
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PrintTest::ExpectStats
  - tcmalloc::tcmalloc_internal::PrintTest::Backing
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PrintTest::ExpectStats
  - tcmalloc::tcmalloc_internal::PrintTest::Backing
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PrintTest::ExpectStats
  - tcmalloc::tcmalloc_internal::PrintTest::Backing
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PrintTest::ExpectStats
  - tcmalloc::tcmalloc_internal::PrintTest::Backing
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PrintTest::ExpectStats
  - tcmalloc::tcmalloc_internal::PrintTest::Backing
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PrintTest::ExpectStats
  - tcmalloc::tcmalloc_internal::PrintTest::Backing
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/stats_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcmalloc/tcmalloc/new_extension.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::HintedTrackerLists::HintedTrackerLists
  - tcmalloc_internal::HintedTrackerLists::GetLeast
  - tcmalloc_internal::HintedTrackerLists::PeekLeast
  - tcmalloc_internal::HintedTrackerLists::Add
  - tcmalloc_internal::HintedTrackerLists::Remove
  - '& operator[](const size_t n) const'
  - tcmalloc_internal::HintedTrackerLists::size
  - tcmalloc_internal::HintedTrackerLists::SizeOfList
  - tcmalloc_internal::HintedTrackerLists::Iter
  - tcmalloc_internal::HintedTrackerLists::HintedTrackerLists
  - tcmalloc_internal::HintedTrackerLists::GetLeast
  - tcmalloc_internal::HintedTrackerLists::PeekLeast
  - tcmalloc_internal::HintedTrackerLists::Add
  - tcmalloc_internal::HintedTrackerLists::Remove
  - '& operator[](const size_t n) const'
  - tcmalloc_internal::HintedTrackerLists::size
  - tcmalloc_internal::HintedTrackerLists::SizeOfList
  - tcmalloc_internal::HintedTrackerLists::Iter
  source_file: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~FakeMetadataAllocator() override
  - '* operator()(size_t size) override'
  - ~FakeMetadataAllocator() override
  - '* operator()(size_t size) override'
  source_file: /src/tcmalloc/tcmalloc/mock_metadata_allocator.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::FuzzGetProperty
  - tcmalloc::FuzzGetProperty
  - tcmalloc::FuzzGetProperty
  - tcmalloc::FuzzGetProperty
  source_file: /src/tcmalloc/tcmalloc/malloc_extension_fuzz.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace::tcmalloc_internal
  - AllocationSampleList::AllocationSampleList
  - AllocationSampleList::Add
  - AllocationSampleList::Remove
  - AllocationSampleList::ReportMalloc
  source_file: /src/tcmalloc/tcmalloc/allocation_sample.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/tcmalloc/tcmalloc/size_class_info.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: size
        type: uint32_t
      - name: pages
        type: uint8_t
      - name: num_to_move
        type: uint8_t
      item_type: struct
      name: SizeClassInfo
      pos:
        line_end: 42
        line_start: 29
        source_file: /src/tcmalloc/tcmalloc/size_class_info.h
    - fields:
      - name: has_expanded_classes
        type: bool
      - name: span_size
        type: size_t
      - name: sampling_interval
        type: size_t
      - name: large_size
        type: size_t
      - name: large_size_alignment
        type: size_t
      item_type: struct
      name: SizeClassAssumptions
      pos:
        line_end: 50
        line_start: 44
        source_file: /src/tcmalloc/tcmalloc/size_class_info.h
    - fields:
      - name: classes
        type: absl::Span<const SizeClassInfo>
      - name: assumptions
        type: SizeClassAssumptions
      item_type: struct
      name: SizeClasses
      pos:
        line_end: 55
        line_start: 52
        source_file: /src/tcmalloc/tcmalloc/size_class_info.h
    - fields:
      - name: size
        type: uint32_t
      - name: pages
        type: uint8_t
      - name: num_to_move
        type: uint8_t
      item_type: struct
      name: SizeClassInfo
      pos:
        line_end: 42
        line_start: 29
        source_file: /src/tcmalloc/tcmalloc/size_class_info.h
    - fields:
      - name: has_expanded_classes
        type: bool
      - name: span_size
        type: size_t
      - name: sampling_interval
        type: size_t
      - name: large_size
        type: size_t
      - name: large_size_alignment
        type: size_t
      item_type: struct
      name: SizeClassAssumptions
      pos:
        line_end: 50
        line_start: 44
        source_file: /src/tcmalloc/tcmalloc/size_class_info.h
    - fields:
      - name: classes
        type: absl::Span<const SizeClassInfo>
      - name: assumptions
        type: SizeClassAssumptions
      item_type: struct
      name: SizeClasses
      pos:
        line_end: 55
        line_start: 52
        source_file: /src/tcmalloc/tcmalloc/size_class_info.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::ExtraRegion::ExtraRegion
  - tcmalloc_internal::ExtraRegion::Alloc
  - tcmalloc_internal::ExtraRegionFactory::ExtraRegionFactory
  - tcmalloc_internal::ExtraRegionFactory::Create
  - tcmalloc_internal::ExtraRegionFactory::GetStats
  - tcmalloc_internal::ExtraRegion::ExtraRegion
  - tcmalloc_internal::ExtraRegion::Alloc
  - tcmalloc_internal::ExtraRegionFactory::ExtraRegionFactory
  - tcmalloc_internal::ExtraRegionFactory::Create
  - tcmalloc_internal::ExtraRegionFactory::GetStats
  source_file: /src/tcmalloc/tcmalloc/page_allocator_test_util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
  - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
  - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
  - tcmalloc::tcmalloc_internal::Alignment
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Alignment
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
  - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
  - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
  - tcmalloc::tcmalloc_internal::Alignment
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Alignment
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
  - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
  - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
  - tcmalloc::tcmalloc_internal::Alignment
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Alignment
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
  - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
  - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
  - tcmalloc::tcmalloc_internal::Alignment
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Alignment
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/size_classes_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: TestingSizeMap
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/tcmalloc/tcmalloc/size_classes_test.cc
    - fields: []
      item_type: struct
      name: TestingSizeMap
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/tcmalloc/tcmalloc/size_classes_test.cc
    - fields: []
      item_type: struct
      name: TestingSizeMap
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/tcmalloc/tcmalloc/size_classes_test.cc
    - fields: []
      item_type: struct
      name: TestingSizeMap
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/tcmalloc/tcmalloc/size_classes_test.cc
    - fields: []
      item_type: struct
      name: TestingSizeMap
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/tcmalloc/tcmalloc/size_classes_test.cc
    - fields: []
      item_type: struct
      name: TestingSizeMap
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/tcmalloc/tcmalloc/size_classes_test.cc
    - fields: []
      item_type: struct
      name: TestingSizeMap
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/tcmalloc/tcmalloc/size_classes_test.cc
    - fields: []
      item_type: struct
      name: TestingSizeMap
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/tcmalloc/tcmalloc/size_classes_test.cc
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::PageSize
  - tcmalloc::tcmalloc_internal::GetStackTrace
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
  - ~GuardedPageAllocatorTest() override
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorParamTest::GuardedPageAllocatorParamTest
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::SampledAllocationWithFilterTest::SetUp
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::PageSize
  - tcmalloc::tcmalloc_internal::GetStackTrace
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
  - ~GuardedPageAllocatorTest() override
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorParamTest::GuardedPageAllocatorParamTest
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::SampledAllocationWithFilterTest::SetUp
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::PageSize
  - tcmalloc::tcmalloc_internal::GetStackTrace
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
  - ~GuardedPageAllocatorTest() override
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorParamTest::GuardedPageAllocatorParamTest
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::SampledAllocationWithFilterTest::SetUp
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::PageSize
  - tcmalloc::tcmalloc_internal::GetStackTrace
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
  - ~GuardedPageAllocatorTest() override
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorParamTest::GuardedPageAllocatorParamTest
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::SampledAllocationWithFilterTest::SetUp
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::PageSize
  - tcmalloc::tcmalloc_internal::GetStackTrace
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
  - ~GuardedPageAllocatorTest() override
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorParamTest::GuardedPageAllocatorParamTest
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::SampledAllocationWithFilterTest::SetUp
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::PageSize
  - tcmalloc::tcmalloc_internal::GetStackTrace
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
  - ~GuardedPageAllocatorTest() override
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorParamTest::GuardedPageAllocatorParamTest
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::SampledAllocationWithFilterTest::SetUp
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::PageSize
  - tcmalloc::tcmalloc_internal::GetStackTrace
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
  - ~GuardedPageAllocatorTest() override
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorParamTest::GuardedPageAllocatorParamTest
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::SampledAllocationWithFilterTest::SetUp
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::PageSize
  - tcmalloc::tcmalloc_internal::GetStackTrace
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
  - ~GuardedPageAllocatorTest() override
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorParamTest::GuardedPageAllocatorParamTest
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::SampledAllocationWithFilterTest::SetUp
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  source_file: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - ~MemoryModifyFunction()
  - operator()(HugeRange r)
  - ~MemoryTagFunction()
  - tcmalloc_internal::MinMaxTracker::MinMaxTracker
  - tcmalloc_internal::MinMaxTracker::Nil
  - tcmalloc_internal::MinMaxTracker::Report
  - tcmalloc_internal::MinMaxTracker::empty
  - tcmalloc_internal::HugeCache::HugeCache
  - tcmalloc_internal::HugeCache::HugeCache
  - tcmalloc_internal::HugeCache::size
  - tcmalloc_internal::HugeCache::limit
  - tcmalloc_internal::HugeCache::usage
  - tcmalloc_internal::HugeCache::stats
  - tcmalloc_internal::HugeCache::MinCacheLimit
  - tcmalloc_internal::HugeCache::CapDemandInterval
  - tcmalloc_internal::HugeCache::GetSubreleaseStats
  - ~MemoryModifyFunction()
  - operator()(HugeRange r)
  - ~MemoryTagFunction()
  - tcmalloc_internal::MinMaxTracker::MinMaxTracker
  - tcmalloc_internal::MinMaxTracker::Nil
  - tcmalloc_internal::MinMaxTracker::Report
  - tcmalloc_internal::MinMaxTracker::empty
  - tcmalloc_internal::HugeCache::HugeCache
  - tcmalloc_internal::HugeCache::HugeCache
  - tcmalloc_internal::HugeCache::size
  - tcmalloc_internal::HugeCache::limit
  - tcmalloc_internal::HugeCache::usage
  - tcmalloc_internal::HugeCache::stats
  - tcmalloc_internal::HugeCache::MinCacheLimit
  - tcmalloc_internal::HugeCache::CapDemandInterval
  - tcmalloc_internal::HugeCache::GetSubreleaseStats
  source_file: /src/tcmalloc/tcmalloc/huge_cache.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: min
        type: HugeLength
      - name: operator==(const Extrema& other) const
        type: bool
      item_type: struct
      name: Extrema
      pos:
        line_end: 101
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/huge_cache.h
    - fields:
      - name: min
        type: HugeLength
      - name: operator==(const Extrema& other) const
        type: bool
      item_type: struct
      name: Extrema
      pos:
        line_end: 101
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/huge_cache.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::Arena
  - tcmalloc_internal::UpdateAllocatedAndNonresident
  - tcmalloc_internal::stats
  - tcmalloc_internal::Arena
  - tcmalloc_internal::Arena
  - tcmalloc_internal::UpdateAllocatedAndNonresident
  - tcmalloc_internal::stats
  - tcmalloc_internal::Arena
  source_file: /src/tcmalloc/tcmalloc/arena.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bytes_allocated
        type: size_t
      - name: bytes_unallocated
        type: size_t
      - name: bytes_unavailable
        type: size_t
      - name: bytes_nonresident
        type: size_t
      - name: blocks
        type: size_t
      item_type: struct
      name: ArenaStats
      pos:
        line_end: 48
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/arena.h
    - fields:
      - name: bytes_allocated
        type: size_t
      - name: bytes_unallocated
        type: size_t
      - name: bytes_unavailable
        type: size_t
      - name: bytes_nonresident
        type: size_t
      - name: blocks
        type: size_t
      item_type: struct
      name: ArenaStats
      pos:
        line_end: 48
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/arena.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::TCMalloc_Internal_PossiblyCold
  - tcmalloc_internal::TCMalloc_Internal_PossiblyCold
  source_file: /src/tcmalloc/tcmalloc/common.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::span
  - tcmalloc::tcmalloc_internal::sc
  - tcmalloc::tcmalloc_internal::PageMapTest::PageMapTest
  - ~PageMapTest() override
  - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
  - tcmalloc::tcmalloc_internal::PageMapTest::alloc
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::PaddedPageMap
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::span
  - tcmalloc::tcmalloc_internal::sc
  - tcmalloc::tcmalloc_internal::PageMapTest::PageMapTest
  - ~PageMapTest() override
  - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
  - tcmalloc::tcmalloc_internal::PageMapTest::alloc
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::PaddedPageMap
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::span
  - tcmalloc::tcmalloc_internal::sc
  - tcmalloc::tcmalloc_internal::PageMapTest::PageMapTest
  - ~PageMapTest() override
  - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
  - tcmalloc::tcmalloc_internal::PageMapTest::alloc
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::PaddedPageMap
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::span
  - tcmalloc::tcmalloc_internal::sc
  - tcmalloc::tcmalloc_internal::PageMapTest::PageMapTest
  - ~PageMapTest() override
  - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
  - tcmalloc::tcmalloc_internal::PageMapTest::alloc
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::PaddedPageMap
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::span
  - tcmalloc::tcmalloc_internal::sc
  - tcmalloc::tcmalloc_internal::PageMapTest::PageMapTest
  - ~PageMapTest() override
  - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
  - tcmalloc::tcmalloc_internal::PageMapTest::alloc
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::PaddedPageMap
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::span
  - tcmalloc::tcmalloc_internal::sc
  - tcmalloc::tcmalloc_internal::PageMapTest::PageMapTest
  - ~PageMapTest() override
  - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
  - tcmalloc::tcmalloc_internal::PageMapTest::alloc
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::PaddedPageMap
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::span
  - tcmalloc::tcmalloc_internal::sc
  - tcmalloc::tcmalloc_internal::PageMapTest::PageMapTest
  - ~PageMapTest() override
  - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
  - tcmalloc::tcmalloc_internal::PageMapTest::alloc
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::PaddedPageMap
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::span
  - tcmalloc::tcmalloc_internal::sc
  - tcmalloc::tcmalloc_internal::PageMapTest::PageMapTest
  - ~PageMapTest() override
  - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
  - tcmalloc::tcmalloc_internal::PageMapTest::alloc
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::PaddedPageMap
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/pagemap_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: padding_before[kHugePageSize / sizeof(uint64_t)]
        type: uint64_t
      - name: pagemap
        type: PageMap
      - name: padding_after[kHugePageSize / sizeof(uint64_t)]
        type: uint64_t
      item_type: struct
      name: PaddedPageMap
      pos:
        line_end: 153
        line_start: 148
        source_file: /src/tcmalloc/tcmalloc/pagemap_test.cc
    - fields:
      - name: padding_before[kHugePageSize / sizeof(uint64_t)]
        type: uint64_t
      - name: pagemap
        type: PageMap
      - name: padding_after[kHugePageSize / sizeof(uint64_t)]
        type: uint64_t
      item_type: struct
      name: PaddedPageMap
      pos:
        line_end: 153
        line_start: 148
        source_file: /src/tcmalloc/tcmalloc/pagemap_test.cc
    - fields:
      - name: padding_before[kHugePageSize / sizeof(uint64_t)]
        type: uint64_t
      - name: pagemap
        type: PageMap
      - name: padding_after[kHugePageSize / sizeof(uint64_t)]
        type: uint64_t
      item_type: struct
      name: PaddedPageMap
      pos:
        line_end: 153
        line_start: 148
        source_file: /src/tcmalloc/tcmalloc/pagemap_test.cc
    - fields:
      - name: padding_before[kHugePageSize / sizeof(uint64_t)]
        type: uint64_t
      - name: pagemap
        type: PageMap
      - name: padding_after[kHugePageSize / sizeof(uint64_t)]
        type: uint64_t
      item_type: struct
      name: PaddedPageMap
      pos:
        line_end: 153
        line_start: 148
        source_file: /src/tcmalloc/tcmalloc/pagemap_test.cc
    - fields:
      - name: padding_before[kHugePageSize / sizeof(uint64_t)]
        type: uint64_t
      - name: pagemap
        type: PageMap
      - name: padding_after[kHugePageSize / sizeof(uint64_t)]
        type: uint64_t
      item_type: struct
      name: PaddedPageMap
      pos:
        line_end: 153
        line_start: 148
        source_file: /src/tcmalloc/tcmalloc/pagemap_test.cc
    - fields:
      - name: padding_before[kHugePageSize / sizeof(uint64_t)]
        type: uint64_t
      - name: pagemap
        type: PageMap
      - name: padding_after[kHugePageSize / sizeof(uint64_t)]
        type: uint64_t
      item_type: struct
      name: PaddedPageMap
      pos:
        line_end: 153
        line_start: 148
        source_file: /src/tcmalloc/tcmalloc/pagemap_test.cc
    - fields:
      - name: padding_before[kHugePageSize / sizeof(uint64_t)]
        type: uint64_t
      - name: pagemap
        type: PageMap
      - name: padding_after[kHugePageSize / sizeof(uint64_t)]
        type: uint64_t
      item_type: struct
      name: PaddedPageMap
      pos:
        line_end: 153
        line_start: 148
        source_file: /src/tcmalloc/tcmalloc/pagemap_test.cc
    - fields:
      - name: padding_before[kHugePageSize / sizeof(uint64_t)]
        type: uint64_t
      - name: pagemap
        type: PageMap
      - name: padding_after[kHugePageSize / sizeof(uint64_t)]
        type: uint64_t
      item_type: struct
      name: PaddedPageMap
      pos:
        line_end: 153
        line_start: 148
        source_file: /src/tcmalloc/tcmalloc/pagemap_test.cc
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/tcmalloc/tcmalloc/segv_handler.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::ColdFeatureActive
  - tcmalloc_internal::IsExpandedSizeClass
  - tcmalloc_internal::AccessFromPointer
  - tcmalloc_internal::NumaNormalTag
  - tcmalloc_internal::NumaPartitionFromPointer
  - tcmalloc_internal::PageHeapSpinLockHolder
  - tcmalloc_internal::ABSL_EXCLUSIVE_LOCK_FUNCTION
  - tcmalloc_internal::ABSL_UNLOCK_FUNCTION
  - tcmalloc_internal::safe_div
  - tcmalloc_internal::ColdFeatureActive
  - tcmalloc_internal::IsExpandedSizeClass
  - tcmalloc_internal::AccessFromPointer
  - tcmalloc_internal::NumaNormalTag
  - tcmalloc_internal::NumaPartitionFromPointer
  - tcmalloc_internal::PageHeapSpinLockHolder
  - tcmalloc_internal::ABSL_EXCLUSIVE_LOCK_FUNCTION
  - tcmalloc_internal::ABSL_UNLOCK_FUNCTION
  - tcmalloc_internal::safe_div
  source_file: /src/tcmalloc/tcmalloc/common.h
  types:
    enum:
    - enumerators:
      - name: kHot
      - name: kCold
      item_type: enum
      name: AllocationAccess
      pos:
        line_end: 242
        line_start: 239
        source_file: /src/tcmalloc/tcmalloc/common.h
    - enumerators:
      - name: kHot
      - name: kCold
      item_type: enum
      name: AllocationAccess
      pos:
        line_end: 242
        line_start: 239
        source_file: /src/tcmalloc/tcmalloc/common.h
    preproc_defs:
    - item_type: preproc_def
      name: TCMALLOC_PAGE_SHIFT
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcmalloc/tcmalloc/common.h
      type_or_value: '12'
    - item_type: preproc_def
      name: TCMALLOC_PAGE_SHIFT
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/common.h
      type_or_value: '18'
    - item_type: preproc_def
      name: TCMALLOC_PAGE_SHIFT
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcmalloc/tcmalloc/common.h
      type_or_value: '15'
    - item_type: preproc_def
      name: TCMALLOC_PAGE_SHIFT
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcmalloc/tcmalloc/common.h
      type_or_value: '13'
    - item_type: preproc_def
      name: TCMALLOC_PAGE_SHIFT
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcmalloc/tcmalloc/common.h
      type_or_value: '12'
    - item_type: preproc_def
      name: TCMALLOC_PAGE_SHIFT
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/common.h
      type_or_value: '18'
    - item_type: preproc_def
      name: TCMALLOC_PAGE_SHIFT
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcmalloc/tcmalloc/common.h
      type_or_value: '15'
    - item_type: preproc_def
      name: TCMALLOC_PAGE_SHIFT
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcmalloc/tcmalloc/common.h
      type_or_value: '13'
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::SetUp
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateGuardableUntil
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntilGuarded
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::ExamineSamples
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::SetUp
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateGuardableUntil
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntilGuarded
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::ExamineSamples
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::SetUp
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateGuardableUntil
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntilGuarded
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::ExamineSamples
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::SetUp
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateGuardableUntil
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntilGuarded
  - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::ExamineSamples
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  source_file: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: stop
        type: bool
      - name: free
        type: bool
      item_type: struct
      name: NextSteps
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    - fields:
      - name: stop
        type: bool
      - name: free
        type: bool
      item_type: struct
      name: NextSteps
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    - fields:
      - name: stop
        type: bool
      - name: free
        type: bool
      item_type: struct
      name: NextSteps
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    - fields:
      - name: stop
        type: bool
      - name: free
        type: bool
      item_type: struct
      name: NextSteps
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/tcmalloc/tcmalloc/guarded_page_allocator_profile_test.cc
    typedefs: []
    union: []
- function_names:
  - namespace
  - '& SizeMap::CurrentClasses()'
  - tcmalloc_internal::SizeMap::CheckAssumptions
  - tcmalloc_internal::SizeMap::IsValidSizeClass
  - tcmalloc_internal::SizeMap::SetSizeClasses
  - tcmalloc_internal::SizeMap::ValidSizeClasses
  - tcmalloc_internal::SizeMap::Init
  - '& SizeMap::CurrentClasses()'
  - tcmalloc_internal::SizeMap::CheckAssumptions
  - tcmalloc_internal::SizeMap::IsValidSizeClass
  - tcmalloc_internal::SizeMap::SetSizeClasses
  - tcmalloc_internal::SizeMap::ValidSizeClasses
  - tcmalloc_internal::SizeMap::Init
  source_file: /src/tcmalloc/tcmalloc/sizemap.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace tcmalloc::tcmalloc_internal::system_allocator_internal
  - MapFixedNoReplaceFlagAvailable
  source_file: /src/tcmalloc/tcmalloc/system-alloc.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAP_ANONYMOUS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcmalloc/tcmalloc/system-alloc.cc
      type_or_value: MAP_ANON
    - item_type: preproc_def
      name: MAP_FIXED_NOREPLACE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcmalloc/tcmalloc/system-alloc.cc
      type_or_value: '0x100000'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '* p'
        type: void
      - name: d
        type: double
      - name: s
        type: size_t
      item_type: union
      name: MemoryAligner
      pos:
        line_end: 56
        line_start: 52
        source_file: /src/tcmalloc/tcmalloc/system-alloc.cc
- function_names:
  - namespace
  - tcmalloc_internal::Arena::Alloc
  - tcmalloc_internal::Arena::Alloc
  source_file: /src/tcmalloc/tcmalloc/arena.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesRequested
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugeAllocatorTest
  - ~HugeAllocatorTest() override
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckPages
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::MarkPages
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckStats
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Stats
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesRequested
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugeAllocatorTest
  - ~HugeAllocatorTest() override
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckPages
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::MarkPages
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckStats
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Stats
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesRequested
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugeAllocatorTest
  - ~HugeAllocatorTest() override
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckPages
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::MarkPages
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckStats
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Stats
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesRequested
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugeAllocatorTest
  - ~HugeAllocatorTest() override
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckPages
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::MarkPages
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckStats
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Stats
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesRequested
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugeAllocatorTest
  - ~HugeAllocatorTest() override
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckPages
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::MarkPages
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckStats
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Stats
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesRequested
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugeAllocatorTest
  - ~HugeAllocatorTest() override
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckPages
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::MarkPages
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckStats
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Stats
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesRequested
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugeAllocatorTest
  - ~HugeAllocatorTest() override
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckPages
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::MarkPages
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckStats
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Stats
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesRequested
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugeAllocatorTest
  - ~HugeAllocatorTest() override
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckPages
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::MarkPages
  - tcmalloc::tcmalloc_internal::HugeAllocatorTest::CheckStats
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Stats
  - tcmalloc::tcmalloc_internal::TEST_P
  source_file: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 297
        line_start: 283
        source_file: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 297
        line_start: 283
        source_file: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 297
        line_start: 283
        source_file: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 297
        line_start: 283
        source_file: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 297
        line_start: 283
        source_file: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 297
        line_start: 283
        source_file: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 297
        line_start: 283
        source_file: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 297
        line_start: 283
        source_file: /src/tcmalloc/tcmalloc/huge_allocator_test.cc
    typedefs: []
    union: []
- function_names:
  - namespace
  - ~PageAllocatorInterface()
  - tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - operator bool() const
  - tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - ~PageAllocatorInterface()
  - tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - operator bool() const
  - tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::PageAllocatorInterface::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  source_file: /src/tcmalloc/tcmalloc/page_allocator_interface.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: r
        type: Range
      - name: donated
        type: bool
      item_type: struct
      name: AllocationState
      pos:
        line_end: 65
        line_start: 60
        source_file: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    - fields:
      - name: r
        type: Range
      - name: donated
        type: bool
      item_type: struct
      name: AllocationState
      pos:
        line_end: 65
        line_start: 60
        source_file: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    typedefs: []
    union: []
- function_names:
  - namespace::tcmalloc_internal
  - ReportMismatchedDelete
  - ReportMismatchedDelete
  - ReportMismatchedSizeClass
  - ReportDoubleFree
  - ReportCorruptedFree
  source_file: /src/tcmalloc/tcmalloc/error_reporting.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::New
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::New
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::New
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::New
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::New
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::New
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::New
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::New
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::NewAligned
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
  - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  source_file: /src/tcmalloc/tcmalloc/page_allocator_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::DefaultOrDebugValue
  - tcmalloc_internal::hpaa_subrelease_ptr
  - tcmalloc_internal::background_process_actions_enabled_ptr
  - tcmalloc_internal::background_process_sleep_interval_ns
  - tcmalloc_internal::skip_subrelease_short_interval_ns
  - tcmalloc_internal::usermode_hugepage_collapse_enabled
  - tcmalloc_internal::skip_subrelease_long_interval_ns
  - tcmalloc_internal::cache_demand_release_short_interval_ns
  - tcmalloc_internal::cache_demand_release_long_interval_ns
  - tcmalloc_internal::Parameters::heap_size_hard_limit
  - tcmalloc_internal::Parameters::set_heap_size_hard_limit
  - tcmalloc_internal::Parameters::hpaa_subrelease
  - tcmalloc_internal::Parameters::set_hpaa_subrelease
  - tcmalloc_internal::Parameters::huge_cache_release_time
  - tcmalloc_internal::Parameters::background_process_actions_enabled
  - tcmalloc_internal::Parameters::background_process_sleep_interval
  - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
  - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
  - tcmalloc_internal::Parameters::cache_demand_release_short_interval
  - tcmalloc_internal::Parameters::cache_demand_release_long_interval
  - tcmalloc_internal::Parameters::usermode_hugepage_collapse
  - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
  - tcmalloc_internal::Parameters::max_per_cpu_cache_size
  - tcmalloc_internal::want_disable_dynamic_slabs
  - tcmalloc_internal::DefaultOrDebugValue
  - tcmalloc_internal::hpaa_subrelease_ptr
  - tcmalloc_internal::background_process_actions_enabled_ptr
  - tcmalloc_internal::background_process_sleep_interval_ns
  - tcmalloc_internal::skip_subrelease_short_interval_ns
  - tcmalloc_internal::usermode_hugepage_collapse_enabled
  - tcmalloc_internal::skip_subrelease_long_interval_ns
  - tcmalloc_internal::cache_demand_release_short_interval_ns
  - tcmalloc_internal::cache_demand_release_long_interval_ns
  - tcmalloc_internal::Parameters::heap_size_hard_limit
  - tcmalloc_internal::Parameters::set_heap_size_hard_limit
  - tcmalloc_internal::Parameters::hpaa_subrelease
  - tcmalloc_internal::Parameters::set_hpaa_subrelease
  - tcmalloc_internal::Parameters::huge_cache_release_time
  - tcmalloc_internal::Parameters::background_process_actions_enabled
  - tcmalloc_internal::Parameters::background_process_sleep_interval
  - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
  - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
  - tcmalloc_internal::Parameters::cache_demand_release_short_interval
  - tcmalloc_internal::Parameters::cache_demand_release_long_interval
  - tcmalloc_internal::Parameters::usermode_hugepage_collapse
  - tcmalloc_internal::Parameters::sparse_trackers_coarse_longest_free_range
  - tcmalloc_internal::Parameters::max_per_cpu_cache_size
  - tcmalloc_internal::want_disable_dynamic_slabs
  - MallocExtension_Internal_GetProfileSamplingInterval
  - MallocExtension_Internal_SetProfileSamplingInterval
  - MallocExtension_Internal_GetGuardedSamplingInterval
  - MallocExtension_Internal_SetGuardedSamplingInterval
  - MallocExtension_Internal_GetMaxTotalThreadCacheBytes
  - MallocExtension_Internal_SetMaxTotalThreadCacheBytes
  - MallocExtension_Internal_GetBackgroundProcessActionsEnabled
  - MallocExtension_Internal_SetBackgroundProcessActionsEnabled
  - MallocExtension_Internal_GetBackgroundProcessSleepInterval
  - MallocExtension_Internal_SetBackgroundProcessSleepInterval
  - MallocExtension_Internal_GetSkipSubreleaseShortInterval
  - MallocExtension_Internal_SetSkipSubreleaseShortInterval
  - MallocExtension_Internal_GetSkipSubreleaseLongInterval
  - MallocExtension_Internal_SetSkipSubreleaseLongInterval
  - MallocExtension_Internal_GetCacheDemandReleaseShortInterval
  - MallocExtension_Internal_SetCacheDemandReleaseShortInterval
  - MallocExtension_Internal_GetCacheDemandReleaseLongInterval
  - MallocExtension_Internal_SetCacheDemandReleaseLongInterval
  - MallocExtension_Internal_GetBackgroundReleaseRate
  - MallocExtension_Internal_SetBackgroundReleaseRate
  - TCMalloc_Internal_SetBackgroundReleaseRate
  - TCMalloc_Internal_GetHeapSizeHardLimit
  - TCMalloc_Internal_GetHPAASubrelease
  - TCMalloc_Internal_GetReleasePartialAllocPagesEnabled
  - TCMalloc_Internal_GetHugeCacheDemandBasedRelease
  - TCMalloc_Internal_GetHugeRegionDemandBasedRelease
  - TCMalloc_Internal_GetReleasePagesFromHugeRegionEnabled
  - TCMalloc_Internal_GetUsermodeHugepageCollapse
  - TCMalloc_Internal_GetResizeSizeClassMaxCapacityEnabled
  - TCMalloc_Internal_GetPeakSamplingHeapGrowthFraction
  - TCMalloc_Internal_GetPerCpuCachesEnabled
  - TCMalloc_Internal_SetGuardedSamplingInterval
  - TCMalloc_Internal_GetSelSanPercent
  - TCMalloc_Internal_SetSelSanPercent
  - TCMalloc_Internal_SetHeapSizeHardLimit
  - TCMalloc_Internal_SetHPAASubrelease
  - TCMalloc_Internal_SetReleasePartialAllocPagesEnabled
  - TCMalloc_Internal_SetHugeCacheDemandBasedRelease
  - TCMalloc_Internal_SetHugeRegionDemandBasedRelease
  - TCMalloc_Internal_SetUsermodeHugepageCollapse
  - TCMalloc_Internal_SetReleasePagesFromHugeRegionEnabled
  - TCMalloc_Internal_SetResizeSizeClassMaxCapacityEnabled
  - TCMalloc_Internal_SetMaxPerCpuCacheSize
  - TCMalloc_Internal_SetMaxTotalThreadCacheBytes
  - TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
  - TCMalloc_Internal_SetPerCpuCachesEnabled
  - TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
  - TCMalloc_Internal_SetProfileSamplingInterval
  - TCMalloc_Internal_SetBackgroundProcessActionsEnabled
  - TCMalloc_Internal_SetBackgroundProcessSleepInterval
  - TCMalloc_Internal_GetHugePageFillerSkipSubreleaseShortInterval
  - TCMalloc_Internal_SetHugePageFillerSkipSubreleaseShortInterval
  - TCMalloc_Internal_GetHugePageFillerSkipSubreleaseLongInterval
  - TCMalloc_Internal_SetHugePageFillerSkipSubreleaseLongInterval
  - TCMalloc_Internal_GetHugeCacheDemandReleaseShortInterval
  - TCMalloc_Internal_SetHugeCacheDemandReleaseShortInterval
  - TCMalloc_Internal_GetHugeCacheDemandReleaseLongInterval
  - TCMalloc_Internal_SetHugeCacheDemandReleaseLongInterval
  - TCMalloc_Internal_GetPerCpuCachesDynamicSlabEnabled
  - TCMalloc_Internal_SetPerCpuCachesDynamicSlabEnabled
  - TCMalloc_Internal_GetPerCpuCachesDynamicSlabGrowThreshold
  - TCMalloc_Internal_SetPerCpuCachesDynamicSlabGrowThreshold
  - TCMalloc_Internal_GetPerCpuCachesDynamicSlabShrinkThreshold
  - TCMalloc_Internal_SetPerCpuCachesDynamicSlabShrinkThreshold
  - TCMalloc_Internal_GetMinHotAccessHint
  - TCMalloc_Internal_SetMinHotAccessHint
  source_file: /src/tcmalloc/tcmalloc/parameters.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
  - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
  - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
  - tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
  - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeInfoSize
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::TestStaticForwarder
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::InitializeShardedManager
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::Alloc
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::AllocReportedImpending
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::Dealloc
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::ArenaUpdateAllocatedAndNonresident
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_enabled
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes_v2
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
  - '& numa_topology() const'
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseWiderSlabs
  - '& sharded_transfer_cache()'
  - '& sharded_transfer_cache() const'
  - "&\n  transfer_cache()"
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseGenericShardedCache
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::SetGenericShardedCache
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseShardedCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::SetShardedCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResizeSizeClasses
  - tcmalloc::tcmalloc_internal::ShuffleThread
  - tcmalloc::tcmalloc_internal::StressThread
  - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResizeMaxCapacities
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ColdCacheOperations
  - tcmalloc::tcmalloc_internal::HotCacheOperations
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::CpuCacheEnvironment
  - ~CpuCacheEnvironment()
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
  - '& cache()'
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::num_cpus
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ThreadState
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ThreadState
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::TestStaticForwarder
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::InitializeShardedManager
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::Alloc
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::AllocReportedImpending
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::Dealloc
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::ArenaUpdateAllocatedAndNonresident
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_enabled
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes_v2
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
  - '& numa_topology() const'
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseWiderSlabs
  - '& sharded_transfer_cache()'
  - '& sharded_transfer_cache() const'
  - "&\n  transfer_cache()"
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseGenericShardedCache
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::SetGenericShardedCache
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseShardedCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::SetShardedCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResizeSizeClasses
  - tcmalloc::tcmalloc_internal::ShuffleThread
  - tcmalloc::tcmalloc_internal::StressThread
  - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResizeMaxCapacities
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ColdCacheOperations
  - tcmalloc::tcmalloc_internal::HotCacheOperations
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::CpuCacheEnvironment
  - ~CpuCacheEnvironment()
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
  - '& cache()'
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::num_cpus
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ThreadState
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ThreadState
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
  - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
  - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
  - tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
  - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeInfoSize
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::TestStaticForwarder
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::InitializeShardedManager
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::Alloc
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::AllocReportedImpending
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::Dealloc
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::ArenaUpdateAllocatedAndNonresident
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_enabled
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes_v2
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
  - '& numa_topology() const'
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseWiderSlabs
  - '& sharded_transfer_cache()'
  - '& sharded_transfer_cache() const'
  - "&\n  transfer_cache()"
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseGenericShardedCache
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::SetGenericShardedCache
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseShardedCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::SetShardedCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResizeSizeClasses
  - tcmalloc::tcmalloc_internal::ShuffleThread
  - tcmalloc::tcmalloc_internal::StressThread
  - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResizeMaxCapacities
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ColdCacheOperations
  - tcmalloc::tcmalloc_internal::HotCacheOperations
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::CpuCacheEnvironment
  - ~CpuCacheEnvironment()
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
  - '& cache()'
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::num_cpus
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ThreadState
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ThreadState
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::TestStaticForwarder
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::InitializeShardedManager
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::Alloc
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::AllocReportedImpending
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::Dealloc
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::ArenaUpdateAllocatedAndNonresident
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_enabled
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes_v2
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
  - '& numa_topology() const'
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseWiderSlabs
  - '& sharded_transfer_cache()'
  - '& sharded_transfer_cache() const'
  - "&\n  transfer_cache()"
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseGenericShardedCache
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::SetGenericShardedCache
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseShardedCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::SetShardedCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResizeSizeClasses
  - tcmalloc::tcmalloc_internal::ShuffleThread
  - tcmalloc::tcmalloc_internal::StressThread
  - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResizeMaxCapacities
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ColdCacheOperations
  - tcmalloc::tcmalloc_internal::HotCacheOperations
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::CpuCacheEnvironment
  - ~CpuCacheEnvironment()
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
  - '& cache()'
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::num_cpus
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ThreadState
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ThreadState
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
  - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
  - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
  - tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
  - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeInfoSize
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::TestStaticForwarder
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::InitializeShardedManager
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::Alloc
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::AllocReportedImpending
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::Dealloc
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::ArenaUpdateAllocatedAndNonresident
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_enabled
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes_v2
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
  - '& numa_topology() const'
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseWiderSlabs
  - '& sharded_transfer_cache()'
  - '& sharded_transfer_cache() const'
  - "&\n  transfer_cache()"
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseGenericShardedCache
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::SetGenericShardedCache
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseShardedCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::SetShardedCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResizeSizeClasses
  - tcmalloc::tcmalloc_internal::ShuffleThread
  - tcmalloc::tcmalloc_internal::StressThread
  - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResizeMaxCapacities
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ColdCacheOperations
  - tcmalloc::tcmalloc_internal::HotCacheOperations
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::CpuCacheEnvironment
  - ~CpuCacheEnvironment()
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
  - '& cache()'
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::num_cpus
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ThreadState
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ThreadState
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::TestStaticForwarder
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::InitializeShardedManager
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::Alloc
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::AllocReportedImpending
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::Dealloc
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::ArenaUpdateAllocatedAndNonresident
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_enabled
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes_v2
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
  - '& numa_topology() const'
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseWiderSlabs
  - '& sharded_transfer_cache()'
  - '& sharded_transfer_cache() const'
  - "&\n  transfer_cache()"
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseGenericShardedCache
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::SetGenericShardedCache
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseShardedCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::SetShardedCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResizeSizeClasses
  - tcmalloc::tcmalloc_internal::ShuffleThread
  - tcmalloc::tcmalloc_internal::StressThread
  - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResizeMaxCapacities
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ColdCacheOperations
  - tcmalloc::tcmalloc_internal::HotCacheOperations
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::CpuCacheEnvironment
  - ~CpuCacheEnvironment()
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
  - '& cache()'
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::num_cpus
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ThreadState
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ThreadState
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
  - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
  - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
  - tcmalloc::tcmalloc_internal::CpuCachePeer::ValidateSlabBytes
  - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeInfoSize
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::TestStaticForwarder
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::InitializeShardedManager
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::Alloc
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::AllocReportedImpending
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::Dealloc
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::ArenaUpdateAllocatedAndNonresident
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_enabled
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes_v2
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
  - '& numa_topology() const'
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseWiderSlabs
  - '& sharded_transfer_cache()'
  - '& sharded_transfer_cache() const'
  - "&\n  transfer_cache()"
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseGenericShardedCache
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::SetGenericShardedCache
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseShardedCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::SetShardedCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResizeSizeClasses
  - tcmalloc::tcmalloc_internal::ShuffleThread
  - tcmalloc::tcmalloc_internal::StressThread
  - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResizeMaxCapacities
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ColdCacheOperations
  - tcmalloc::tcmalloc_internal::HotCacheOperations
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::CpuCacheEnvironment
  - ~CpuCacheEnvironment()
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
  - '& cache()'
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::num_cpus
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ThreadState
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ThreadState
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::TestStaticForwarder
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::InitializeShardedManager
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::Alloc
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::AllocReportedImpending
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::Dealloc
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::ArenaUpdateAllocatedAndNonresident
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_enabled
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::reuse_size_classes_v2
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
  - '& numa_topology() const'
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseWiderSlabs
  - '& sharded_transfer_cache()'
  - '& sharded_transfer_cache() const'
  - "&\n  transfer_cache()"
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseGenericShardedCache
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::SetGenericShardedCache
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::UseShardedCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::SetShardedCacheForLargeClassesOnly
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResizeSizeClasses
  - tcmalloc::tcmalloc_internal::ShuffleThread
  - tcmalloc::tcmalloc_internal::StressThread
  - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResizeMaxCapacities
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ColdCacheOperations
  - tcmalloc::tcmalloc_internal::HotCacheOperations
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::CpuCacheEnvironment
  - ~CpuCacheEnvironment()
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::Activate
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
  - '& cache()'
  - tcmalloc::tcmalloc_internal::CpuCacheEnvironment::num_cpus
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ThreadState
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ThreadState
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
  types:
    enum:
    - enumerators:
      - name: kGrow
      - name: kShrink
      - name: kNoop
      item_type: enum
      name: DynamicSlab
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    - enumerators:
      - name: kGrow
      - name: kShrink
      - name: kNoop
      item_type: enum
      name: DynamicSlab
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    - enumerators:
      - name: kGrow
      - name: kShrink
      - name: kNoop
      item_type: enum
      name: DynamicSlab
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    - enumerators:
      - name: kGrow
      - name: kShrink
      - name: kNoop
      item_type: enum
      name: DynamicSlab
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    - enumerators:
      - name: kGrow
      - name: kShrink
      - name: kNoop
      item_type: enum
      name: DynamicSlab
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    - enumerators:
      - name: kGrow
      - name: kShrink
      - name: kNoop
      item_type: enum
      name: DynamicSlab
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    - enumerators:
      - name: kGrow
      - name: kShrink
      - name: kNoop
      item_type: enum
      name: DynamicSlab
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    - enumerators:
      - name: kGrow
      - name: kShrink
      - name: kNoop
      item_type: enum
      name: DynamicSlab
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
  - tcmalloc_internal::huge_page_allocator_internal::huge_region_option
  - '& StaticForwarder::arena()'
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::GetHugepage
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Ensure
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Set
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetHugepage
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ShrinkToUsageLimit
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::NewSpan
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::DeleteSpan
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::AllocatePages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Back
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReleasePages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReportDoubleFree
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::CollapsePages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetAnonVmaName
  - tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
  - tcmalloc_internal::huge_page_allocator_internal::huge_region_option
  - '& StaticForwarder::arena()'
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::GetHugepage
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Ensure
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Set
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetHugepage
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ShrinkToUsageLimit
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::NewSpan
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::DeleteSpan
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::AllocatePages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Back
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReleasePages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReportDoubleFree
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::CollapsePages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetAnonVmaName
  - tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
  - tcmalloc_internal::huge_page_allocator_internal::huge_region_option
  - '& StaticForwarder::arena()'
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::GetHugepage
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Ensure
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Set
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetHugepage
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ShrinkToUsageLimit
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::NewSpan
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::DeleteSpan
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::AllocatePages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Back
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReleasePages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReportDoubleFree
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::CollapsePages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetAnonVmaName
  - tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
  - tcmalloc_internal::huge_page_allocator_internal::huge_region_option
  - '& StaticForwarder::arena()'
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::GetHugepage
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Ensure
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Set
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetHugepage
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ShrinkToUsageLimit
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::NewSpan
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::DeleteSpan
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::AllocatePages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Back
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReleasePages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReportDoubleFree
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::CollapsePages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetAnonVmaName
  source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::VirtualAllocator::VirtualAllocator
  - ~VirtualAllocator()
  - tcmalloc_internal::VirtualAllocator::VirtualAllocator
  - tcmalloc_internal::VirtualAllocator::VirtualAllocator
  - '& operator=(const VirtualAllocator&)'
  - '& operator=(VirtualAllocator&&)'
  - tcmalloc_internal::HugeAllocator::HugeAllocator
  - tcmalloc_internal::HugeAllocator::system
  - tcmalloc_internal::HugeAllocator::size
  - tcmalloc_internal::HugeAllocator::stats
  - tcmalloc_internal::HugeAllocator::DebugCheckFreelist
  - tcmalloc_internal::VirtualAllocator::VirtualAllocator
  - ~VirtualAllocator()
  - tcmalloc_internal::VirtualAllocator::VirtualAllocator
  - tcmalloc_internal::VirtualAllocator::VirtualAllocator
  - '& operator=(const VirtualAllocator&)'
  - '& operator=(VirtualAllocator&&)'
  - tcmalloc_internal::HugeAllocator::HugeAllocator
  - tcmalloc_internal::HugeAllocator::system
  - tcmalloc_internal::HugeAllocator::size
  - tcmalloc_internal::HugeAllocator::stats
  - tcmalloc_internal::HugeAllocator::DebugCheckFreelist
  source_file: /src/tcmalloc/tcmalloc/huge_allocator.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - alloc_result_t::alloc_at_least
  - alloc_result_t::aligned_alloc_at_least
  source_file: /src/tcmalloc/tcmalloc/alloc_at_least.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - deallocationz::AllocAdaptor::AllocAdaptor
  - deallocationz::AllocAdaptor::AllocAdaptor
  - deallocationz::AllocAdaptor::AllocAdaptor
  - deallocationz::AllocAdaptor::allocate
  - deallocationz::AllocAdaptor::deallocate
  - deallocationz::AbslHashValue
  - operator==(const DeallocationSampleRecord& other) const
  - deallocationz::CpuThreadMatchingStatus
  - deallocationz::ComputeValue
  - deallocationz::RpcMatchingStatus
  - deallocationz::ComputeIndex
  - deallocationz::GetL3Id
  - deallocationz::GetNumaId
  - deallocationz::AllocAdaptor::AllocAdaptor
  - deallocationz::AllocAdaptor::AllocAdaptor
  - deallocationz::AllocAdaptor::AllocAdaptor
  - deallocationz::AllocAdaptor::allocate
  - deallocationz::AllocAdaptor::deallocate
  - deallocationz::AbslHashValue
  - operator==(const DeallocationSampleRecord& other) const
  - deallocationz::CpuThreadMatchingStatus
  - deallocationz::ComputeValue
  - deallocationz::RpcMatchingStatus
  - deallocationz::ComputeIndex
  - deallocationz::GetL3Id
  - deallocationz::GetNumaId
  - deallocationz::DeallocationProfiler::MyAllocator::Allocate
  - deallocationz::DeallocationProfiler::MyAllocator::Free
  - deallocationz::DeallocationProfiler::MyAllocator::LowLevelArenaReference
  - ~LowLevelArenaReference()
  - ~DeallocationStackTraceTable() override
  - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Type
  - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::StartTime
  - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Duration
  - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
  - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::AbslHashValue
  - operator==(const Key& other) const
  - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Value
  - deallocationz::DeallocationProfiler::DeallocationProfiler
  - ~DeallocationProfiler()
  - deallocationz::DeallocationProfiler::Stop
  - deallocationz::DeallocationProfiler::ReportMalloc
  - deallocationz::DeallocationProfiler::ReportFree
  - deallocationz::DeallocationProfilerList::Add
  - deallocationz::DeallocationProfilerList::Remove
  - deallocationz::DeallocationProfilerList::ReportMalloc
  - deallocationz::DeallocationProfilerList::ReportFree
  - "DeallocationProfiler::DeallocationStackTraceTable::StopAndRecord(\n    const
    AllocsTable& allocs)"
  - "DeallocationProfiler::DeallocationStackTraceTable::AddTrace(\n    const DeallocationSampleRecord&
    alloc_trace,\n    const DeallocationSampleRecord& dealloc_trace)"
  - "DeallocationProfiler::DeallocationStackTraceTable::Iterate(\n    absl::FunctionRef<void(const
    Profile::Sample&)> func) const"
  - deallocationz::DeallocationSample::DeallocationSample
  - DeallocationSample::~DeallocationSample()
  - deallocationz::DeallocationSample::Stop
  - deallocationz::internal::LifetimeNsToBucketedDuration
  - deallocationz::internal::LifetimeNsToBucketedDuration
  - deallocationz::AllocAdaptor::AllocAdaptor
  - deallocationz::AllocAdaptor::AllocAdaptor
  - deallocationz::AllocAdaptor::AllocAdaptor
  - deallocationz::AllocAdaptor::allocate
  - deallocationz::AllocAdaptor::deallocate
  - deallocationz::AbslHashValue
  - operator==(const DeallocationSampleRecord& other) const
  - deallocationz::CpuThreadMatchingStatus
  - deallocationz::ComputeValue
  - deallocationz::RpcMatchingStatus
  - deallocationz::ComputeIndex
  - deallocationz::GetL3Id
  - deallocationz::GetNumaId
  - deallocationz::AllocAdaptor::AllocAdaptor
  - deallocationz::AllocAdaptor::AllocAdaptor
  - deallocationz::AllocAdaptor::AllocAdaptor
  - deallocationz::AllocAdaptor::allocate
  - deallocationz::AllocAdaptor::deallocate
  - deallocationz::AbslHashValue
  - operator==(const DeallocationSampleRecord& other) const
  - deallocationz::CpuThreadMatchingStatus
  - deallocationz::ComputeValue
  - deallocationz::RpcMatchingStatus
  - deallocationz::ComputeIndex
  - deallocationz::GetL3Id
  - deallocationz::GetNumaId
  - deallocationz::DeallocationProfiler::MyAllocator::Allocate
  - deallocationz::DeallocationProfiler::MyAllocator::Free
  - deallocationz::DeallocationProfiler::MyAllocator::LowLevelArenaReference
  - ~LowLevelArenaReference()
  - ~DeallocationStackTraceTable() override
  - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Type
  - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::StartTime
  - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Duration
  - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
  - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::AbslHashValue
  - operator==(const Key& other) const
  - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Value
  - deallocationz::DeallocationProfiler::DeallocationProfiler
  - ~DeallocationProfiler()
  - deallocationz::DeallocationProfiler::Stop
  - deallocationz::DeallocationProfiler::ReportMalloc
  - deallocationz::DeallocationProfiler::ReportFree
  - deallocationz::DeallocationProfilerList::Add
  - deallocationz::DeallocationProfilerList::Remove
  - deallocationz::DeallocationProfilerList::ReportMalloc
  - deallocationz::DeallocationProfilerList::ReportFree
  - "DeallocationProfiler::DeallocationStackTraceTable::StopAndRecord(\n    const
    AllocsTable& allocs)"
  - "DeallocationProfiler::DeallocationStackTraceTable::AddTrace(\n    const DeallocationSampleRecord&
    alloc_trace,\n    const DeallocationSampleRecord& dealloc_trace)"
  - "DeallocationProfiler::DeallocationStackTraceTable::Iterate(\n    absl::FunctionRef<void(const
    Profile::Sample&)> func) const"
  - deallocationz::DeallocationSample::DeallocationSample
  - DeallocationSample::~DeallocationSample()
  - deallocationz::DeallocationSample::Stop
  - deallocationz::internal::LifetimeNsToBucketedDuration
  - deallocationz::internal::LifetimeNsToBucketedDuration
  source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: weight
        type: double
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: size_t
      - name: allocated_size
        type: size_t
      - name: depth
        type: int
      - name: '* stack[kMaxStackDepth]'
        type: void
      - name: creation_time
        type: absl::Time
      - name: cpu_id
        type: int
      - name: vcpu_id
        type: int
      - name: l3_id
        type: int
      - name: numa_id
        type: int
      - name: thread_id
        type: pid_t
      item_type: struct
      name: DeallocationSampleRecord
      pos:
        line_end: 118
        line_start: 86
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: physical_cpu_matched
        type: bool
      - name: virtual_cpu_matched
        type: bool
      - name: l3_matched
        type: bool
      - name: numa_matched
        type: bool
      - name: thread_matched
        type: bool
      - name: value
        type: int
      item_type: struct
      name: CpuThreadMatchingStatus
      pos:
        line_end: 141
        line_start: 121
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: value
        type: int
      item_type: struct
      name: RpcMatchingStatus
      pos:
        line_end: 156
        line_start: 143
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: weight
        type: double
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: size_t
      - name: allocated_size
        type: size_t
      - name: depth
        type: int
      - name: '* stack[kMaxStackDepth]'
        type: void
      - name: creation_time
        type: absl::Time
      - name: cpu_id
        type: int
      - name: vcpu_id
        type: int
      - name: l3_id
        type: int
      - name: numa_id
        type: int
      - name: thread_id
        type: pid_t
      item_type: struct
      name: DeallocationSampleRecord
      pos:
        line_end: 118
        line_start: 86
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: physical_cpu_matched
        type: bool
      - name: virtual_cpu_matched
        type: bool
      - name: l3_matched
        type: bool
      - name: numa_matched
        type: bool
      - name: thread_matched
        type: bool
      - name: value
        type: int
      item_type: struct
      name: CpuThreadMatchingStatus
      pos:
        line_end: 141
        line_start: 121
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: value
        type: int
      item_type: struct
      name: RpcMatchingStatus
      pos:
        line_end: 156
        line_start: 143
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields: []
      item_type: struct
      name: LowLevelArenaReference
      pos:
        line_end: 335
        line_start: 319
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: alloc
        type: DeallocationSampleRecord
      - name: dealloc
        type: DeallocationSampleRecord
      item_type: struct
      name: Key
      pos:
        line_end: 417
        line_start: 401
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: counts[kNumCases]
        type: double
      - name: mean_life_times_ns[kNumCases]
        type: double
      - name: variance_life_times_ns[kNumCases]
        type: double
      - name: min_life_times_ns[kNumCases]
        type: double
      - name: max_life_times_ns[kNumCases]
        type: double
      item_type: struct
      name: Value
      pos:
        line_end: 433
        line_start: 419
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: weight
        type: double
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: size_t
      - name: allocated_size
        type: size_t
      - name: depth
        type: int
      - name: '* stack[kMaxStackDepth]'
        type: void
      - name: creation_time
        type: absl::Time
      - name: cpu_id
        type: int
      - name: vcpu_id
        type: int
      - name: l3_id
        type: int
      - name: numa_id
        type: int
      - name: thread_id
        type: pid_t
      item_type: struct
      name: DeallocationSampleRecord
      pos:
        line_end: 118
        line_start: 86
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: physical_cpu_matched
        type: bool
      - name: virtual_cpu_matched
        type: bool
      - name: l3_matched
        type: bool
      - name: numa_matched
        type: bool
      - name: thread_matched
        type: bool
      - name: value
        type: int
      item_type: struct
      name: CpuThreadMatchingStatus
      pos:
        line_end: 141
        line_start: 121
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: value
        type: int
      item_type: struct
      name: RpcMatchingStatus
      pos:
        line_end: 156
        line_start: 143
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: weight
        type: double
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: size_t
      - name: allocated_size
        type: size_t
      - name: depth
        type: int
      - name: '* stack[kMaxStackDepth]'
        type: void
      - name: creation_time
        type: absl::Time
      - name: cpu_id
        type: int
      - name: vcpu_id
        type: int
      - name: l3_id
        type: int
      - name: numa_id
        type: int
      - name: thread_id
        type: pid_t
      item_type: struct
      name: DeallocationSampleRecord
      pos:
        line_end: 118
        line_start: 86
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: physical_cpu_matched
        type: bool
      - name: virtual_cpu_matched
        type: bool
      - name: l3_matched
        type: bool
      - name: numa_matched
        type: bool
      - name: thread_matched
        type: bool
      - name: value
        type: int
      item_type: struct
      name: CpuThreadMatchingStatus
      pos:
        line_end: 141
        line_start: 121
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: value
        type: int
      item_type: struct
      name: RpcMatchingStatus
      pos:
        line_end: 156
        line_start: 143
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields: []
      item_type: struct
      name: LowLevelArenaReference
      pos:
        line_end: 335
        line_start: 319
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: alloc
        type: DeallocationSampleRecord
      - name: dealloc
        type: DeallocationSampleRecord
      item_type: struct
      name: Key
      pos:
        line_end: 417
        line_start: 401
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: counts[kNumCases]
        type: double
      - name: mean_life_times_ns[kNumCases]
        type: double
      - name: variance_life_times_ns[kNumCases]
        type: double
      - name: min_life_times_ns[kNumCases]
        type: double
      - name: max_life_times_ns[kNumCases]
        type: double
      item_type: struct
      name: Value
      pos:
        line_end: 433
        line_start: 419
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::mock_clock
  - tcmalloc::tcmalloc_internal::freq
  - tcmalloc::tcmalloc_internal::ReleasedPages
  - tcmalloc::tcmalloc_internal::GetBitmap
  - operator()(Range r) override
  - operator()(Range r, std::optional<absl::string_view> name) override
  - tcmalloc::tcmalloc_internal::FakePageFlags::FakePageFlags
  - tcmalloc::tcmalloc_internal::FakePageFlags::Get
  - tcmalloc::tcmalloc_internal::FakePageFlags::IsHugepageBacked
  - tcmalloc::tcmalloc_internal::FakeResidency::FakeResidency
  - tcmalloc::tcmalloc_internal::FakeResidency::Get
  - tcmalloc::tcmalloc_internal::FakeResidency::GetUnbackedAndSwappedBitmaps
  - tcmalloc::tcmalloc_internal::FakeResidency::GetNativePagesInHugePage
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::FuzzFiller
  - tcmalloc::tcmalloc_internal::mock_clock
  - tcmalloc::tcmalloc_internal::freq
  - tcmalloc::tcmalloc_internal::ReleasedPages
  - tcmalloc::tcmalloc_internal::GetBitmap
  - operator()(Range r) override
  - operator()(Range r, std::optional<absl::string_view> name) override
  - tcmalloc::tcmalloc_internal::FakePageFlags::FakePageFlags
  - tcmalloc::tcmalloc_internal::FakePageFlags::Get
  - tcmalloc::tcmalloc_internal::FakePageFlags::IsHugepageBacked
  - tcmalloc::tcmalloc_internal::FakeResidency::FakeResidency
  - tcmalloc::tcmalloc_internal::FakeResidency::Get
  - tcmalloc::tcmalloc_internal::FakeResidency::GetUnbackedAndSwappedBitmaps
  - tcmalloc::tcmalloc_internal::FakeResidency::GetNativePagesInHugePage
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::FuzzFiller
  - tcmalloc::tcmalloc_internal::mock_clock
  - tcmalloc::tcmalloc_internal::freq
  - tcmalloc::tcmalloc_internal::ReleasedPages
  - tcmalloc::tcmalloc_internal::GetBitmap
  - operator()(Range r) override
  - operator()(Range r, std::optional<absl::string_view> name) override
  - tcmalloc::tcmalloc_internal::FakePageFlags::FakePageFlags
  - tcmalloc::tcmalloc_internal::FakePageFlags::Get
  - tcmalloc::tcmalloc_internal::FakePageFlags::IsHugepageBacked
  - tcmalloc::tcmalloc_internal::FakeResidency::FakeResidency
  - tcmalloc::tcmalloc_internal::FakeResidency::Get
  - tcmalloc::tcmalloc_internal::FakeResidency::GetUnbackedAndSwappedBitmaps
  - tcmalloc::tcmalloc_internal::FakeResidency::GetNativePagesInHugePage
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::FuzzFiller
  - tcmalloc::tcmalloc_internal::mock_clock
  - tcmalloc::tcmalloc_internal::freq
  - tcmalloc::tcmalloc_internal::ReleasedPages
  - tcmalloc::tcmalloc_internal::GetBitmap
  - operator()(Range r) override
  - operator()(Range r, std::optional<absl::string_view> name) override
  - tcmalloc::tcmalloc_internal::FakePageFlags::FakePageFlags
  - tcmalloc::tcmalloc_internal::FakePageFlags::Get
  - tcmalloc::tcmalloc_internal::FakePageFlags::IsHugepageBacked
  - tcmalloc::tcmalloc_internal::FakeResidency::FakeResidency
  - tcmalloc::tcmalloc_internal::FakeResidency::Get
  - tcmalloc::tcmalloc_internal::FakeResidency::GetUnbackedAndSwappedBitmaps
  - tcmalloc::tcmalloc_internal::FakeResidency::GetNativePagesInHugePage
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::FuzzFiller
  source_file: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcmalloc/tcmalloc/malloc_tracing_extension.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: spans
        type: std::vector<SpanDetails>
      item_type: struct
      name: AllocatedAddressRanges
      pos:
        line_end: 46
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/malloc_tracing_extension.h
    - fields:
      - name: start_addr
        type: uintptr_t
      - name: size
        type: size_t
      - name: object_size
        type: size_t
      item_type: struct
      name: SpanDetails
      pos:
        line_end: 42
        line_start: 34
        source_file: /src/tcmalloc/tcmalloc/malloc_tracing_extension.h
    - fields:
      - name: spans
        type: std::vector<SpanDetails>
      item_type: struct
      name: AllocatedAddressRanges
      pos:
        line_end: 46
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/malloc_tracing_extension.h
    - fields:
      - name: start_addr
        type: uintptr_t
      - name: size
        type: size_t
      - name: object_size
        type: size_t
      item_type: struct
      name: SpanDetails
      pos:
        line_end: 42
        line_start: 34
        source_file: /src/tcmalloc/tcmalloc/malloc_tracing_extension.h
    - fields:
      - name: spans
        type: std::vector<SpanDetails>
      item_type: struct
      name: AllocatedAddressRanges
      pos:
        line_end: 46
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/malloc_tracing_extension.h
    - fields:
      - name: start_addr
        type: uintptr_t
      - name: size
        type: size_t
      - name: object_size
        type: size_t
      item_type: struct
      name: SpanDetails
      pos:
        line_end: 42
        line_start: 34
        source_file: /src/tcmalloc/tcmalloc/malloc_tracing_extension.h
    - fields:
      - name: spans
        type: std::vector<SpanDetails>
      item_type: struct
      name: AllocatedAddressRanges
      pos:
        line_end: 46
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/malloc_tracing_extension.h
    - fields:
      - name: start_addr
        type: uintptr_t
      - name: size
        type: size_t
      - name: object_size
        type: size_t
      item_type: struct
      name: SpanDetails
      pos:
        line_end: 42
        line_start: 34
        source_file: /src/tcmalloc/tcmalloc/malloc_tracing_extension.h
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
  - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
  - tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
  - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
  - tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
  - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
  - tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
  - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
  source_file: /src/tcmalloc/tcmalloc/internal_malloc_extension.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - "& operator<<(std::ostream& os,\n                                const tcmalloc::MallocHook::AllocHandle&
    h)"
  source_file: /src/tcmalloc/tcmalloc/malloc_hook.h
  types:
    enum:
    - enumerators:
      - name: kImmutable
      - name: kMutable
      item_type: enum
      name: HookMemoryMutable
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/tcmalloc/tcmalloc/malloc_hook.h
    - enumerators: []
      item_type: enum
      name: AllocHandle
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/malloc_hook.h
    preproc_defs: []
    structs:
    - fields:
      - name: '* ptr'
        type: void
      - name: requested_size
        type: size_t
      - name: allocated_size
        type: size_t
      - name: is_mutable
        type: HookMemoryMutable
      item_type: struct
      name: NewInfo
      pos:
        line_end: 45
        line_start: 36
        source_file: /src/tcmalloc/tcmalloc/malloc_hook.h
    - fields:
      - name: '* ptr'
        type: void
      - name: deallocated_size
        type: std::optional<size_t>
      - name: allocated_size
        type: size_t
      - name: is_mutable
        type: HookMemoryMutable
      item_type: struct
      name: DeleteInfo
      pos:
        line_end: 66
        line_start: 56
        source_file: /src/tcmalloc/tcmalloc/malloc_hook.h
    - fields:
      - name: handle
        type: AllocHandle
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: size_t
      - name: allocated_size
        type: size_t
      - name: weight
        type: double
      - name: stack
        type: absl::Span<const void* const>
      - name: allocation_time
        type: absl::Time
      - name: '* ptr'
        type: void
      item_type: struct
      name: SampledAlloc
      pos:
        line_end: 111
        line_start: 102
        source_file: /src/tcmalloc/tcmalloc/malloc_hook.h
    typedefs:
    - item_type: typedef
      name: (*NewHook)(const NewInfo& info)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/tcmalloc/tcmalloc/malloc_hook.h
      type: void
    - item_type: typedef
      name: (*DeleteHook)(const DeleteInfo& info)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/tcmalloc/tcmalloc/malloc_hook.h
      type: void
    - item_type: typedef
      name: (*SampledNewHook)(const SampledAlloc& sampled_alloc)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/tcmalloc/tcmalloc/malloc_hook.h
      type: void
    - item_type: typedef
      name: "(*SampledDeleteHook)(\n      const\n      SampledAlloc& sampled_alloc)"
      pos:
        line_end: 124
        line_start: 122
        source_file: /src/tcmalloc/tcmalloc/malloc_hook.h
      type: void
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
  - ~HugeRegionTest() override
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
  - tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
  - tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::MemorySimulation::MemorySimulation
  - tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::Stat
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::FakeClock
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Advance
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::HugeRegionSetTest
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Delete
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::HardReleasePages
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
  - ~HugeRegionTest() override
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
  - tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
  - tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::MemorySimulation::MemorySimulation
  - tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::Stat
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::FakeClock
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Advance
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::HugeRegionSetTest
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Delete
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::HardReleasePages
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
  - ~HugeRegionTest() override
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
  - tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
  - tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::MemorySimulation::MemorySimulation
  - tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::Stat
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::FakeClock
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Advance
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::HugeRegionSetTest
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Delete
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::HardReleasePages
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
  - ~HugeRegionTest() override
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
  - tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
  - tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::MemorySimulation::MemorySimulation
  - tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::Stat
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::FakeClock
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Advance
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::HugeRegionSetTest
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Delete
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::HardReleasePages
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
  - ~HugeRegionTest() override
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
  - tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
  - tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::MemorySimulation::MemorySimulation
  - tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::Stat
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::FakeClock
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Advance
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::HugeRegionSetTest
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Delete
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::HardReleasePages
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
  - ~HugeRegionTest() override
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
  - tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
  - tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::MemorySimulation::MemorySimulation
  - tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::Stat
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::FakeClock
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Advance
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::HugeRegionSetTest
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Delete
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::HardReleasePages
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
  - ~HugeRegionTest() override
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
  - tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
  - tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::MemorySimulation::MemorySimulation
  - tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::Stat
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::FakeClock
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Advance
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::HugeRegionSetTest
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Delete
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::HardReleasePages
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
  - ~HugeRegionTest() override
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
  - tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
  - tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::MemorySimulation::MemorySimulation
  - tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::Stat
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::FakeClock
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Advance
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::HugeRegionSetTest
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Allocate
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::Delete
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::ReleasePagesByPeakDemand
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::HardReleasePages
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      - name: mark
        type: size_t
      item_type: struct
      name: Alloc
      pos:
        line_end: 87
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: tid
        type: int
      - name: r
        type: Range
      item_type: struct
      name: FuzzAlloc
      pos:
        line_end: 367
        line_start: 364
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 485
        line_start: 464
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      item_type: struct
      name: Alloc
      pos:
        line_end: 665
        line_start: 662
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      - name: mark
        type: size_t
      item_type: struct
      name: Alloc
      pos:
        line_end: 87
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: tid
        type: int
      - name: r
        type: Range
      item_type: struct
      name: FuzzAlloc
      pos:
        line_end: 367
        line_start: 364
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 485
        line_start: 464
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      item_type: struct
      name: Alloc
      pos:
        line_end: 665
        line_start: 662
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      - name: mark
        type: size_t
      item_type: struct
      name: Alloc
      pos:
        line_end: 87
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: tid
        type: int
      - name: r
        type: Range
      item_type: struct
      name: FuzzAlloc
      pos:
        line_end: 367
        line_start: 364
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 485
        line_start: 464
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      item_type: struct
      name: Alloc
      pos:
        line_end: 665
        line_start: 662
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      - name: mark
        type: size_t
      item_type: struct
      name: Alloc
      pos:
        line_end: 87
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: tid
        type: int
      - name: r
        type: Range
      item_type: struct
      name: FuzzAlloc
      pos:
        line_end: 367
        line_start: 364
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 485
        line_start: 464
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      item_type: struct
      name: Alloc
      pos:
        line_end: 665
        line_start: 662
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      - name: mark
        type: size_t
      item_type: struct
      name: Alloc
      pos:
        line_end: 87
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: tid
        type: int
      - name: r
        type: Range
      item_type: struct
      name: FuzzAlloc
      pos:
        line_end: 367
        line_start: 364
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 485
        line_start: 464
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      item_type: struct
      name: Alloc
      pos:
        line_end: 665
        line_start: 662
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      - name: mark
        type: size_t
      item_type: struct
      name: Alloc
      pos:
        line_end: 87
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: tid
        type: int
      - name: r
        type: Range
      item_type: struct
      name: FuzzAlloc
      pos:
        line_end: 367
        line_start: 364
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 485
        line_start: 464
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      item_type: struct
      name: Alloc
      pos:
        line_end: 665
        line_start: 662
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      - name: mark
        type: size_t
      item_type: struct
      name: Alloc
      pos:
        line_end: 87
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: tid
        type: int
      - name: r
        type: Range
      item_type: struct
      name: FuzzAlloc
      pos:
        line_end: 367
        line_start: 364
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 485
        line_start: 464
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      item_type: struct
      name: Alloc
      pos:
        line_end: 665
        line_start: 662
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      - name: mark
        type: size_t
      item_type: struct
      name: Alloc
      pos:
        line_end: 87
        line_start: 83
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: tid
        type: int
      - name: r
        type: Range
      item_type: struct
      name: FuzzAlloc
      pos:
        line_end: 367
        line_start: 364
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 485
        line_start: 464
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      item_type: struct
      name: Alloc
      pos:
        line_end: 665
        line_start: 662
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    typedefs:
    - item_type: typedef
      name: Region
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - item_type: typedef
      name: Region
      pos:
        line_end: 639
        line_start: 639
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - item_type: typedef
      name: Region
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - item_type: typedef
      name: Region
      pos:
        line_end: 639
        line_start: 639
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - item_type: typedef
      name: Region
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - item_type: typedef
      name: Region
      pos:
        line_end: 639
        line_start: 639
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - item_type: typedef
      name: Region
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - item_type: typedef
      name: Region
      pos:
        line_end: 639
        line_start: 639
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - item_type: typedef
      name: Region
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - item_type: typedef
      name: Region
      pos:
        line_end: 639
        line_start: 639
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - item_type: typedef
      name: Region
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - item_type: typedef
      name: Region
      pos:
        line_end: 639
        line_start: 639
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - item_type: typedef
      name: Region
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - item_type: typedef
      name: Region
      pos:
        line_end: 639
        line_start: 639
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - item_type: typedef
      name: Region
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    - item_type: typedef
      name: Region
      pos:
        line_end: 639
        line_start: 639
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    union: []
- function_names:
  - namespace
  - deallocationz::DeallocationProfilerList::DeallocationProfilerList
  - deallocationz::DeallocationProfilerList::DeallocationProfilerList
  source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/profile_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: size
        type: size_t
      - name: alignment
        type: size_t
      - name: hot_cold
        type: std::optional<tcmalloc::hot_cold_t>
      - name: expected_hot
        type: bool
      - name: keep
        type: bool
      - name: '* list'
        type: void
      item_type: struct
      name: Requests
      pos:
        line_end: 179
        line_start: 171
        source_file: /src/tcmalloc/tcmalloc/profile_test.cc
    - fields:
      - name: size
        type: size_t
      - name: alignment
        type: size_t
      - name: hot_cold
        type: std::optional<tcmalloc::hot_cold_t>
      - name: expected_hot
        type: bool
      - name: keep
        type: bool
      - name: '* list'
        type: void
      item_type: struct
      name: Requests
      pos:
        line_end: 179
        line_start: 171
        source_file: /src/tcmalloc/tcmalloc/profile_test.cc
    - fields:
      - name: size
        type: size_t
      - name: alignment
        type: size_t
      - name: hot_cold
        type: std::optional<tcmalloc::hot_cold_t>
      - name: expected_hot
        type: bool
      - name: keep
        type: bool
      - name: '* list'
        type: void
      item_type: struct
      name: Requests
      pos:
        line_end: 179
        line_start: 171
        source_file: /src/tcmalloc/tcmalloc/profile_test.cc
    - fields:
      - name: size
        type: size_t
      - name: alignment
        type: size_t
      - name: hot_cold
        type: std::optional<tcmalloc::hot_cold_t>
      - name: expected_hot
        type: bool
      - name: keep
        type: bool
      - name: '* list'
        type: void
      item_type: struct
      name: Requests
      pos:
        line_end: 179
        line_start: 171
        source_file: /src/tcmalloc/tcmalloc/profile_test.cc
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/tcmalloc/tcmalloc/legacy_size_classes.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::Sampler::GetSampleInterval
  - tcmalloc_internal::Sampler::Init
  - tcmalloc_internal::Sampler::PickNextSamplingPoint
  - tcmalloc_internal::Sampler::GetGeometricVariable
  - tcmalloc_internal::Sampler::RecordAllocationSlow
  - tcmalloc_internal::AllocatedBytes
  - tcmalloc_internal::Sampler::GetSampleInterval
  - tcmalloc_internal::Sampler::Init
  - tcmalloc_internal::Sampler::PickNextSamplingPoint
  - tcmalloc_internal::Sampler::GetGeometricVariable
  - tcmalloc_internal::Sampler::RecordAllocationSlow
  - tcmalloc_internal::AllocatedBytes
  source_file: /src/tcmalloc/tcmalloc/sampler.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::TCMallocStats
  - tcmalloc_internal::TCMallocStats
  source_file: /src/tcmalloc/tcmalloc/global_stats.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: thread_bytes
        type: uint64_t
      - name: central_bytes
        type: uint64_t
      - name: transfer_bytes
        type: uint64_t
      - name: metadata_bytes
        type: uint64_t
      - name: sharded_transfer_bytes
        type: uint64_t
      - name: per_cpu_bytes
        type: uint64_t
      - name: pagemap_root_bytes_res
        type: uint64_t
      - name: percpu_metadata_bytes_res
        type: uint64_t
      - name: tc_stats
        type: AllocatorStats
      - name: span_stats
        type: AllocatorStats
      - name: stack_stats
        type: AllocatorStats
      - name: linked_sample_stats
        type: AllocatorStats
      - name: pagemap_bytes
        type: size_t
      - name: percpu_metadata_bytes
        type: size_t
      - name: pageheap
        type: BackingStats
      - name: peak_stats
        type: PageAllocator::PeakStats
      - name: num_released_total
        type: Length
      - name: num_released_release_memory_to_system
        type: Length
      - name: num_released_process_background_actions
        type: Length
      - name: num_released_soft_limit_exceeded
        type: Length
      - name: num_released_hard_limit_exceeded
        type: Length
      - name: arena
        type: ArenaStats
      item_type: struct
      name: TCMallocStats
      pos:
        line_end: 61
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/global_stats.h
    - fields:
      - name: thread_bytes
        type: uint64_t
      - name: central_bytes
        type: uint64_t
      - name: transfer_bytes
        type: uint64_t
      - name: metadata_bytes
        type: uint64_t
      - name: sharded_transfer_bytes
        type: uint64_t
      - name: per_cpu_bytes
        type: uint64_t
      - name: pagemap_root_bytes_res
        type: uint64_t
      - name: percpu_metadata_bytes_res
        type: uint64_t
      - name: tc_stats
        type: AllocatorStats
      - name: span_stats
        type: AllocatorStats
      - name: stack_stats
        type: AllocatorStats
      - name: linked_sample_stats
        type: AllocatorStats
      - name: pagemap_bytes
        type: size_t
      - name: percpu_metadata_bytes
        type: size_t
      - name: pageheap
        type: BackingStats
      - name: peak_stats
        type: PageAllocator::PeakStats
      - name: num_released_total
        type: Length
      - name: num_released_release_memory_to_system
        type: Length
      - name: num_released_process_background_actions
        type: Length
      - name: num_released_soft_limit_exceeded
        type: Length
      - name: num_released_hard_limit_exceeded
        type: Length
      - name: arena
        type: ArenaStats
      item_type: struct
      name: TCMallocStats
      pos:
        line_end: 61
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/global_stats.h
    typedefs: []
    union: []
- function_names:
  - namespace::tcmalloc_internal
  - FuzzTransferCache
  - FuzzTransferCache
  source_file: /src/tcmalloc/tcmalloc/transfer_cache_fuzz.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::filler_skip_subrelease_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::filler_skip_subrelease_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::cache_demand_release_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::cache_demand_release_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::release_partial_alloc_pages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::hpaa_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_filler_skip_subrelease_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_filler_skip_subrelease_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_cache_demand_release_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_cache_demand_release_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_release_partial_alloc_pages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_hpaa_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::release_succeeds
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_release_succeeds
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_collapse_succeeds
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::huge_region_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_huge_region_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::huge_cache_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_huge_cache_demand_based_release
  - '& arena()'
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::GetHugepage
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::Set
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetHugepage
  - ''
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_ATTRIBUTE_NONNULL
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocatePages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::Back
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReportDoubleFree
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::CollapsePages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetAnonVmaName
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ll_arena
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::allocate
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::deallocate
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::filler_skip_subrelease_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::filler_skip_subrelease_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::cache_demand_release_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::cache_demand_release_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::release_partial_alloc_pages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::hpaa_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_filler_skip_subrelease_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_filler_skip_subrelease_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_cache_demand_release_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_cache_demand_release_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_release_partial_alloc_pages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_hpaa_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::release_succeeds
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_release_succeeds
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_collapse_succeeds
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::huge_region_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_huge_region_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::huge_cache_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_huge_cache_demand_based_release
  - '& arena()'
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::GetHugepage
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::Set
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetHugepage
  - ''
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_ATTRIBUTE_NONNULL
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocatePages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::Back
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReportDoubleFree
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::CollapsePages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetAnonVmaName
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ll_arena
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::allocate
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::deallocate
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::filler_skip_subrelease_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::filler_skip_subrelease_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::cache_demand_release_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::cache_demand_release_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::release_partial_alloc_pages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::hpaa_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_filler_skip_subrelease_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_filler_skip_subrelease_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_cache_demand_release_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_cache_demand_release_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_release_partial_alloc_pages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_hpaa_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::release_succeeds
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_release_succeeds
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_collapse_succeeds
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::huge_region_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_huge_region_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::huge_cache_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_huge_cache_demand_based_release
  - '& arena()'
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::GetHugepage
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::Set
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetHugepage
  - ''
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_ATTRIBUTE_NONNULL
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocatePages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::Back
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReportDoubleFree
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::CollapsePages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetAnonVmaName
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ll_arena
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::allocate
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::deallocate
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::filler_skip_subrelease_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::filler_skip_subrelease_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::cache_demand_release_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::cache_demand_release_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::release_partial_alloc_pages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::hpaa_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_filler_skip_subrelease_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_filler_skip_subrelease_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_cache_demand_release_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_cache_demand_release_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_release_partial_alloc_pages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_hpaa_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::release_succeeds
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_release_succeeds
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_collapse_succeeds
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::huge_region_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_huge_region_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::huge_cache_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_huge_cache_demand_based_release
  - '& arena()'
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::GetHugepage
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::Set
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetHugepage
  - ''
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_ATTRIBUTE_NONNULL
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocatePages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::Back
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReportDoubleFree
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::CollapsePages
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetAnonVmaName
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ll_arena
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::AllocAdaptor
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::allocate
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocAdaptor::deallocate
  source_file: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::Span::Sample
  - tcmalloc_internal::Span::Unsample
  - tcmalloc_internal::Span::Fragmentation
  - tcmalloc_internal::Span::BitmapIdxToPtr
  - tcmalloc_internal::Span::BitmapPopBatch
  - tcmalloc_internal::Span::FreelistPopBatch
  - tcmalloc_internal::Span::ListPopBatch
  - tcmalloc_internal::Span::CalcReciprocal
  - tcmalloc_internal::Span::BuildBitmap
  - tcmalloc_internal::Span::BuildFreelist
  - tcmalloc_internal::Span::New
  - tcmalloc_internal::Span::Delete
  - tcmalloc_internal::Span::Sample
  - tcmalloc_internal::Span::Unsample
  - tcmalloc_internal::Span::Fragmentation
  - tcmalloc_internal::Span::BitmapIdxToPtr
  - tcmalloc_internal::Span::BitmapPopBatch
  - tcmalloc_internal::Span::FreelistPopBatch
  - tcmalloc_internal::Span::ListPopBatch
  - tcmalloc_internal::Span::CalcReciprocal
  - tcmalloc_internal::Span::BuildBitmap
  - tcmalloc_internal::Span::BuildFreelist
  - tcmalloc_internal::Span::New
  - tcmalloc_internal::Span::Delete
  source_file: /src/tcmalloc/tcmalloc/span.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::Dealloc
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_enabled
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::reuse_size_classes
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::reuse_size_classes_v2
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::class_to_size
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::cold_size_classes
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::num_objects_to_move
  - '& numa_topology()'
  - '& sharded_transfer_cache()'
  - '& transfer_cache()'
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseGenericShardedCache
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseShardedCacheForLargeClassesOnly
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseWiderSlabs
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
  - tcmalloc_internal::cpu_cache_internal::NumaShift
  - tcmalloc_internal::cpu_cache_internal::ShiftOffset
  - operator()(size_t size_class) const
  - '& operator+=(const CpuCacheMissStats rhs)'
  - tcmalloc_internal::cpu_cache_internal::CpuCache::CpuCache
  - '& forwarder() const'
  - '& forwarder()'
  - '& operator[](PerClassMissType type)'
  - '& operator[](MissCount miss_count)'
  - tcmalloc_internal::cpu_cache_internal::CpuCache::ResizeInfo
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocate
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deallocate
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
  - tcmalloc_internal::cpu_cache_internal::FillActiveCpuMask
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
  - tcmalloc_internal::cpu_cache_internal::EstimateSlabBytes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetCapacityOfSizeClass
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetPerCpuSlabShiftBounds
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetDynamicSlabFailedBytes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Activate
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deactivate
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlow
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
  - tcmalloc_internal::cpu_cache_internal::TargetOverflowRefillCount
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
  - tcmalloc_internal::cpu_cache_internal::subtract_at_least
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TryReclaimingCaches
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClassMaxCapacities
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClasses
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShuffleCpuCaches
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlow
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlowNoHooks
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocated
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MetadataMemoryUsage
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalUsedBytes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalObjectsOfClass
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::SetCacheLimit
  - "operator()(int cpu, size_t size_class, void** batch, size_t count,\n                  size_t
    cap) const"
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSlabIfNeeded
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalSizeClassMisses
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Print
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PrintInPbtxt
  - CpuCache<Forwarder>::PerClassResizeInfo::Init()
  - "CpuCache<Forwarder>::PerClassResizeInfo::Update(\n    bool overflow, bool grow,
    uint32_t* successive)"
  - CpuCache<Forwarder>::PerClassResizeInfo::Tick()
  - "CpuCache<Forwarder>::PerClassResizeInfo::RecordMiss(\n    PerClassMissType type)"
  - "CpuCache<Forwarder>::PerClassResizeInfo::GetTotalMisses(\n    PerClassMissType
    type)"
  - "CpuCache<Forwarder>::PerClassResizeInfo::GetAndUpdateIntervalMisses(\n    PerClassMissType
    total_type, PerClassMissType interval_type)"
  - "CpuCache<Forwarder>::PerClassResizeInfo::GetIntervalMisses(\n    PerClassMissType
    total_type, PerClassMissType interval_type)"
  - "CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n    PerClassMissType
    total_type, PerClassMissType interval_type)"
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::Dealloc
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_enabled
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::reuse_size_classes
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::reuse_size_classes_v2
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::class_to_size
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::cold_size_classes
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::num_objects_to_move
  - '& numa_topology()'
  - '& sharded_transfer_cache()'
  - '& transfer_cache()'
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseGenericShardedCache
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseShardedCacheForLargeClassesOnly
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseWiderSlabs
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
  - tcmalloc_internal::cpu_cache_internal::NumaShift
  - tcmalloc_internal::cpu_cache_internal::ShiftOffset
  - operator()(size_t size_class) const
  - '& operator+=(const CpuCacheMissStats rhs)'
  - tcmalloc_internal::cpu_cache_internal::CpuCache::CpuCache
  - '& forwarder() const'
  - '& forwarder()'
  - '& operator[](PerClassMissType type)'
  - '& operator[](MissCount miss_count)'
  - tcmalloc_internal::cpu_cache_internal::CpuCache::ResizeInfo
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocate
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deallocate
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
  - tcmalloc_internal::cpu_cache_internal::FillActiveCpuMask
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
  - tcmalloc_internal::cpu_cache_internal::EstimateSlabBytes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetCapacityOfSizeClass
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetPerCpuSlabShiftBounds
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetDynamicSlabFailedBytes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Activate
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deactivate
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlow
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
  - tcmalloc_internal::cpu_cache_internal::TargetOverflowRefillCount
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
  - tcmalloc_internal::cpu_cache_internal::subtract_at_least
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TryReclaimingCaches
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClassMaxCapacities
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClasses
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShuffleCpuCaches
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlow
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlowNoHooks
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocated
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MetadataMemoryUsage
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalUsedBytes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalObjectsOfClass
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::SetCacheLimit
  - "operator()(int cpu, size_t size_class, void** batch, size_t count,\n                  size_t
    cap) const"
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSlabIfNeeded
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalSizeClassMisses
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Print
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PrintInPbtxt
  - CpuCache<Forwarder>::PerClassResizeInfo::Init()
  - "CpuCache<Forwarder>::PerClassResizeInfo::Update(\n    bool overflow, bool grow,
    uint32_t* successive)"
  - CpuCache<Forwarder>::PerClassResizeInfo::Tick()
  - "CpuCache<Forwarder>::PerClassResizeInfo::RecordMiss(\n    PerClassMissType type)"
  - "CpuCache<Forwarder>::PerClassResizeInfo::GetTotalMisses(\n    PerClassMissType
    type)"
  - "CpuCache<Forwarder>::PerClassResizeInfo::GetAndUpdateIntervalMisses(\n    PerClassMissType
    total_type, PerClassMissType interval_type)"
  - "CpuCache<Forwarder>::PerClassResizeInfo::GetIntervalMisses(\n    PerClassMissType
    total_type, PerClassMissType interval_type)"
  - "CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n    PerClassMissType
    total_type, PerClassMissType interval_type)"
  - tcmalloc_internal::UsePerCpuCache
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::Dealloc
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_enabled
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::reuse_size_classes
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::reuse_size_classes_v2
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::class_to_size
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::cold_size_classes
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::num_objects_to_move
  - '& numa_topology()'
  - '& sharded_transfer_cache()'
  - '& transfer_cache()'
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseGenericShardedCache
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseShardedCacheForLargeClassesOnly
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseWiderSlabs
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
  - tcmalloc_internal::cpu_cache_internal::NumaShift
  - tcmalloc_internal::cpu_cache_internal::ShiftOffset
  - operator()(size_t size_class) const
  - '& operator+=(const CpuCacheMissStats rhs)'
  - tcmalloc_internal::cpu_cache_internal::CpuCache::CpuCache
  - '& forwarder() const'
  - '& forwarder()'
  - '& operator[](PerClassMissType type)'
  - '& operator[](MissCount miss_count)'
  - tcmalloc_internal::cpu_cache_internal::CpuCache::ResizeInfo
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocate
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deallocate
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
  - tcmalloc_internal::cpu_cache_internal::FillActiveCpuMask
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
  - tcmalloc_internal::cpu_cache_internal::EstimateSlabBytes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetCapacityOfSizeClass
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetPerCpuSlabShiftBounds
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetDynamicSlabFailedBytes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Activate
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deactivate
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlow
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
  - tcmalloc_internal::cpu_cache_internal::TargetOverflowRefillCount
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
  - tcmalloc_internal::cpu_cache_internal::subtract_at_least
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TryReclaimingCaches
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClassMaxCapacities
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClasses
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShuffleCpuCaches
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlow
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlowNoHooks
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocated
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MetadataMemoryUsage
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalUsedBytes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalObjectsOfClass
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::SetCacheLimit
  - "operator()(int cpu, size_t size_class, void** batch, size_t count,\n                  size_t
    cap) const"
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSlabIfNeeded
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalSizeClassMisses
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Print
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PrintInPbtxt
  - CpuCache<Forwarder>::PerClassResizeInfo::Init()
  - "CpuCache<Forwarder>::PerClassResizeInfo::Update(\n    bool overflow, bool grow,
    uint32_t* successive)"
  - CpuCache<Forwarder>::PerClassResizeInfo::Tick()
  - "CpuCache<Forwarder>::PerClassResizeInfo::RecordMiss(\n    PerClassMissType type)"
  - "CpuCache<Forwarder>::PerClassResizeInfo::GetTotalMisses(\n    PerClassMissType
    type)"
  - "CpuCache<Forwarder>::PerClassResizeInfo::GetAndUpdateIntervalMisses(\n    PerClassMissType
    total_type, PerClassMissType interval_type)"
  - "CpuCache<Forwarder>::PerClassResizeInfo::GetIntervalMisses(\n    PerClassMissType
    total_type, PerClassMissType interval_type)"
  - "CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n    PerClassMissType
    total_type, PerClassMissType interval_type)"
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::Dealloc
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_enabled
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_grow_threshold
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::per_cpu_caches_dynamic_slab_shrink_threshold
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::reuse_size_classes
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::reuse_size_classes_v2
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::class_to_size
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::cold_size_classes
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::num_objects_to_move
  - '& numa_topology()'
  - '& sharded_transfer_cache()'
  - '& transfer_cache()'
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseGenericShardedCache
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseShardedCacheForLargeClassesOnly
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseWiderSlabs
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
  - tcmalloc_internal::cpu_cache_internal::NumaShift
  - tcmalloc_internal::cpu_cache_internal::ShiftOffset
  - operator()(size_t size_class) const
  - '& operator+=(const CpuCacheMissStats rhs)'
  - tcmalloc_internal::cpu_cache_internal::CpuCache::CpuCache
  - '& forwarder() const'
  - '& forwarder()'
  - '& operator[](PerClassMissType type)'
  - '& operator[](MissCount miss_count)'
  - tcmalloc_internal::cpu_cache_internal::CpuCache::ResizeInfo
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocate
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deallocate
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
  - tcmalloc_internal::cpu_cache_internal::FillActiveCpuMask
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
  - tcmalloc_internal::cpu_cache_internal::EstimateSlabBytes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetCapacityOfSizeClass
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetPerCpuSlabShiftBounds
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetDynamicSlabFailedBytes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Activate
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deactivate
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlow
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
  - tcmalloc_internal::cpu_cache_internal::TargetOverflowRefillCount
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
  - tcmalloc_internal::cpu_cache_internal::subtract_at_least
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TryReclaimingCaches
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClassMaxCapacities
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClasses
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShuffleCpuCaches
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlow
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateSlowNoHooks
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocated
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MetadataMemoryUsage
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalUsedBytes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalObjectsOfClass
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::SetCacheLimit
  - "operator()(int cpu, size_t size_class, void** batch, size_t count,\n                  size_t
    cap) const"
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSlabIfNeeded
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalSizeClassMisses
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Print
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PrintInPbtxt
  - CpuCache<Forwarder>::PerClassResizeInfo::Init()
  - "CpuCache<Forwarder>::PerClassResizeInfo::Update(\n    bool overflow, bool grow,
    uint32_t* successive)"
  - CpuCache<Forwarder>::PerClassResizeInfo::Tick()
  - "CpuCache<Forwarder>::PerClassResizeInfo::RecordMiss(\n    PerClassMissType type)"
  - "CpuCache<Forwarder>::PerClassResizeInfo::GetTotalMisses(\n    PerClassMissType
    type)"
  - "CpuCache<Forwarder>::PerClassResizeInfo::GetAndUpdateIntervalMisses(\n    PerClassMissType
    total_type, PerClassMissType interval_type)"
  - "CpuCache<Forwarder>::PerClassResizeInfo::GetIntervalMisses(\n    PerClassMissType
    total_type, PerClassMissType interval_type)"
  - "CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n    PerClassMissType
    total_type, PerClassMissType interval_type)"
  - tcmalloc_internal::UsePerCpuCache
  source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
  types:
    enum:
    - enumerators:
      - name: kNoop
        value: '0'
      - name: kGrow
      - name: kShrink
      item_type: enum
      name: DynamicSlabResize
      pos:
        line_end: 256
        line_start: 252
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kCapacityTotal
        value: '0'
      - name: kNumTypes
      - name: kMaxCapacityResize
      - name: kMaxCapacityTotal
      - name: kCapacityResize
      item_type: enum
      name: PerClassMissType
      pos:
        line_end: 270
        line_start: 258
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kTotal
        value: '0'
      - name: kSlabResize
      - name: kNumCounts
      - name: kReclaim
      - name: kShuffle
      item_type: enum
      name: MissCount
      pos:
        line_end: 286
        line_start: 273
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kNoop
        value: '0'
      - name: kGrow
      - name: kShrink
      item_type: enum
      name: DynamicSlabResize
      pos:
        line_end: 256
        line_start: 252
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kCapacityTotal
        value: '0'
      - name: kNumTypes
      - name: kMaxCapacityResize
      - name: kMaxCapacityTotal
      - name: kCapacityResize
      item_type: enum
      name: PerClassMissType
      pos:
        line_end: 270
        line_start: 258
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kTotal
        value: '0'
      - name: kSlabResize
      - name: kNumCounts
      - name: kReclaim
      - name: kShuffle
      item_type: enum
      name: MissCount
      pos:
        line_end: 286
        line_start: 273
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kNoop
        value: '0'
      - name: kGrow
      - name: kShrink
      item_type: enum
      name: DynamicSlabResize
      pos:
        line_end: 256
        line_start: 252
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kCapacityTotal
        value: '0'
      - name: kNumTypes
      - name: kMaxCapacityResize
      - name: kMaxCapacityTotal
      - name: kCapacityResize
      item_type: enum
      name: PerClassMissType
      pos:
        line_end: 270
        line_start: 258
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kTotal
        value: '0'
      - name: kSlabResize
      - name: kNumCounts
      - name: kReclaim
      - name: kShuffle
      item_type: enum
      name: MissCount
      pos:
        line_end: 286
        line_start: 273
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kNoop
        value: '0'
      - name: kGrow
      - name: kShrink
      item_type: enum
      name: DynamicSlabResize
      pos:
        line_end: 256
        line_start: 252
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kCapacityTotal
        value: '0'
      - name: kNumTypes
      - name: kMaxCapacityResize
      - name: kMaxCapacityTotal
      - name: kCapacityResize
      item_type: enum
      name: PerClassMissType
      pos:
        line_end: 270
        line_start: 258
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kTotal
        value: '0'
      - name: kSlabResize
      - name: kNumCounts
      - name: kReclaim
      - name: kShuffle
      item_type: enum
      name: MissCount
      pos:
        line_end: 286
        line_start: 273
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    preproc_defs: []
    structs:
    - fields:
      - name: initial_shift
        type: uint8_t
      - name: max_shift
        type: uint8_t
      item_type: struct
      name: SlabShiftBounds
      pos:
        line_end: 212
        line_start: 209
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: '* max_capacities'
        type: std::atomic<uint16_t>
      - name: shift
        type: uint8_t
      - name: shift_bounds
        type: SlabShiftBounds
      item_type: struct
      name: GetShiftMaxCapacity
      pos:
        line_end: 236
        line_start: 214
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: underflows
        type: size_t
      - name: overflows
        type: size_t
      item_type: struct
      name: CpuCacheMissStats
      pos:
        line_end: 250
        line_start: 241
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: min_capacity
        type: size_t
      - name: avg_capacity
        type: double
      - name: max_capacity
        type: size_t
      - name: max_capacity_misses
        type: size_t
      - name: min_last_underflow
        type: absl::Duration
      - name: max_last_underflow
        type: absl::Duration
      - name: min_last_overflow
        type: absl::Duration
      - name: max_last_overflow
        type: absl::Duration
      - name: min_last_underflow_cpu_id
        type: int
      - name: max_last_underflow_cpu_id
        type: int
      - name: min_last_overflow_cpu_id
        type: int
      - name: max_last_overflow_cpu_id
        type: int
      item_type: struct
      name: SizeClassCapacityStats
      pos:
        line_end: 301
        line_start: 288
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: grow_count[kNumPossiblePerCpuShifts]
        type: std::atomic<size_t>
      - name: shrink_count[kNumPossiblePerCpuShifts]
        type: std::atomic<size_t>
      - name: madvise_failed_bytes
        type: std::atomic<size_t>
      item_type: struct
      name: DynamicSlabInfo
      pos:
        line_end: 307
        line_start: 303
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: misses[static_cast<size_t>(PerClassMissType::kNumTypes)]
        type: std::atomic<size_t>
      item_type: struct
      name: PerClassMissCounts
      pos:
        line_end: 518
        line_start: 511
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: overflow
        type: uint32_t
      - name: quiescent_ticks
        type: uint32_t
      - name: successive
        type: uint32_t
      item_type: struct
      name: State
      pos:
        line_end: 564
        line_start: 557
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: misses[static_cast<size_t>(MissCount::kNumCounts)]
        type: std::atomic<size_t>
      item_type: struct
      name: MissCounts
      pos:
        line_end: 577
        line_start: 571
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: size_class
        type: size_t
      - name: misses
        type: size_t
      item_type: struct
      name: SizeClassMissStat
      pos:
        line_end: 661
        line_start: 658
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: cpu
        type: int
      - name: misses
        type: size_t
      item_type: struct
      name: CpuMissStat
      pos:
        line_end: 665
        line_start: 662
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: '& cache'
        type: CpuCache
      - name: '* bytes'
        type: uint64_t
      item_type: struct
      name: DrainHandler
      pos:
        line_end: 2161
        line_start: 2142
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: initial_shift
        type: uint8_t
      - name: max_shift
        type: uint8_t
      item_type: struct
      name: SlabShiftBounds
      pos:
        line_end: 212
        line_start: 209
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: '* max_capacities'
        type: std::atomic<uint16_t>
      - name: shift
        type: uint8_t
      - name: shift_bounds
        type: SlabShiftBounds
      item_type: struct
      name: GetShiftMaxCapacity
      pos:
        line_end: 236
        line_start: 214
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: underflows
        type: size_t
      - name: overflows
        type: size_t
      item_type: struct
      name: CpuCacheMissStats
      pos:
        line_end: 250
        line_start: 241
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: min_capacity
        type: size_t
      - name: avg_capacity
        type: double
      - name: max_capacity
        type: size_t
      - name: max_capacity_misses
        type: size_t
      - name: min_last_underflow
        type: absl::Duration
      - name: max_last_underflow
        type: absl::Duration
      - name: min_last_overflow
        type: absl::Duration
      - name: max_last_overflow
        type: absl::Duration
      - name: min_last_underflow_cpu_id
        type: int
      - name: max_last_underflow_cpu_id
        type: int
      - name: min_last_overflow_cpu_id
        type: int
      - name: max_last_overflow_cpu_id
        type: int
      item_type: struct
      name: SizeClassCapacityStats
      pos:
        line_end: 301
        line_start: 288
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: grow_count[kNumPossiblePerCpuShifts]
        type: std::atomic<size_t>
      - name: shrink_count[kNumPossiblePerCpuShifts]
        type: std::atomic<size_t>
      - name: madvise_failed_bytes
        type: std::atomic<size_t>
      item_type: struct
      name: DynamicSlabInfo
      pos:
        line_end: 307
        line_start: 303
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: misses[static_cast<size_t>(PerClassMissType::kNumTypes)]
        type: std::atomic<size_t>
      item_type: struct
      name: PerClassMissCounts
      pos:
        line_end: 518
        line_start: 511
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: overflow
        type: uint32_t
      - name: quiescent_ticks
        type: uint32_t
      - name: successive
        type: uint32_t
      item_type: struct
      name: State
      pos:
        line_end: 564
        line_start: 557
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: misses[static_cast<size_t>(MissCount::kNumCounts)]
        type: std::atomic<size_t>
      item_type: struct
      name: MissCounts
      pos:
        line_end: 577
        line_start: 571
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: size_class
        type: size_t
      - name: misses
        type: size_t
      item_type: struct
      name: SizeClassMissStat
      pos:
        line_end: 661
        line_start: 658
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: cpu
        type: int
      - name: misses
        type: size_t
      item_type: struct
      name: CpuMissStat
      pos:
        line_end: 665
        line_start: 662
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: '& cache'
        type: CpuCache
      - name: '* bytes'
        type: uint64_t
      item_type: struct
      name: DrainHandler
      pos:
        line_end: 2161
        line_start: 2142
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: initial_shift
        type: uint8_t
      - name: max_shift
        type: uint8_t
      item_type: struct
      name: SlabShiftBounds
      pos:
        line_end: 212
        line_start: 209
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: '* max_capacities'
        type: std::atomic<uint16_t>
      - name: shift
        type: uint8_t
      - name: shift_bounds
        type: SlabShiftBounds
      item_type: struct
      name: GetShiftMaxCapacity
      pos:
        line_end: 236
        line_start: 214
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: underflows
        type: size_t
      - name: overflows
        type: size_t
      item_type: struct
      name: CpuCacheMissStats
      pos:
        line_end: 250
        line_start: 241
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: min_capacity
        type: size_t
      - name: avg_capacity
        type: double
      - name: max_capacity
        type: size_t
      - name: max_capacity_misses
        type: size_t
      - name: min_last_underflow
        type: absl::Duration
      - name: max_last_underflow
        type: absl::Duration
      - name: min_last_overflow
        type: absl::Duration
      - name: max_last_overflow
        type: absl::Duration
      - name: min_last_underflow_cpu_id
        type: int
      - name: max_last_underflow_cpu_id
        type: int
      - name: min_last_overflow_cpu_id
        type: int
      - name: max_last_overflow_cpu_id
        type: int
      item_type: struct
      name: SizeClassCapacityStats
      pos:
        line_end: 301
        line_start: 288
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: grow_count[kNumPossiblePerCpuShifts]
        type: std::atomic<size_t>
      - name: shrink_count[kNumPossiblePerCpuShifts]
        type: std::atomic<size_t>
      - name: madvise_failed_bytes
        type: std::atomic<size_t>
      item_type: struct
      name: DynamicSlabInfo
      pos:
        line_end: 307
        line_start: 303
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: misses[static_cast<size_t>(PerClassMissType::kNumTypes)]
        type: std::atomic<size_t>
      item_type: struct
      name: PerClassMissCounts
      pos:
        line_end: 518
        line_start: 511
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: overflow
        type: uint32_t
      - name: quiescent_ticks
        type: uint32_t
      - name: successive
        type: uint32_t
      item_type: struct
      name: State
      pos:
        line_end: 564
        line_start: 557
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: misses[static_cast<size_t>(MissCount::kNumCounts)]
        type: std::atomic<size_t>
      item_type: struct
      name: MissCounts
      pos:
        line_end: 577
        line_start: 571
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: size_class
        type: size_t
      - name: misses
        type: size_t
      item_type: struct
      name: SizeClassMissStat
      pos:
        line_end: 661
        line_start: 658
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: cpu
        type: int
      - name: misses
        type: size_t
      item_type: struct
      name: CpuMissStat
      pos:
        line_end: 665
        line_start: 662
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: '& cache'
        type: CpuCache
      - name: '* bytes'
        type: uint64_t
      item_type: struct
      name: DrainHandler
      pos:
        line_end: 2161
        line_start: 2142
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: initial_shift
        type: uint8_t
      - name: max_shift
        type: uint8_t
      item_type: struct
      name: SlabShiftBounds
      pos:
        line_end: 212
        line_start: 209
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: '* max_capacities'
        type: std::atomic<uint16_t>
      - name: shift
        type: uint8_t
      - name: shift_bounds
        type: SlabShiftBounds
      item_type: struct
      name: GetShiftMaxCapacity
      pos:
        line_end: 236
        line_start: 214
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: underflows
        type: size_t
      - name: overflows
        type: size_t
      item_type: struct
      name: CpuCacheMissStats
      pos:
        line_end: 250
        line_start: 241
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: min_capacity
        type: size_t
      - name: avg_capacity
        type: double
      - name: max_capacity
        type: size_t
      - name: max_capacity_misses
        type: size_t
      - name: min_last_underflow
        type: absl::Duration
      - name: max_last_underflow
        type: absl::Duration
      - name: min_last_overflow
        type: absl::Duration
      - name: max_last_overflow
        type: absl::Duration
      - name: min_last_underflow_cpu_id
        type: int
      - name: max_last_underflow_cpu_id
        type: int
      - name: min_last_overflow_cpu_id
        type: int
      - name: max_last_overflow_cpu_id
        type: int
      item_type: struct
      name: SizeClassCapacityStats
      pos:
        line_end: 301
        line_start: 288
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: grow_count[kNumPossiblePerCpuShifts]
        type: std::atomic<size_t>
      - name: shrink_count[kNumPossiblePerCpuShifts]
        type: std::atomic<size_t>
      - name: madvise_failed_bytes
        type: std::atomic<size_t>
      item_type: struct
      name: DynamicSlabInfo
      pos:
        line_end: 307
        line_start: 303
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: misses[static_cast<size_t>(PerClassMissType::kNumTypes)]
        type: std::atomic<size_t>
      item_type: struct
      name: PerClassMissCounts
      pos:
        line_end: 518
        line_start: 511
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: overflow
        type: uint32_t
      - name: quiescent_ticks
        type: uint32_t
      - name: successive
        type: uint32_t
      item_type: struct
      name: State
      pos:
        line_end: 564
        line_start: 557
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: misses[static_cast<size_t>(MissCount::kNumCounts)]
        type: std::atomic<size_t>
      item_type: struct
      name: MissCounts
      pos:
        line_end: 577
        line_start: 571
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: size_class
        type: size_t
      - name: misses
        type: size_t
      item_type: struct
      name: SizeClassMissStat
      pos:
        line_end: 661
        line_start: 658
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: cpu
        type: int
      - name: misses
        type: size_t
      item_type: struct
      name: CpuMissStat
      pos:
        line_end: 665
        line_start: 662
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - fields:
      - name: '& cache'
        type: CpuCache
      - name: '* bytes'
        type: uint64_t
      item_type: struct
      name: DrainHandler
      pos:
        line_end: 2161
        line_start: 2142
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
  - tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::StaticForwarderEnvironment
  - ~StaticForwarderEnvironment()
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::RandomlyPoke
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::BytesAllocated
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::ABSL_GUARDED_BY
  - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
  - tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
  - tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::StaticForwarderEnvironment
  - ~StaticForwarderEnvironment()
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::RandomlyPoke
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::BytesAllocated
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::ABSL_GUARDED_BY
  - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
  - tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TestIndexing
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TestIndexing
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
  - tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::StaticForwarderEnvironment
  - ~StaticForwarderEnvironment()
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::RandomlyPoke
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::BytesAllocated
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::ABSL_GUARDED_BY
  - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
  - tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
  - tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::StaticForwarderEnvironment
  - ~StaticForwarderEnvironment()
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::RandomlyPoke
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::BytesAllocated
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::ABSL_GUARDED_BY
  - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
  - tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TestIndexing
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TestIndexing
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
  - tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::StaticForwarderEnvironment
  - ~StaticForwarderEnvironment()
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::RandomlyPoke
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::BytesAllocated
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::ABSL_GUARDED_BY
  - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
  - tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
  - tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::StaticForwarderEnvironment
  - ~StaticForwarderEnvironment()
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::RandomlyPoke
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::BytesAllocated
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::ABSL_GUARDED_BY
  - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
  - tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TestIndexing
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TestIndexing
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
  - tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::StaticForwarderEnvironment
  - ~StaticForwarderEnvironment()
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::RandomlyPoke
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::BytesAllocated
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::ABSL_GUARDED_BY
  - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
  - tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
  - tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::StaticForwarderEnvironment
  - ~StaticForwarderEnvironment()
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::RandomlyPoke
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::BytesAllocated
  - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::ABSL_GUARDED_BY
  - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
  - tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TestIndexing
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TestIndexing
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* span'
        type: Span
      - name: '* batch[kMaxObjectsToMove]'
        type: void
      item_type: struct
      name: SpanData
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    - fields:
      - name: '* span'
        type: Span
      - name: '* batch[kMaxObjectsToMove]'
        type: void
      item_type: struct
      name: SpanData
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    - fields:
      - name: '* span'
        type: Span
      - name: '* batch[kMaxObjectsToMove]'
        type: void
      item_type: struct
      name: SpanData
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    - fields:
      - name: '* span'
        type: Span
      - name: '* batch[kMaxObjectsToMove]'
        type: void
      item_type: struct
      name: SpanData
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    - fields:
      - name: '* span'
        type: Span
      - name: '* batch[kMaxObjectsToMove]'
        type: void
      item_type: struct
      name: SpanData
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    - fields:
      - name: '* span'
        type: Span
      - name: '* batch[kMaxObjectsToMove]'
        type: void
      item_type: struct
      name: SpanData
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    - fields:
      - name: '* span'
        type: Span
      - name: '* batch[kMaxObjectsToMove]'
        type: void
      item_type: struct
      name: SpanData
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    - fields:
      - name: '* span'
        type: Span
      - name: '* batch[kMaxObjectsToMove]'
        type: void
      item_type: struct
      name: SpanData
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::MinMaxTracker<kEpochs>::Report
  - tcmalloc_internal::MinMaxTracker<kEpochs>::MaxOverTime
  - tcmalloc_internal::MinMaxTracker<kEpochs>::MinOverTime
  - tcmalloc_internal::MinMaxTracker<kEpochs>::Print
  - tcmalloc_internal::MinMaxTracker<kEpochs>::PrintInPbtxt
  - MinMaxTracker<kEpochs>::Extrema::operator==(const Extrema& other) const
  - tcmalloc_internal::HugeCache::DoGet
  - tcmalloc_internal::HugeCache::MaybeGrowCacheLimit
  - tcmalloc_internal::HugeCache::IncUsage
  - tcmalloc_internal::HugeCache::DecUsage
  - tcmalloc_internal::HugeCache::UpdateSize
  - tcmalloc_internal::HugeCache::UpdateStatsTracker
  - tcmalloc_internal::HugeCache::Get
  - tcmalloc_internal::HugeCache::Release
  - tcmalloc_internal::HugeCache::ReleaseUnbacked
  - tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
  - tcmalloc_internal::HugeCache::ShrinkCache
  - tcmalloc_internal::HugeCache::ReleaseCachedPages
  - tcmalloc_internal::HugeCache::GetDesiredReleaseablePages
  - tcmalloc_internal::HugeCache::ReleaseCachedPagesByDemand
  - tcmalloc_internal::HugeCache::AddSpanStats
  - tcmalloc_internal::HugeCache::Find
  - tcmalloc_internal::HugeCache::Print
  - tcmalloc_internal::HugeCache::PrintInPbtxt
  - tcmalloc_internal::MinMaxTracker<kEpochs>::Report
  - tcmalloc_internal::MinMaxTracker<kEpochs>::MaxOverTime
  - tcmalloc_internal::MinMaxTracker<kEpochs>::MinOverTime
  - tcmalloc_internal::MinMaxTracker<kEpochs>::Print
  - tcmalloc_internal::MinMaxTracker<kEpochs>::PrintInPbtxt
  - MinMaxTracker<kEpochs>::Extrema::operator==(const Extrema& other) const
  - tcmalloc_internal::HugeCache::DoGet
  - tcmalloc_internal::HugeCache::MaybeGrowCacheLimit
  - tcmalloc_internal::HugeCache::IncUsage
  - tcmalloc_internal::HugeCache::DecUsage
  - tcmalloc_internal::HugeCache::UpdateSize
  - tcmalloc_internal::HugeCache::UpdateStatsTracker
  - tcmalloc_internal::HugeCache::Get
  - tcmalloc_internal::HugeCache::Release
  - tcmalloc_internal::HugeCache::ReleaseUnbacked
  - tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
  - tcmalloc_internal::HugeCache::ShrinkCache
  - tcmalloc_internal::HugeCache::ReleaseCachedPages
  - tcmalloc_internal::HugeCache::GetDesiredReleaseablePages
  - tcmalloc_internal::HugeCache::ReleaseCachedPagesByDemand
  - tcmalloc_internal::HugeCache::AddSpanStats
  - tcmalloc_internal::HugeCache::Find
  - tcmalloc_internal::HugeCache::Print
  - tcmalloc_internal::HugeCache::PrintInPbtxt
  source_file: /src/tcmalloc/tcmalloc/huge_cache.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/tcmalloc/tcmalloc/size_classes.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::central_freelist_internal::MemoryTagFromSizeClass
  - tcmalloc_internal::central_freelist_internal::AccessDensity
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::class_to_size
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::class_to_pages
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
  - tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
  - tcmalloc_internal::central_freelist_internal::MemoryTagFromSizeClass
  - tcmalloc_internal::central_freelist_internal::AccessDensity
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::class_to_size
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::class_to_pages
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
  - tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
  - tcmalloc_internal::central_freelist_internal::MemoryTagFromSizeClass
  - tcmalloc_internal::central_freelist_internal::AccessDensity
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::class_to_size
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::class_to_pages
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
  - tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
  - tcmalloc_internal::central_freelist_internal::MemoryTagFromSizeClass
  - tcmalloc_internal::central_freelist_internal::AccessDensity
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::class_to_size
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::class_to_pages
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
  - tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
  source_file: /src/tcmalloc/tcmalloc/central_freelist.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::PeakHeapTracker::PeakHeapTracker
  - tcmalloc_internal::PeakHeapTracker::CurrentPeakSize
  - tcmalloc_internal::PeakHeapTracker::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::PeakHeapTracker::PeakHeapTracker
  - tcmalloc_internal::PeakHeapTracker::CurrentPeakSize
  - tcmalloc_internal::PeakHeapTracker::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  source_file: /src/tcmalloc/tcmalloc/peak_heap_tracker.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::BM_Populate
  - tcmalloc::tcmalloc_internal::BM_MixAndReturn
  - tcmalloc::tcmalloc_internal::BM_SpanReuse
  - tcmalloc::tcmalloc_internal::BM_Populate
  - tcmalloc::tcmalloc_internal::BM_MixAndReturn
  - tcmalloc::tcmalloc_internal::BM_SpanReuse
  - tcmalloc::tcmalloc_internal::BM_Populate
  - tcmalloc::tcmalloc_internal::BM_MixAndReturn
  - tcmalloc::tcmalloc_internal::BM_SpanReuse
  - tcmalloc::tcmalloc_internal::BM_Populate
  - tcmalloc::tcmalloc_internal::BM_MixAndReturn
  - tcmalloc::tcmalloc_internal::BM_SpanReuse
  - tcmalloc::tcmalloc_internal::BM_Populate
  - tcmalloc::tcmalloc_internal::BM_MixAndReturn
  - tcmalloc::tcmalloc_internal::BM_SpanReuse
  - tcmalloc::tcmalloc_internal::BM_Populate
  - tcmalloc::tcmalloc_internal::BM_MixAndReturn
  - tcmalloc::tcmalloc_internal::BM_SpanReuse
  - tcmalloc::tcmalloc_internal::BM_Populate
  - tcmalloc::tcmalloc_internal::BM_MixAndReturn
  - tcmalloc::tcmalloc_internal::BM_SpanReuse
  - tcmalloc::tcmalloc_internal::BM_Populate
  - tcmalloc::tcmalloc_internal::BM_MixAndReturn
  - tcmalloc::tcmalloc_internal::BM_SpanReuse
  source_file: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace::tcmalloc_internal
  - DumpFragmentationProfile
  - DumpHeapProfile
  - FreeProxyObject
  - MaybeUnsampleAllocation
  source_file: /src/tcmalloc/tcmalloc/allocation_sampling.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::HasBrittleTestFailures
  - tcmalloc_internal::IsCompilerExperiment
  - tcmalloc_internal::LookupExperimentID
  - tcmalloc_internal::GetSelectedExperiments
  - tcmalloc_internal::ParseExperiments
  - tcmalloc_internal::HasBrittleTestFailures
  - tcmalloc_internal::IsCompilerExperiment
  - tcmalloc_internal::LookupExperimentID
  - tcmalloc_internal::GetSelectedExperiments
  - tcmalloc_internal::ParseExperiments
  - tcmalloc_internal::SelectExperiments
  - tcmalloc_internal::HasBrittleTestFailures
  - tcmalloc_internal::IsCompilerExperiment
  - tcmalloc_internal::LookupExperimentID
  - tcmalloc_internal::GetSelectedExperiments
  - tcmalloc_internal::ParseExperiments
  - tcmalloc_internal::HasBrittleTestFailures
  - tcmalloc_internal::IsCompilerExperiment
  - tcmalloc_internal::LookupExperimentID
  - tcmalloc_internal::GetSelectedExperiments
  - tcmalloc_internal::ParseExperiments
  - tcmalloc_internal::SelectExperiments
  - IsExperimentActive
  - FindExperimentByName
  - WalkExperiments
  - MallocExtension_Internal_GetExperiments
  source_file: /src/tcmalloc/tcmalloc/experiment.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::FuzzSizeMap
  - tcmalloc::tcmalloc_internal::FuzzSizeMap
  - tcmalloc::tcmalloc_internal::FuzzSizeMap
  - tcmalloc::tcmalloc_internal::FuzzSizeMap
  source_file: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/cpu_cache_activate_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::filler_skip_subrelease_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::filler_skip_subrelease_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::cache_demand_release_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::cache_demand_release_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::release_partial_alloc_pages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::huge_region_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::huge_cache_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::hpaa_subrelease
  - ~HugePageAwareAllocator() override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::cache
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - '& forwarder()'
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::Unback
  - ~Unback() override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::UnbackWithoutLock
  - ~UnbackWithoutLock() override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Collapse::Collapse
  - ~Collapse() override
  - operator()(Range r) override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::SetAnonVmaName::SetAnonVmaName
  - ~SetAnonVmaName() override
  - operator()(Range r, std::optional<absl::string_view> name) override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::VirtualMemoryAllocator
  - ~VirtualMemoryAllocator() override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ArenaMetadataAllocator::ArenaMetadataAllocator
  - ~ArenaMetadataAllocator() override
  - '* operator()(size_t bytes) override'
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::HugePageAwareAllocator
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
  - tcmalloc_internal::huge_page_allocator_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::NewAligned
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSmallSpanStats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetLargeSpanStats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
  - tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
  - tcmalloc_internal::huge_page_allocator_internal::BreakdownStats
  - tcmalloc_internal::huge_page_allocator_internal::BreakdownStatsInPbtxt
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndReport
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPagesBreakingHugepages
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetReleaseStats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::IsValidSizeClass
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::filler_skip_subrelease_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::filler_skip_subrelease_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::cache_demand_release_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::cache_demand_release_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::release_partial_alloc_pages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::huge_region_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::huge_cache_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::hpaa_subrelease
  - ~HugePageAwareAllocator() override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::cache
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - '& forwarder()'
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::Unback
  - ~Unback() override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::UnbackWithoutLock
  - ~UnbackWithoutLock() override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Collapse::Collapse
  - ~Collapse() override
  - operator()(Range r) override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::SetAnonVmaName::SetAnonVmaName
  - ~SetAnonVmaName() override
  - operator()(Range r, std::optional<absl::string_view> name) override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::VirtualMemoryAllocator
  - ~VirtualMemoryAllocator() override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ArenaMetadataAllocator::ArenaMetadataAllocator
  - ~ArenaMetadataAllocator() override
  - '* operator()(size_t bytes) override'
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::HugePageAwareAllocator
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
  - tcmalloc_internal::huge_page_allocator_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::NewAligned
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSmallSpanStats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetLargeSpanStats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
  - tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
  - tcmalloc_internal::huge_page_allocator_internal::BreakdownStats
  - tcmalloc_internal::huge_page_allocator_internal::BreakdownStatsInPbtxt
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndReport
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPagesBreakingHugepages
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetReleaseStats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::IsValidSizeClass
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::filler_skip_subrelease_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::filler_skip_subrelease_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::cache_demand_release_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::cache_demand_release_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::release_partial_alloc_pages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::huge_region_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::huge_cache_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::hpaa_subrelease
  - ~HugePageAwareAllocator() override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::cache
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - '& forwarder()'
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::Unback
  - ~Unback() override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::UnbackWithoutLock
  - ~UnbackWithoutLock() override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Collapse::Collapse
  - ~Collapse() override
  - operator()(Range r) override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::SetAnonVmaName::SetAnonVmaName
  - ~SetAnonVmaName() override
  - operator()(Range r, std::optional<absl::string_view> name) override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::VirtualMemoryAllocator
  - ~VirtualMemoryAllocator() override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ArenaMetadataAllocator::ArenaMetadataAllocator
  - ~ArenaMetadataAllocator() override
  - '* operator()(size_t bytes) override'
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::HugePageAwareAllocator
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
  - tcmalloc_internal::huge_page_allocator_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::NewAligned
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSmallSpanStats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetLargeSpanStats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
  - tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
  - tcmalloc_internal::huge_page_allocator_internal::BreakdownStats
  - tcmalloc_internal::huge_page_allocator_internal::BreakdownStatsInPbtxt
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndReport
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPagesBreakingHugepages
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetReleaseStats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::IsValidSizeClass
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::filler_skip_subrelease_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::filler_skip_subrelease_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::cache_demand_release_short_interval
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::cache_demand_release_long_interval
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::release_partial_alloc_pages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::huge_region_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::huge_cache_demand_based_release
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::hpaa_subrelease
  - ~HugePageAwareAllocator() override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::cache
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - '& forwarder()'
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::Unback
  - ~Unback() override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::UnbackWithoutLock
  - ~UnbackWithoutLock() override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::ABSL_NO_THREAD_SAFETY_ANALYSIS
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Collapse::Collapse
  - ~Collapse() override
  - operator()(Range r) override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::SetAnonVmaName::SetAnonVmaName
  - ~SetAnonVmaName() override
  - operator()(Range r, std::optional<absl::string_view> name) override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::VirtualMemoryAllocator
  - ~VirtualMemoryAllocator() override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ArenaMetadataAllocator::ArenaMetadataAllocator
  - ~ArenaMetadataAllocator() override
  - '* operator()(size_t bytes) override'
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::HugePageAwareAllocator
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
  - tcmalloc_internal::huge_page_allocator_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::NewAligned
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSmallSpanStats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetLargeSpanStats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
  - tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
  - tcmalloc_internal::huge_page_allocator_internal::BreakdownStats
  - tcmalloc_internal::huge_page_allocator_internal::BreakdownStatsInPbtxt
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndReport
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPagesBreakingHugepages
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetReleaseStats
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::IsValidSizeClass
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
  source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: tag
        type: MemoryTag
      - name: use_huge_region_more_often
        type: HugeRegionUsageOption
      - name: sparse_tracker_type
        type: HugePageFillerSparseTrackerType
      - name: huge_cache_time
        type: absl::Duration
      item_type: struct
      name: HugePageAwareAllocatorOptions
      pos:
        line_end: 142
        line_start: 134
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    - fields:
      - name: tag
        type: MemoryTag
      - name: use_huge_region_more_often
        type: HugeRegionUsageOption
      - name: sparse_tracker_type
        type: HugePageFillerSparseTrackerType
      - name: huge_cache_time
        type: absl::Duration
      item_type: struct
      name: HugePageAwareAllocatorOptions
      pos:
        line_end: 142
        line_start: 134
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    - fields:
      - name: tag
        type: MemoryTag
      - name: use_huge_region_more_often
        type: HugeRegionUsageOption
      - name: sparse_tracker_type
        type: HugePageFillerSparseTrackerType
      - name: huge_cache_time
        type: absl::Duration
      item_type: struct
      name: HugePageAwareAllocatorOptions
      pos:
        line_end: 142
        line_start: 134
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    - fields:
      - name: tag
        type: MemoryTag
      - name: use_huge_region_more_often
        type: HugeRegionUsageOption
      - name: sparse_tracker_type
        type: HugePageFillerSparseTrackerType
      - name: huge_cache_time
        type: absl::Duration
      item_type: struct
      name: HugePageAwareAllocatorOptions
      pos:
        line_end: 142
        line_start: 134
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    typedefs:
    - item_type: typedef
      name: FillerType
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    - item_type: typedef
      name: FillerType
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    - item_type: typedef
      name: FillerType
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    - item_type: typedef
      name: FillerType
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::HugeAllocator::Print
  - tcmalloc_internal::HugeAllocator::PrintInPbtxt
  - tcmalloc_internal::HugeAllocator::Find
  - tcmalloc_internal::HugeAllocator::CheckFreelist
  - tcmalloc_internal::HugeAllocator::AllocateRange
  - tcmalloc_internal::HugeAllocator::Get
  - tcmalloc_internal::HugeAllocator::Release
  - tcmalloc_internal::HugeAllocator::AddSpanStats
  - tcmalloc_internal::HugeAllocator::Print
  - tcmalloc_internal::HugeAllocator::PrintInPbtxt
  - tcmalloc_internal::HugeAllocator::Find
  - tcmalloc_internal::HugeAllocator::CheckFreelist
  - tcmalloc_internal::HugeAllocator::AllocateRange
  - tcmalloc_internal::HugeAllocator::Get
  - tcmalloc_internal::HugeAllocator::Release
  - tcmalloc_internal::HugeAllocator::AddSpanStats
  source_file: /src/tcmalloc/tcmalloc/huge_allocator.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TEST
  - tcmalloc::tcmalloc_internal::resize_tests::TYPED_TEST_P
  source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: kNumBaseClasses
        type: size_t
      - name: kHasExpandedClasses
        type: bool
      - name: kMaxSizeClassesToResize
        type: size_t
      - name: kNumaPartitions
        type: size_t
      - name: kExpandedClassesStart
        type: size_t
      - name: kNumClasses
        type: size_t
      item_type: struct
      name: MockTransferCacheManager
      pos:
        line_end: 699
        line_start: 686
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    - fields:
      - name: kNumBaseClasses
        type: size_t
      - name: kHasExpandedClasses
        type: bool
      - name: kMaxSizeClassesToResize
        type: size_t
      - name: kNumaPartitions
        type: size_t
      - name: kExpandedClassesStart
        type: size_t
      - name: kNumClasses
        type: size_t
      item_type: struct
      name: MockTransferCacheManager
      pos:
        line_end: 699
        line_start: 686
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    - fields:
      - name: kNumBaseClasses
        type: size_t
      - name: kHasExpandedClasses
        type: bool
      - name: kMaxSizeClassesToResize
        type: size_t
      - name: kNumaPartitions
        type: size_t
      - name: kExpandedClassesStart
        type: size_t
      - name: kNumClasses
        type: size_t
      item_type: struct
      name: MockTransferCacheManager
      pos:
        line_end: 699
        line_start: 686
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    - fields:
      - name: kNumBaseClasses
        type: size_t
      - name: kHasExpandedClasses
        type: bool
      - name: kMaxSizeClassesToResize
        type: size_t
      - name: kNumaPartitions
        type: size_t
      - name: kExpandedClassesStart
        type: size_t
      - name: kNumClasses
        type: size_t
      item_type: struct
      name: MockTransferCacheManager
      pos:
        line_end: 699
        line_start: 686
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    - fields:
      - name: kNumBaseClasses
        type: size_t
      - name: kHasExpandedClasses
        type: bool
      - name: kMaxSizeClassesToResize
        type: size_t
      - name: kNumaPartitions
        type: size_t
      - name: kExpandedClassesStart
        type: size_t
      - name: kNumClasses
        type: size_t
      item_type: struct
      name: MockTransferCacheManager
      pos:
        line_end: 699
        line_start: 686
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    - fields:
      - name: kNumBaseClasses
        type: size_t
      - name: kHasExpandedClasses
        type: bool
      - name: kMaxSizeClassesToResize
        type: size_t
      - name: kNumaPartitions
        type: size_t
      - name: kExpandedClassesStart
        type: size_t
      - name: kNumClasses
        type: size_t
      item_type: struct
      name: MockTransferCacheManager
      pos:
        line_end: 699
        line_start: 686
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    - fields:
      - name: kNumBaseClasses
        type: size_t
      - name: kHasExpandedClasses
        type: bool
      - name: kMaxSizeClassesToResize
        type: size_t
      - name: kNumaPartitions
        type: size_t
      - name: kExpandedClassesStart
        type: size_t
      - name: kNumClasses
        type: size_t
      item_type: struct
      name: MockTransferCacheManager
      pos:
        line_end: 699
        line_start: 686
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    - fields:
      - name: kNumBaseClasses
        type: size_t
      - name: kHasExpandedClasses
        type: bool
      - name: kMaxSizeClassesToResize
        type: size_t
      - name: kNumaPartitions
        type: size_t
      - name: kExpandedClassesStart
        type: size_t
      - name: kNumClasses
        type: size_t
      item_type: struct
      name: MockTransferCacheManager
      pos:
        line_end: 699
        line_start: 686
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    - fields:
      - name: kNumBaseClasses
        type: size_t
      - name: kHasExpandedClasses
        type: bool
      - name: kMaxSizeClassesToResize
        type: size_t
      - name: kNumaPartitions
        type: size_t
      - name: kExpandedClassesStart
        type: size_t
      - name: kNumClasses
        type: size_t
      item_type: struct
      name: MockTransferCacheManager
      pos:
        line_end: 699
        line_start: 686
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    - fields:
      - name: kNumBaseClasses
        type: size_t
      - name: kHasExpandedClasses
        type: bool
      - name: kMaxSizeClassesToResize
        type: size_t
      - name: kNumaPartitions
        type: size_t
      - name: kExpandedClassesStart
        type: size_t
      - name: kNumClasses
        type: size_t
      item_type: struct
      name: MockTransferCacheManager
      pos:
        line_end: 699
        line_start: 686
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    - fields:
      - name: kNumBaseClasses
        type: size_t
      - name: kHasExpandedClasses
        type: bool
      - name: kMaxSizeClassesToResize
        type: size_t
      - name: kNumaPartitions
        type: size_t
      - name: kExpandedClassesStart
        type: size_t
      - name: kNumClasses
        type: size_t
      item_type: struct
      name: MockTransferCacheManager
      pos:
        line_end: 699
        line_start: 686
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    - fields:
      - name: kNumBaseClasses
        type: size_t
      - name: kHasExpandedClasses
        type: bool
      - name: kMaxSizeClassesToResize
        type: size_t
      - name: kNumaPartitions
        type: size_t
      - name: kExpandedClassesStart
        type: size_t
      - name: kNumClasses
        type: size_t
      item_type: struct
      name: MockTransferCacheManager
      pos:
        line_end: 699
        line_start: 686
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    - fields:
      - name: kNumBaseClasses
        type: size_t
      - name: kHasExpandedClasses
        type: bool
      - name: kMaxSizeClassesToResize
        type: size_t
      - name: kNumaPartitions
        type: size_t
      - name: kExpandedClassesStart
        type: size_t
      - name: kNumClasses
        type: size_t
      item_type: struct
      name: MockTransferCacheManager
      pos:
        line_end: 699
        line_start: 686
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    - fields:
      - name: kNumBaseClasses
        type: size_t
      - name: kHasExpandedClasses
        type: bool
      - name: kMaxSizeClassesToResize
        type: size_t
      - name: kNumaPartitions
        type: size_t
      - name: kExpandedClassesStart
        type: size_t
      - name: kNumClasses
        type: size_t
      item_type: struct
      name: MockTransferCacheManager
      pos:
        line_end: 699
        line_start: 686
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    - fields:
      - name: kNumBaseClasses
        type: size_t
      - name: kHasExpandedClasses
        type: bool
      - name: kMaxSizeClassesToResize
        type: size_t
      - name: kNumaPartitions
        type: size_t
      - name: kExpandedClassesStart
        type: size_t
      - name: kNumClasses
        type: size_t
      item_type: struct
      name: MockTransferCacheManager
      pos:
        line_end: 699
        line_start: 686
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    - fields:
      - name: kNumBaseClasses
        type: size_t
      - name: kHasExpandedClasses
        type: bool
      - name: kMaxSizeClassesToResize
        type: size_t
      - name: kNumaPartitions
        type: size_t
      - name: kExpandedClassesStart
        type: size_t
      - name: kNumClasses
        type: size_t
      item_type: struct
      name: MockTransferCacheManager
      pos:
        line_end: 699
        line_start: 686
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_test.cc
    typedefs: []
    union: []
- function_names:
  - Static
  - '& central_freelist(int size_class)'
  - '& transfer_cache()'
  - '& sharded_transfer_cache()'
  - '& sizemap()'
  - '& cpu_cache()'
  - '& peak_heap_tracker()'
  - '& numa_topology()'
  - "&\n  system_allocator()"
  - '& arena()'
  - '& page_allocator()'
  - '& pagemap()'
  - '& guardedpage_allocator()'
  - "&\n  sampledallocation_allocator()"
  - '& span_allocator()'
  - '& threadcache_allocator()'
  - '& sampled_allocation_recorder()'
  - '& per_size_class_counts()'
  - "&\n  linked_sample_allocator()"
  - CpuCacheActive
  - ActivateCpuCache
  - HaveHooks
  - '& gwp_asan_state()'
  - PageAllocatorStorage
  - Static
  - Static
  - ConstantRatePageAllocatorReleaser::Release
  source_file: /src/tcmalloc/tcmalloc/static_vars.h
  types:
    enum:
    - enumerators:
      - name: kPow2Only
        value: '2'
      - name: kReuse
        value: '6'
      - name: kReuseV2
        value: '7'
      - name: kLegacy
        value: '4'
      item_type: enum
      name: SizeClassConfiguration
      pos:
        line_end: 71
        line_start: 66
        source_file: /src/tcmalloc/tcmalloc/static_vars.h
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: memory[sizeof(PageAllocator)]
        type: char
      - name: extra
        type: uintptr_t
      item_type: union
      name: PageAllocatorStorage
      pos:
        line_end: 239
        line_start: 234
        source_file: /src/tcmalloc/tcmalloc/static_vars.h
- function_names:
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::FakeStaticForwarder
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_now
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::AdvanceClock
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
  - tcmalloc::tcmalloc_internal::RawMockStaticForwarder::RawMockStaticForwarder
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::objects_per_span
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::batch_size
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::FakeCentralFreeListEnvironment
  - ~FakeCentralFreeListEnvironment()
  - '& central_freelist()'
  - '& forwarder()'
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::FakeStaticForwarder
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_now
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::AdvanceClock
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
  - tcmalloc::tcmalloc_internal::RawMockStaticForwarder::RawMockStaticForwarder
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::objects_per_span
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::batch_size
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::FakeCentralFreeListEnvironment
  - ~FakeCentralFreeListEnvironment()
  - '& central_freelist()'
  - '& forwarder()'
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::FakeStaticForwarder
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_now
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::AdvanceClock
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
  - tcmalloc::tcmalloc_internal::RawMockStaticForwarder::RawMockStaticForwarder
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::objects_per_span
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::batch_size
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::FakeCentralFreeListEnvironment
  - ~FakeCentralFreeListEnvironment()
  - '& central_freelist()'
  - '& forwarder()'
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::FakeStaticForwarder
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_now
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::AdvanceClock
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
  - tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
  - tcmalloc::tcmalloc_internal::RawMockStaticForwarder::RawMockStaticForwarder
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::objects_per_span
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::batch_size
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::FakeCentralFreeListEnvironment
  - ~FakeCentralFreeListEnvironment()
  - '& central_freelist()'
  - '& forwarder()'
  source_file: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* span'
        type: Span
      - name: span_alloc_info
        type: SpanAllocInfo
      item_type: struct
      name: SpanInfo
      pos:
        line_end: 115
        line_start: 112
        source_file: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    - fields:
      - name: '* span'
        type: Span
      - name: span_alloc_info
        type: SpanAllocInfo
      item_type: struct
      name: SpanInfo
      pos:
        line_end: 115
        line_start: 112
        source_file: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    - fields:
      - name: '* span'
        type: Span
      - name: span_alloc_info
        type: SpanAllocInfo
      item_type: struct
      name: SpanInfo
      pos:
        line_end: 115
        line_start: 112
        source_file: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    - fields:
      - name: '* span'
        type: Span
      - name: span_alloc_info
        type: SpanAllocInfo
      item_type: struct
      name: SpanInfo
      pos:
        line_end: 115
        line_start: 112
        source_file: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::StaticForwarder::class_to_size
  - tcmalloc_internal::StaticForwarder::num_objects_to_move
  - tcmalloc_internal::StaticForwarder::Alloc
  - tcmalloc_internal::BackingTransferCache::InsertRange
  - tcmalloc_internal::BackingTransferCache::RemoveRange
  - tcmalloc_internal::StaticForwarder::class_to_size
  - tcmalloc_internal::StaticForwarder::num_objects_to_move
  - tcmalloc_internal::StaticForwarder::Alloc
  - tcmalloc_internal::BackingTransferCache::InsertRange
  - tcmalloc_internal::BackingTransferCache::RemoveRange
  source_file: /src/tcmalloc/tcmalloc/transfer_cache.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::Parameters::background_release_rate
  - tcmalloc_internal::Parameters::set_background_release_rate
  - tcmalloc_internal::Parameters::guarded_sampling_interval
  - tcmalloc_internal::Parameters::set_guarded_sampling_interval
  - tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
  - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
  - tcmalloc_internal::Parameters::min_hot_access_hint
  - tcmalloc_internal::Parameters::set_min_hot_access_hint
  - tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
  - tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
  - tcmalloc_internal::Parameters::set_peak_sampling_heap_growth_fraction
  - tcmalloc_internal::Parameters::release_partial_alloc_pages
  - tcmalloc_internal::Parameters::huge_region_demand_based_release
  - tcmalloc_internal::Parameters::huge_cache_demand_based_release
  - tcmalloc_internal::Parameters::set_huge_cache_demand_based_release
  - tcmalloc_internal::Parameters::release_pages_from_huge_region
  - tcmalloc_internal::Parameters::resize_size_class_max_capacity
  - tcmalloc_internal::Parameters::per_cpu_caches
  - tcmalloc_internal::Parameters::set_per_cpu_caches
  - tcmalloc_internal::Parameters::profile_sampling_interval
  - tcmalloc_internal::Parameters::set_profile_sampling_interval
  - tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
  - tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
  - tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
  - tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
  - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
  - tcmalloc_internal::Parameters::set_per_cpu_caches_dynamic_slab_enabled
  - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
  - tcmalloc_internal::Parameters::set_per_cpu_caches_dynamic_slab_grow_threshold
  - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
  - tcmalloc_internal::Parameters::set_per_cpu_caches_dynamic_slab_shrink_threshold
  - tcmalloc_internal::Parameters::background_release_rate
  - tcmalloc_internal::Parameters::set_background_release_rate
  - tcmalloc_internal::Parameters::guarded_sampling_interval
  - tcmalloc_internal::Parameters::set_guarded_sampling_interval
  - tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
  - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
  - tcmalloc_internal::Parameters::min_hot_access_hint
  - tcmalloc_internal::Parameters::set_min_hot_access_hint
  - tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
  - tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
  - tcmalloc_internal::Parameters::set_peak_sampling_heap_growth_fraction
  - tcmalloc_internal::Parameters::release_partial_alloc_pages
  - tcmalloc_internal::Parameters::huge_region_demand_based_release
  - tcmalloc_internal::Parameters::huge_cache_demand_based_release
  - tcmalloc_internal::Parameters::set_huge_cache_demand_based_release
  - tcmalloc_internal::Parameters::release_pages_from_huge_region
  - tcmalloc_internal::Parameters::resize_size_class_max_capacity
  - tcmalloc_internal::Parameters::per_cpu_caches
  - tcmalloc_internal::Parameters::set_per_cpu_caches
  - tcmalloc_internal::Parameters::profile_sampling_interval
  - tcmalloc_internal::Parameters::set_profile_sampling_interval
  - tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
  - tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
  - tcmalloc_internal::Parameters::set_cache_demand_release_short_interval
  - tcmalloc_internal::Parameters::set_cache_demand_release_long_interval
  - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
  - tcmalloc_internal::Parameters::set_per_cpu_caches_dynamic_slab_enabled
  - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
  - tcmalloc_internal::Parameters::set_per_cpu_caches_dynamic_slab_grow_threshold
  - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
  - tcmalloc_internal::Parameters::set_per_cpu_caches_dynamic_slab_shrink_threshold
  source_file: /src/tcmalloc/tcmalloc/parameters.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::BytesToMiB
  - tcmalloc_internal::PrintRightAdjustedWithPrefix
  - tcmalloc_internal::PrintStats
  - tcmalloc_internal::PageHeapEntry::PrintInPbtxt
  - tcmalloc_internal::PrintStatsInPbtxt
  - tcmalloc_internal::PageAllocInfo::Print
  - tcmalloc_internal::PageAllocInfo::PrintInPbtxt
  - tcmalloc_internal::RoundUp
  - tcmalloc_internal::PageAllocInfo::RecordAlloc
  - tcmalloc_internal::PageAllocInfo::RecordFree
  - tcmalloc_internal::PageAllocInfo::RecordRelease
  - tcmalloc_internal::PageAllocInfo::GetRecordedReleases
  - '& PageAllocInfo::counts_for(Length n) const'
  - tcmalloc_internal::PageAllocInfo::PageAllocInfo
  - tcmalloc_internal::PageAllocInfo::TimeTicks
  - tcmalloc_internal::BytesToMiB
  - tcmalloc_internal::PrintRightAdjustedWithPrefix
  - tcmalloc_internal::PrintStats
  - tcmalloc_internal::PageHeapEntry::PrintInPbtxt
  - tcmalloc_internal::PrintStatsInPbtxt
  - tcmalloc_internal::PageAllocInfo::Print
  - tcmalloc_internal::PageAllocInfo::PrintInPbtxt
  - tcmalloc_internal::RoundUp
  - tcmalloc_internal::PageAllocInfo::RecordAlloc
  - tcmalloc_internal::PageAllocInfo::RecordFree
  - tcmalloc_internal::PageAllocInfo::RecordRelease
  - tcmalloc_internal::PageAllocInfo::GetRecordedReleases
  - '& PageAllocInfo::counts_for(Length n) const'
  - tcmalloc_internal::PageAllocInfo::PageAllocInfo
  - tcmalloc_internal::PageAllocInfo::TimeTicks
  source_file: /src/tcmalloc/tcmalloc/stats.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: span_size
        type: int64_t
      - name: present
        type: int64_t
      - name: released
        type: int64_t
      - name: num_spans
        type: int64_t
      - name: "PrintInPbtxt(PbtxtRegion& parent,\n                    absl::string_view
          sub_region_name) const"
        type: void
      item_type: struct
      name: PageHeapEntry
      pos:
        line_end: 113
        line_start: 105
        source_file: /src/tcmalloc/tcmalloc/stats.cc
    - fields:
      - name: span_size
        type: int64_t
      - name: present
        type: int64_t
      - name: released
        type: int64_t
      - name: num_spans
        type: int64_t
      - name: "PrintInPbtxt(PbtxtRegion& parent,\n                    absl::string_view
          sub_region_name) const"
        type: void
      item_type: struct
      name: PageHeapEntry
      pos:
        line_end: 113
        line_start: 105
        source_file: /src/tcmalloc/tcmalloc/stats.cc
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::PeakHeapTracker::IsNewPeak
  - tcmalloc_internal::PeakHeapTracker::MaybeSaveSample
  - tcmalloc_internal::PeakHeapTracker::DumpSample
  - tcmalloc_internal::PeakHeapTracker::IsNewPeak
  - tcmalloc_internal::PeakHeapTracker::MaybeSaveSample
  - tcmalloc_internal::PeakHeapTracker::DumpSample
  source_file: /src/tcmalloc/tcmalloc/peak_heap_tracker.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::RawSpan::Init
  - ~RawSpan()
  - '& span()'
  - tcmalloc_internal::BM_single_span
  - tcmalloc_internal::BM_single_span_fulldrain
  - tcmalloc_internal::BM_NewDelete
  - tcmalloc_internal::BM_multiple_spans
  - tcmalloc_internal::RawSpan::Init
  - ~RawSpan()
  - '& span()'
  - tcmalloc_internal::BM_single_span
  - tcmalloc_internal::BM_single_span_fulldrain
  - tcmalloc_internal::BM_NewDelete
  - tcmalloc_internal::BM_multiple_spans
  - tcmalloc_internal::RawSpan::Init
  - ~RawSpan()
  - '& span()'
  - tcmalloc_internal::BM_single_span
  - tcmalloc_internal::BM_single_span_fulldrain
  - tcmalloc_internal::BM_NewDelete
  - tcmalloc_internal::BM_multiple_spans
  - tcmalloc_internal::RawSpan::Init
  - ~RawSpan()
  - '& span()'
  - tcmalloc_internal::BM_single_span
  - tcmalloc_internal::BM_single_span_fulldrain
  - tcmalloc_internal::BM_NewDelete
  - tcmalloc_internal::BM_multiple_spans
  source_file: /src/tcmalloc/tcmalloc/span_benchmark.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/sizemap_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::GetGpaPageSize
  - tcmalloc_internal::GetStackTrace
  - tcmalloc_internal::GetGuardedPageAllocator
  - tcmalloc_internal::BM_AllocDealloc
  - tcmalloc_internal::GetReserved
  - tcmalloc_internal::ReservePool
  - tcmalloc_internal::ReleasePool
  - tcmalloc_internal::BM_TrySample
  - tcmalloc_internal::GetGpaPageSize
  - tcmalloc_internal::GetStackTrace
  - tcmalloc_internal::GetGuardedPageAllocator
  - tcmalloc_internal::BM_AllocDealloc
  - tcmalloc_internal::GetReserved
  - tcmalloc_internal::ReservePool
  - tcmalloc_internal::ReleasePool
  - tcmalloc_internal::BM_TrySample
  - tcmalloc_internal::GetGpaPageSize
  - tcmalloc_internal::GetStackTrace
  - tcmalloc_internal::GetGuardedPageAllocator
  - tcmalloc_internal::BM_AllocDealloc
  - tcmalloc_internal::GetReserved
  - tcmalloc_internal::ReservePool
  - tcmalloc_internal::ReleasePool
  - tcmalloc_internal::BM_TrySample
  - tcmalloc_internal::GetGpaPageSize
  - tcmalloc_internal::GetStackTrace
  - tcmalloc_internal::GetGuardedPageAllocator
  - tcmalloc_internal::BM_AllocDealloc
  - tcmalloc_internal::GetReserved
  - tcmalloc_internal::ReservePool
  - tcmalloc_internal::ReleasePool
  - tcmalloc_internal::BM_TrySample
  source_file: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::MadviseString
  - tcmalloc_internal::ExtractStats
  - tcmalloc_internal::ExtractTCMallocStats
  - tcmalloc_internal::StatSub
  - tcmalloc_internal::InUseByApp
  - tcmalloc_internal::VirtualMemoryUsed
  - tcmalloc_internal::UnmappedBytes
  - tcmalloc_internal::PhysicalMemoryUsed
  - tcmalloc_internal::RequiredBytes
  - tcmalloc_internal::ExternalBytes
  - tcmalloc_internal::HeapSizeBytes
  - tcmalloc_internal::LocalBytes
  - tcmalloc_internal::SlackBytes
  - tcmalloc_internal::PrintHooksState
  - tcmalloc_internal::CountAllowedCpus
  - tcmalloc_internal::SizeClassConfigurationString
  - tcmalloc_internal::PerCpuTypeString
  - tcmalloc_internal::DumpStats
  - tcmalloc_internal::DumpStatsInPbtxt
  - tcmalloc_internal::GetNumericProperty
  - tcmalloc_internal::MadviseString
  - tcmalloc_internal::ExtractStats
  - tcmalloc_internal::ExtractTCMallocStats
  - tcmalloc_internal::StatSub
  - tcmalloc_internal::InUseByApp
  - tcmalloc_internal::VirtualMemoryUsed
  - tcmalloc_internal::UnmappedBytes
  - tcmalloc_internal::PhysicalMemoryUsed
  - tcmalloc_internal::RequiredBytes
  - tcmalloc_internal::ExternalBytes
  - tcmalloc_internal::HeapSizeBytes
  - tcmalloc_internal::LocalBytes
  - tcmalloc_internal::SlackBytes
  - tcmalloc_internal::PrintHooksState
  - tcmalloc_internal::CountAllowedCpus
  - tcmalloc_internal::SizeClassConfigurationString
  - tcmalloc_internal::PerCpuTypeString
  - tcmalloc_internal::DumpStats
  - tcmalloc_internal::DumpStatsInPbtxt
  - tcmalloc_internal::GetNumericProperty
  source_file: /src/tcmalloc/tcmalloc/global_stats.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::WriteFlagToString
  - tcmalloc_internal::Aarch64GetESR
  - tcmalloc_internal::ExtractWriteFlagFromContext
  - tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
  - tcmalloc_internal::RefineErrorTypeBasedOnContext
  - tcmalloc_internal::SelsanTrapHandler
  - tcmalloc_internal::SegvHandler
  - tcmalloc_internal::ForwardSignal
  - tcmalloc_internal::HandleSegvAndForward
  - tcmalloc_internal::MallocExtension_Internal_ActivateGuardedSampling
  - tcmalloc_internal::WriteFlagToString
  - tcmalloc_internal::Aarch64GetESR
  - tcmalloc_internal::ExtractWriteFlagFromContext
  - tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
  - tcmalloc_internal::RefineErrorTypeBasedOnContext
  - tcmalloc_internal::SelsanTrapHandler
  - tcmalloc_internal::SegvHandler
  - tcmalloc_internal::ForwardSignal
  - tcmalloc_internal::HandleSegvAndForward
  - tcmalloc_internal::MallocExtension_Internal_ActivateGuardedSampling
  source_file: /src/tcmalloc/tcmalloc/segv_handler.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: head
        type: struct _aarch64_ctx
      - name: esr
        type: uint64_t
      item_type: struct
      name: __esr_context
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/segv_handler.cc
    - fields:
      - name: head
        type: struct _aarch64_ctx
      - name: esr
        type: uint64_t
      item_type: struct
      name: __esr_context
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/segv_handler.cc
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::Sampler::HotDataOffset
  - tcmalloc_internal::Sampler::Sampler
  - tcmalloc_internal::Sampler::RecordAllocation
  - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::TryRecordAllocationFast
  - tcmalloc_internal::Sampler::RecordedAllocationFast
  - tcmalloc_internal::Sampler::WillRecordAllocation
  - tcmalloc_internal::Sampler::HotDataOffset
  - tcmalloc_internal::Sampler::Sampler
  - tcmalloc_internal::Sampler::RecordAllocation
  - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::TryRecordAllocationFast
  - tcmalloc_internal::Sampler::RecordedAllocationFast
  - tcmalloc_internal::Sampler::WillRecordAllocation
  source_file: /src/tcmalloc/tcmalloc/sampler.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SLOW_PATH_BARRIER
  - namespace
  - tcmalloc_internal::MallocExtension_Internal_GetStatsInPbtxt
  - tcmalloc_internal::PrintStats
  - tcmalloc_internal::MallocExtension_Internal_GetStats
  - tcmalloc_internal::TCMalloc_Internal_GetStats
  - tcmalloc_internal::MallocExtension_Internal_SnapshotCurrent
  - tcmalloc_internal::MallocExtension_Internal_StartAllocationProfiling
  - tcmalloc_internal::MallocExtension_Internal_StartLifetimeProfiling
  - tcmalloc_internal::GetOwnership
  - tcmalloc_internal::MallocExtension_Internal_GetNumericProperty
  - tcmalloc_internal::MallocExtension_Internal_GetMemoryLimit
  - tcmalloc_internal::MallocExtension_Internal_SetMemoryLimit
  - tcmalloc_internal::MallocExtension_Internal_MarkThreadIdle
  - tcmalloc_internal::MallocExtension_Internal_GetRegionFactory
  - tcmalloc_internal::MallocExtension_Internal_SetRegionFactory
  - tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
  - tcmalloc_internal::nallocx_slow
  - tcmalloc_internal::nallocx
  - tcmalloc_internal::MallocExtension_Internal_GetEstimatedAllocatedSize
  - tcmalloc_internal::MallocExtension_Internal_GetOwnership
  - tcmalloc_internal::MallocExtension_Internal_GetProperties
  - tcmalloc_internal::MallocExtension_Internal_ReleaseCpuMemory
  - tcmalloc_internal::GetLargeSizeAndSampled
  - tcmalloc_internal::GetLargeSize
  - tcmalloc_internal::GetLargeSizeAndSampled
  - tcmalloc_internal::GetSizeAndSampled
  - tcmalloc_internal::GetSize
  - tcmalloc_internal::FreeWithHooksOrPerThread
  - tcmalloc_internal::FreeSmallSlow
  - tcmalloc_internal::FreeSmall
  - tcmalloc_internal::selsan::HeapObjectInfo
  - tcmalloc_internal::selsan::HeapObjectInfo
  - tcmalloc_internal::do_malloc_pages
  - tcmalloc_internal::InvokeHooksAndFreePages
  - tcmalloc_internal::do_free
  - tcmalloc_internal::free_non_normal
  - tcmalloc_internal::do_free_with_size
  - tcmalloc_internal::CorrectSize
  - tcmalloc_internal::CorrectAlignment
  - tcmalloc_internal::do_malloc_stats
  - tcmalloc_internal::do_malloc_trim
  - tcmalloc_internal::do_mallopt
  - tcmalloc_internal::do_mallinfo
  - tcmalloc_internal::do_mallinfo2
  - tcmalloc_internal::do_malloc_pages
  - tcmalloc_internal::InvokeHooksAndFreePages
  - tcmalloc_internal::do_free
  - tcmalloc_internal::free_non_normal
  - tcmalloc_internal::do_free_with_size
  - tcmalloc_internal::CorrectSize
  - tcmalloc_internal::CorrectAlignment
  - tcmalloc_internal::do_malloc_stats
  - tcmalloc_internal::do_malloc_trim
  - tcmalloc_internal::do_mallopt
  - tcmalloc_internal::do_mallinfo
  - tcmalloc_internal::do_mallinfo2
  - tcmalloc_internal::MallocExtension_Internal_GetStatsInPbtxt
  - tcmalloc_internal::PrintStats
  - tcmalloc_internal::MallocExtension_Internal_GetStats
  - tcmalloc_internal::TCMalloc_Internal_GetStats
  - tcmalloc_internal::MallocExtension_Internal_SnapshotCurrent
  - tcmalloc_internal::MallocExtension_Internal_StartAllocationProfiling
  - tcmalloc_internal::MallocExtension_Internal_StartLifetimeProfiling
  - tcmalloc_internal::GetOwnership
  - tcmalloc_internal::MallocExtension_Internal_GetNumericProperty
  - tcmalloc_internal::MallocExtension_Internal_GetMemoryLimit
  - tcmalloc_internal::MallocExtension_Internal_SetMemoryLimit
  - tcmalloc_internal::MallocExtension_Internal_MarkThreadIdle
  - tcmalloc_internal::MallocExtension_Internal_GetRegionFactory
  - tcmalloc_internal::MallocExtension_Internal_SetRegionFactory
  - tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
  - tcmalloc_internal::nallocx_slow
  - tcmalloc_internal::nallocx
  - tcmalloc_internal::MallocExtension_Internal_GetEstimatedAllocatedSize
  - tcmalloc_internal::MallocExtension_Internal_GetOwnership
  - tcmalloc_internal::MallocExtension_Internal_GetProperties
  - tcmalloc_internal::MallocExtension_Internal_ReleaseCpuMemory
  - tcmalloc_internal::GetLargeSizeAndSampled
  - tcmalloc_internal::GetLargeSize
  - tcmalloc_internal::GetLargeSizeAndSampled
  - tcmalloc_internal::GetSizeAndSampled
  - tcmalloc_internal::GetSize
  - tcmalloc_internal::FreeWithHooksOrPerThread
  - tcmalloc_internal::FreeSmallSlow
  - tcmalloc_internal::FreeSmall
  - tcmalloc_internal::selsan::HeapObjectInfo
  - tcmalloc_internal::selsan::HeapObjectInfo
  - tcmalloc_internal::do_malloc_pages
  - tcmalloc_internal::InvokeHooksAndFreePages
  - tcmalloc_internal::do_free
  - tcmalloc_internal::free_non_normal
  - tcmalloc_internal::do_free_with_size
  - tcmalloc_internal::CorrectSize
  - tcmalloc_internal::CorrectAlignment
  - tcmalloc_internal::do_malloc_stats
  - tcmalloc_internal::do_malloc_trim
  - tcmalloc_internal::do_mallopt
  - tcmalloc_internal::do_mallinfo
  - tcmalloc_internal::do_mallinfo2
  - tcmalloc_internal::do_malloc_pages
  - tcmalloc_internal::InvokeHooksAndFreePages
  - tcmalloc_internal::do_free
  - tcmalloc_internal::free_non_normal
  - tcmalloc_internal::do_free_with_size
  - tcmalloc_internal::CorrectSize
  - tcmalloc_internal::CorrectAlignment
  - tcmalloc_internal::do_malloc_stats
  - tcmalloc_internal::do_malloc_trim
  - tcmalloc_internal::do_mallopt
  - tcmalloc_internal::do_mallinfo
  - tcmalloc_internal::do_mallinfo2
  - "typename Policy::pointer_type\nalloc_small_sampled_hooks_or_perthread(size_t
    size, size_t size_class,\n                                       Policy policy,
    size_t weight)"
  - 'typename Policy::pointer_type

    slow_alloc_small(size_t size, uint32_t size_class, Policy policy)'
  - "typename Policy::pointer_type slow_alloc_large(\n    size_t size, Policy policy)"
  - tcmalloc::tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::fast_alloc
  - "typename Policy::pointer_type\nalloc_small_sampled_hooks_or_perthread(size_t
    size, size_t size_class,\n                                       Policy policy,
    size_t weight)"
  - 'typename Policy::pointer_type

    slow_alloc_small(size_t size, uint32_t size_class, Policy policy)'
  - "typename Policy::pointer_type slow_alloc_large(\n    size_t size, Policy policy)"
  - tcmalloc::tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::fast_alloc
  - "typename Policy::pointer_type\nalloc_small_sampled_hooks_or_perthread(size_t
    size, size_t size_class,\n                                       Policy policy,
    size_t weight)"
  - 'typename Policy::pointer_type

    slow_alloc_small(size_t size, uint32_t size_class, Policy policy)'
  - "typename Policy::pointer_type slow_alloc_large(\n    size_t size, Policy policy)"
  - tcmalloc::tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::fast_alloc
  - "typename Policy::pointer_type\nalloc_small_sampled_hooks_or_perthread(size_t
    size, size_t size_class,\n                                       Policy policy,
    size_t weight)"
  - 'typename Policy::pointer_type

    slow_alloc_small(size_t size, uint32_t size_class, Policy policy)'
  - "typename Policy::pointer_type slow_alloc_large(\n    size_t size, Policy policy)"
  - tcmalloc::tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::fast_alloc
  - MallocHook_HooksChanged
  - MallocExtension_Internal_GetAllocatedSize
  - MallocExtension_Internal_MarkThreadBusy
  - MallocTracingExtension_Internal_GetAllocatedAddressRanges
  - TCMalloc_Internal_GetMadvise
  - TCMalloc_Internal_SetMadvise
  - TCMALLOC_ALIAS
  - TCMallocInternalMalloc
  - TCMallocInternalNew
  - TCMallocInternalNewNothrow
  - __sized_ptr_t::TCMallocInternalSizeReturningNew
  - __sized_ptr_t::TCMallocInternalSizeReturningNewAligned
  - __size_returning_new_hot_cold
  - __size_returning_new_aligned_hot_cold
  - TCMallocInternalMemalign
  - TCMallocInternalNewAligned
  - TCMallocInternalNewAlignedNothrow
  - TCMallocInternalCalloc
  - do_realloc
  - TCMallocInternalRealloc
  - TCMallocInternalReallocArray
  - tcmalloc_size_returning_operator_new_nothrow
  - tcmalloc_size_returning_operator_new_aligned_nothrow
  - tcmalloc_size_returning_operator_new_hot_cold_nothrow
  - tcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow
  - TCMallocInternalFree
  - TCMallocInternalFreeSized
  - TCMallocInternalFreeAlignedSized
  - TCMallocInternalSdallocx
  - TCMallocInternalDelete
  - TCMallocInternalDeleteSized
  - TCMallocInternalDeleteSizedAligned
  - TCMallocInternalAlignedAlloc
  - TCMallocInternalPosixMemalign
  - TCMallocInternalValloc
  - TCMallocInternalPvalloc
  - TCMallocInternalMallocStats
  - TCMallocInternalMallocTrim
  - TCMallocInternalMallOpt
  - TCMallocInternalMallInfo
  - TCMallocInternalMallInfo2
  - TCMallocInternalMallocInfo
  - TCMallocInternalMallocSize
  - alloc_result_t::TCMallocInternalAllocAtLeast
  - alloc_result_t::TCMallocInternalAlignedAllocAtLeast
  - namespace
  - tcmalloc_internal::TCMallocGuard::TCMallocGuard
  - tcmalloc_internal::TCMallocGuard::TCMallocGuard
  - tcmalloc_internal::TCMallocGuard::TCMallocGuard
  - tcmalloc_internal::TCMallocGuard::TCMallocGuard
  - "* operator new(\n    size_t size, __hot_cold_t hot_cold) noexcept(false)"
  - "* operator new(size_t size, const std::nothrow_t&,\n                                          __hot_cold_t
    hot_cold) noexcept"
  - "* operator new(\n    size_t size, std::align_val_t align,\n    __hot_cold_t hot_cold)
    noexcept(false)"
  - "* operator new(size_t size, std::align_val_t align,\n                                          const
    std::nothrow_t&,\n                                          __hot_cold_t hot_cold)
    noexcept"
  - "* operator new[](\n    size_t size, __hot_cold_t hot_cold) noexcept(false)"
  - "* operator new[](size_t size, const std::nothrow_t&,\n                                            __hot_cold_t
    hot_cold) noexcept"
  - "* operator new[](\n    size_t size, std::align_val_t align,\n    __hot_cold_t
    hot_cold) noexcept(false)"
  - "* operator new[](size_t size, std::align_val_t align,\n                                            const
    std::nothrow_t&,\n                                            __hot_cold_t hot_cold)
    noexcept"
  source_file: /src/tcmalloc/tcmalloc/tcmalloc.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: size
        type: size_t
      - name: sampled
        type: bool
      item_type: struct
      name: SizeAndSampled
      pos:
        line_end: 511
        line_start: 508
        source_file: /src/tcmalloc/tcmalloc/tcmalloc.cc
    - fields:
      - name: size
        type: size_t
      - name: sampled
        type: bool
      item_type: struct
      name: SizeAndSampled
      pos:
        line_end: 511
        line_start: 508
        source_file: /src/tcmalloc/tcmalloc/tcmalloc.cc
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::HugeCacheTest::FakeClock
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeCacheTest::HugeCacheTest
  - tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetCacheTime
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
  - tcmalloc::tcmalloc_internal::HugeCacheTest::Release
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Stat
  - tcmalloc::tcmalloc_internal::Frac
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugeCacheTest::FakeClock
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeCacheTest::HugeCacheTest
  - tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetCacheTime
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
  - tcmalloc::tcmalloc_internal::HugeCacheTest::Release
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Stat
  - tcmalloc::tcmalloc_internal::Frac
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugeCacheTest::FakeClock
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeCacheTest::HugeCacheTest
  - tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetCacheTime
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
  - tcmalloc::tcmalloc_internal::HugeCacheTest::Release
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Stat
  - tcmalloc::tcmalloc_internal::Frac
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugeCacheTest::FakeClock
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeCacheTest::HugeCacheTest
  - tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetCacheTime
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
  - tcmalloc::tcmalloc_internal::HugeCacheTest::Release
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Stat
  - tcmalloc::tcmalloc_internal::Frac
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugeCacheTest::FakeClock
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeCacheTest::HugeCacheTest
  - tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetCacheTime
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
  - tcmalloc::tcmalloc_internal::HugeCacheTest::Release
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Stat
  - tcmalloc::tcmalloc_internal::Frac
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugeCacheTest::FakeClock
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeCacheTest::HugeCacheTest
  - tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetCacheTime
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
  - tcmalloc::tcmalloc_internal::HugeCacheTest::Release
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Stat
  - tcmalloc::tcmalloc_internal::Frac
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugeCacheTest::FakeClock
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeCacheTest::HugeCacheTest
  - tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetCacheTime
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
  - tcmalloc::tcmalloc_internal::HugeCacheTest::Release
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Stat
  - tcmalloc::tcmalloc_internal::Frac
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugeCacheTest::FakeClock
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
  - operator()(Range r) override
  - tcmalloc::tcmalloc_internal::HugeCacheTest::HugeCacheTest
  - tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetCacheTime
  - tcmalloc::tcmalloc_internal::HugeCacheTest::GetDemandBasedRelease
  - tcmalloc::tcmalloc_internal::HugeCacheTest::Release
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Stat
  - tcmalloc::tcmalloc_internal::Frac
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::TEST_F
  source_file: /src/tcmalloc/tcmalloc/huge_cache_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 239
        line_start: 229
        source_file: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 239
        line_start: 229
        source_file: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 239
        line_start: 229
        source_file: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 239
        line_start: 229
        source_file: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 239
        line_start: 229
        source_file: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 239
        line_start: 229
        source_file: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 239
        line_start: 229
        source_file: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 239
        line_start: 229
        source_file: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::start_addr
  - tcmalloc_internal::first_page
  - tcmalloc_internal::index
  - tcmalloc_internal::AbslHashValue
  - tcmalloc_internal::AbslStringify
  - tcmalloc_internal::HugeLength
  - tcmalloc_internal::HugeLength
  - tcmalloc_internal::raw_num
  - tcmalloc_internal::in_bytes
  - tcmalloc_internal::in_mib
  - tcmalloc_internal::in_pages
  - tcmalloc_internal::min
  - tcmalloc_internal::max
  - tcmalloc_internal::AbslStringify
  - tcmalloc_internal::HugeLength
  - tcmalloc_internal::NHugePages
  - tcmalloc_internal::HLFromBytes
  - tcmalloc_internal::HLFromPages
  - '& operator++(HugeLength& len)'
  - '& operator++(HugePage& p)'
  - '& operator--(HugeLength& len)'
  - operator<(HugeLength lhs, HugeLength rhs)
  - operator>(HugeLength lhs, HugeLength rhs)
  - operator<=(HugeLength lhs, HugeLength rhs)
  - operator<(HugePage lhs, HugePage rhs)
  - operator>(HugePage lhs, HugePage rhs)
  - operator>=(HugeLength lhs, HugeLength rhs)
  - operator<=(HugePage lhs, HugePage rhs)
  - operator>=(HugePage lhs, HugePage rhs)
  - operator==(HugePage lhs, HugePage rhs)
  - operator!=(HugePage lhs, HugePage rhs)
  - operator==(HugeLength lhs, HugeLength rhs)
  - operator!=(HugeLength lhs, HugeLength rhs)
  - operator/(HugeLength lhs, HugeLength rhs)
  - operator*(HugeLength lhs, size_t rhs)
  - operator/(HugeLength lhs, size_t rhs)
  - '& operator*=(HugeLength& lhs, size_t rhs)'
  - operator%(HugeLength lhs, HugeLength rhs)
  - operator+(HugePage lhs, HugeLength rhs)
  - operator+(HugeLength lhs, HugePage rhs)
  - operator-(HugePage lhs, HugeLength rhs)
  - operator-(HugePage lhs, HugePage rhs)
  - '& operator+=(HugePage& lhs, HugeLength rhs)'
  - operator+(HugeLength lhs, HugeLength rhs)
  - '& operator+=(HugeLength& lhs, HugeLength rhs)'
  - operator-(HugeLength lhs, HugeLength rhs)
  - '& operator-=(HugeLength& lhs, HugeLength rhs)'
  - tcmalloc_internal::HugeLength::overflows
  - tcmalloc_internal::PrintTo
  - tcmalloc_internal::HugePageContaining
  - tcmalloc_internal::HugePageContaining
  - tcmalloc_internal::HugeRange
  - tcmalloc_internal::HugeRange
  - tcmalloc_internal::HugeRange
  - '& operator=(const HugeRange&)'
  - tcmalloc_internal::HugeRange
  - '& operator=(HugeRange&&)'
  - tcmalloc_internal::start_addr
  - tcmalloc_internal::end_addr
  - tcmalloc_internal::byte_len
  - tcmalloc_internal::valid
  - tcmalloc_internal::start
  - tcmalloc_internal::len
  - operator[](HugeLength i) const
  - tcmalloc_internal::AbslHashValue
  - tcmalloc_internal::contains
  - tcmalloc_internal::contains
  - tcmalloc_internal::contains
  - tcmalloc_internal::intersects
  - tcmalloc_internal::precedes
  - tcmalloc_internal::Nil
  - tcmalloc_internal::Make
  - operator==(HugeRange lhs, HugeRange rhs)
  - tcmalloc_internal::Join
  - tcmalloc_internal::Split
  - tcmalloc_internal::start_addr
  - tcmalloc_internal::first_page
  - tcmalloc_internal::index
  - tcmalloc_internal::AbslHashValue
  - tcmalloc_internal::AbslStringify
  - tcmalloc_internal::HugeLength
  - tcmalloc_internal::HugeLength
  - tcmalloc_internal::raw_num
  - tcmalloc_internal::in_bytes
  - tcmalloc_internal::in_mib
  - tcmalloc_internal::in_pages
  - tcmalloc_internal::min
  - tcmalloc_internal::max
  - tcmalloc_internal::AbslStringify
  - tcmalloc_internal::HugeLength
  - tcmalloc_internal::NHugePages
  - tcmalloc_internal::HLFromBytes
  - tcmalloc_internal::HLFromPages
  - '& operator++(HugeLength& len)'
  - '& operator++(HugePage& p)'
  - '& operator--(HugeLength& len)'
  - operator<(HugeLength lhs, HugeLength rhs)
  - operator>(HugeLength lhs, HugeLength rhs)
  - operator<=(HugeLength lhs, HugeLength rhs)
  - operator<(HugePage lhs, HugePage rhs)
  - operator>(HugePage lhs, HugePage rhs)
  - operator>=(HugeLength lhs, HugeLength rhs)
  - operator<=(HugePage lhs, HugePage rhs)
  - operator>=(HugePage lhs, HugePage rhs)
  - operator==(HugePage lhs, HugePage rhs)
  - operator!=(HugePage lhs, HugePage rhs)
  - operator==(HugeLength lhs, HugeLength rhs)
  - operator!=(HugeLength lhs, HugeLength rhs)
  - operator/(HugeLength lhs, HugeLength rhs)
  - operator*(HugeLength lhs, size_t rhs)
  - operator/(HugeLength lhs, size_t rhs)
  - '& operator*=(HugeLength& lhs, size_t rhs)'
  - operator%(HugeLength lhs, HugeLength rhs)
  - operator+(HugePage lhs, HugeLength rhs)
  - operator+(HugeLength lhs, HugePage rhs)
  - operator-(HugePage lhs, HugeLength rhs)
  - operator-(HugePage lhs, HugePage rhs)
  - '& operator+=(HugePage& lhs, HugeLength rhs)'
  - operator+(HugeLength lhs, HugeLength rhs)
  - '& operator+=(HugeLength& lhs, HugeLength rhs)'
  - operator-(HugeLength lhs, HugeLength rhs)
  - '& operator-=(HugeLength& lhs, HugeLength rhs)'
  - tcmalloc_internal::HugeLength::overflows
  - tcmalloc_internal::PrintTo
  - tcmalloc_internal::HugePageContaining
  - tcmalloc_internal::HugePageContaining
  - tcmalloc_internal::HugeRange
  - tcmalloc_internal::HugeRange
  - tcmalloc_internal::HugeRange
  - '& operator=(const HugeRange&)'
  - tcmalloc_internal::HugeRange
  - '& operator=(HugeRange&&)'
  - tcmalloc_internal::start_addr
  - tcmalloc_internal::end_addr
  - tcmalloc_internal::byte_len
  - tcmalloc_internal::valid
  - tcmalloc_internal::start
  - tcmalloc_internal::len
  - operator[](HugeLength i) const
  - tcmalloc_internal::AbslHashValue
  - tcmalloc_internal::contains
  - tcmalloc_internal::contains
  - tcmalloc_internal::contains
  - tcmalloc_internal::intersects
  - tcmalloc_internal::precedes
  - tcmalloc_internal::Nil
  - tcmalloc_internal::Make
  - operator==(HugeRange lhs, HugeRange rhs)
  - tcmalloc_internal::Join
  - tcmalloc_internal::Split
  source_file: /src/tcmalloc/tcmalloc/huge_pages.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: kMaxPageNumber
        type: uintptr_t
      - name: pn
        type: uintptr_t
      item_type: struct
      name: HugePage
      pos:
        line_end: 72
        line_start: 42
        source_file: /src/tcmalloc/tcmalloc/huge_pages.h
    - fields:
      - name: overflows() const
        type: bool
      - name: n
        type: size_t
      item_type: struct
      name: HugeLength
      pos:
        line_end: 125
        line_start: 74
        source_file: /src/tcmalloc/tcmalloc/huge_pages.h
    - fields:
      - name: first
        type: HugePage
      - name: n
        type: HugeLength
      item_type: struct
      name: HugeRange
      pos:
        line_end: 364
        line_start: 312
        source_file: /src/tcmalloc/tcmalloc/huge_pages.h
    - fields:
      - name: kMaxPageNumber
        type: uintptr_t
      - name: pn
        type: uintptr_t
      item_type: struct
      name: HugePage
      pos:
        line_end: 72
        line_start: 42
        source_file: /src/tcmalloc/tcmalloc/huge_pages.h
    - fields:
      - name: overflows() const
        type: bool
      - name: n
        type: size_t
      item_type: struct
      name: HugeLength
      pos:
        line_end: 125
        line_start: 74
        source_file: /src/tcmalloc/tcmalloc/huge_pages.h
    - fields:
      - name: first
        type: HugePage
      - name: n
        type: HugeLength
      item_type: struct
      name: HugeRange
      pos:
        line_end: 364
        line_start: 312
        source_file: /src/tcmalloc/tcmalloc/huge_pages.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - "ABSL_ATTRIBUTE_ALWAYS_INLINE absl::Span<const size_t> ColdSizeClasses()\n      const"
  - tcmalloc_internal::SizeMap::Shr
  - tcmalloc_internal::SizeMap::ClassIndexMaybe
  - tcmalloc_internal::SizeMap::ClassIndex
  - tcmalloc_internal::SizeMap::SizeMap
  - tcmalloc_internal::SizeMap::GetSizeClass
  - tcmalloc_internal::SizeMap::SizeClass
  - tcmalloc_internal::SizeMap::class_to_size
  - tcmalloc_internal::SizeMap::class_to_pages
  - tcmalloc_internal::SizeMap::class_to_size_range
  - "ABSL_ATTRIBUTE_ALWAYS_INLINE absl::Span<const size_t> ColdSizeClasses()\n      const"
  - tcmalloc_internal::SizeMap::Shr
  - tcmalloc_internal::SizeMap::ClassIndexMaybe
  - tcmalloc_internal::SizeMap::ClassIndex
  - tcmalloc_internal::SizeMap::SizeMap
  - tcmalloc_internal::SizeMap::GetSizeClass
  - tcmalloc_internal::SizeMap::SizeClass
  - tcmalloc_internal::SizeMap::class_to_size
  - tcmalloc_internal::SizeMap::class_to_pages
  - tcmalloc_internal::SizeMap::class_to_size_range
  source_file: /src/tcmalloc/tcmalloc/sizemap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: BatchSize
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/tcmalloc/tcmalloc/sizemap.h
      type: unsigned char
    - item_type: typedef
      name: BatchSize
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/tcmalloc/tcmalloc/sizemap.h
      type: unsigned char
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::BackingStats
  - '& operator+=(BackingStats rhs)'
  - operator+(BackingStats lhs, BackingStats rhs)
  - '& operator+=(SmallSpanStats rhs)'
  - operator+(SmallSpanStats lhs, SmallSpanStats rhs)
  - '& operator+=(LargeSpanStats rhs)'
  - operator+(LargeSpanStats lhs, LargeSpanStats rhs)
  - "operator+(const PageReleaseStats& lhs,\n                                              const
    PageReleaseStats& rhs)"
  - '& operator+=(const PageReleaseStats& other)'
  - tcmalloc_internal::AbslStringify
  - "operator==(const PageReleaseStats& lhs,\n                                   const
    PageReleaseStats& rhs)"
  - "operator!=(const PageReleaseStats& lhs,\n                                   const
    PageReleaseStats& rhs)"
  - tcmalloc_internal::PageAllocInfo::small
  - tcmalloc_internal::PageAllocInfo::slack
  - tcmalloc_internal::PageAllocInfo::Alloc
  - tcmalloc_internal::PageAllocInfo::Free
  - tcmalloc_internal::BackingStats
  - '& operator+=(BackingStats rhs)'
  - operator+(BackingStats lhs, BackingStats rhs)
  - '& operator+=(SmallSpanStats rhs)'
  - operator+(SmallSpanStats lhs, SmallSpanStats rhs)
  - '& operator+=(LargeSpanStats rhs)'
  - operator+(LargeSpanStats lhs, LargeSpanStats rhs)
  - "operator+(const PageReleaseStats& lhs,\n                                              const
    PageReleaseStats& rhs)"
  - '& operator+=(const PageReleaseStats& other)'
  - tcmalloc_internal::AbslStringify
  - "operator==(const PageReleaseStats& lhs,\n                                   const
    PageReleaseStats& rhs)"
  - "operator!=(const PageReleaseStats& lhs,\n                                   const
    PageReleaseStats& rhs)"
  - tcmalloc_internal::PageAllocInfo::small
  - tcmalloc_internal::PageAllocInfo::slack
  - tcmalloc_internal::PageAllocInfo::Alloc
  - tcmalloc_internal::PageAllocInfo::Free
  source_file: /src/tcmalloc/tcmalloc/stats.h
  types:
    enum:
    - enumerators:
      - name: kReleaseMemoryToSystem
      - name: kSoftLimitExceeded
      - name: kProcessBackgroundActions
      - name: kHardLimitExceeded
      item_type: enum
      name: PageReleaseReason
      pos:
        line_end: 111
        line_start: 94
        source_file: /src/tcmalloc/tcmalloc/stats.h
    - enumerators:
      - name: kReleaseMemoryToSystem
      - name: kSoftLimitExceeded
      - name: kProcessBackgroundActions
      - name: kHardLimitExceeded
      item_type: enum
      name: PageReleaseReason
      pos:
        line_end: 111
        line_start: 94
        source_file: /src/tcmalloc/tcmalloc/stats.h
    preproc_defs: []
    structs:
    - fields:
      - name: system_bytes
        type: uint64_t
      - name: free_bytes
        type: uint64_t
      - name: unmapped_bytes
        type: uint64_t
      item_type: struct
      name: BackingStats
      pos:
        line_end: 44
        line_start: 32
        source_file: /src/tcmalloc/tcmalloc/stats.h
    - fields:
      - name: normal_length[kMaxPages.raw_num()]
        type: int64_t
      - name: returned_length[kMaxPages.raw_num()]
        type: int64_t
      item_type: struct
      name: SmallSpanStats
      pos:
        line_end: 63
        line_start: 50
        source_file: /src/tcmalloc/tcmalloc/stats.h
    - fields:
      - name: spans
        type: size_t
      - name: normal_pages
        type: Length
      - name: returned_pages
        type: Length
      item_type: struct
      name: LargeSpanStats
      pos:
        line_end: 81
        line_start: 70
        source_file: /src/tcmalloc/tcmalloc/stats.h
    - fields:
      - name: total
        type: Length
      - name: release_memory_to_system
        type: Length
      - name: process_background_actions
        type: Length
      - name: soft_limit_exceeded
        type: Length
      - name: hard_limit_exceeded
        type: Length
      item_type: struct
      name: PageReleaseStats
      pos:
        line_end: 169
        line_start: 115
        source_file: /src/tcmalloc/tcmalloc/stats.h
    - fields:
      - name: nalloc
        type: size_t
      - name: alloc_size
        type: Length
      - name: free_size
        type: Length
      item_type: struct
      name: Counts
      pos:
        line_end: 228
        line_start: 213
        source_file: /src/tcmalloc/tcmalloc/stats.h
    - fields:
      - name: system_bytes
        type: uint64_t
      - name: free_bytes
        type: uint64_t
      - name: unmapped_bytes
        type: uint64_t
      item_type: struct
      name: BackingStats
      pos:
        line_end: 44
        line_start: 32
        source_file: /src/tcmalloc/tcmalloc/stats.h
    - fields:
      - name: normal_length[kMaxPages.raw_num()]
        type: int64_t
      - name: returned_length[kMaxPages.raw_num()]
        type: int64_t
      item_type: struct
      name: SmallSpanStats
      pos:
        line_end: 63
        line_start: 50
        source_file: /src/tcmalloc/tcmalloc/stats.h
    - fields:
      - name: spans
        type: size_t
      - name: normal_pages
        type: Length
      - name: returned_pages
        type: Length
      item_type: struct
      name: LargeSpanStats
      pos:
        line_end: 81
        line_start: 70
        source_file: /src/tcmalloc/tcmalloc/stats.h
    - fields:
      - name: total
        type: Length
      - name: release_memory_to_system
        type: Length
      - name: process_background_actions
        type: Length
      - name: soft_limit_exceeded
        type: Length
      - name: hard_limit_exceeded
        type: Length
      item_type: struct
      name: PageReleaseStats
      pos:
        line_end: 169
        line_start: 115
        source_file: /src/tcmalloc/tcmalloc/stats.h
    - fields:
      - name: nalloc
        type: size_t
      - name: alloc_size
        type: Length
      - name: free_size
        type: Length
      item_type: struct
      name: Counts
      pos:
        line_end: 228
        line_start: 213
        source_file: /src/tcmalloc/tcmalloc/stats.h
    typedefs: []
    union: []
- function_names:
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/experiment_config_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::PageMap::RegisterSizeClass
  - tcmalloc_internal::PageMap::UnregisterSizeClass
  - tcmalloc_internal::PageMap::MapRootWithSmallPages
  - tcmalloc_internal::MetaDataAlloc
  - tcmalloc_internal::PageMap::RegisterSizeClass
  - tcmalloc_internal::PageMap::UnregisterSizeClass
  - tcmalloc_internal::PageMap::MapRootWithSmallPages
  - tcmalloc_internal::MetaDataAlloc
  source_file: /src/tcmalloc/tcmalloc/pagemap.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::Length::Length
  - tcmalloc_internal::Length::Length
  - tcmalloc_internal::Length::Length
  - '& operator=(const Length&)'
  - tcmalloc_internal::Length::raw_num
  - tcmalloc_internal::Length::in_bytes
  - tcmalloc_internal::Length::in_mib
  - tcmalloc_internal::Length::in_pages
  - tcmalloc_internal::Length::min
  - tcmalloc_internal::Length::max
  - '& operator+=(Length rhs)'
  - '& operator-=(Length rhs)'
  - '& operator*=(size_t rhs)'
  - '& operator/=(size_t rhs)'
  - '& operator%=(Length rhs)'
  - tcmalloc_internal::Length::AbslStringify
  - tcmalloc_internal::AbslParseFlag
  - tcmalloc_internal::AbslUnparseFlag
  - tcmalloc_internal::PageId::PageId
  - tcmalloc_internal::PageId::PageId
  - '& operator=(const PageId& p)'
  - tcmalloc_internal::PageId::PageId
  - tcmalloc_internal::PageId::start_addr
  - tcmalloc_internal::PageId::start_uintptr
  - tcmalloc_internal::PageId::index
  - '& operator+=(Length rhs)'
  - '& operator-=(Length rhs)'
  - tcmalloc_internal::PageId::AbslHashValue
  - tcmalloc_internal::PageId::AbslStringify
  - tcmalloc_internal::Range
  - tcmalloc_internal::Range
  - tcmalloc_internal::Range
  - '& operator=(const Range&)'
  - tcmalloc_internal::Range
  - '& operator=(Range&&)'
  - tcmalloc_internal::start_addr
  - tcmalloc_internal::in_bytes
  - tcmalloc_internal::LengthFromBytes
  - tcmalloc_internal::BytesToLengthCeil
  - tcmalloc_internal::BytesToLengthFloor
  - '& operator++(PageId& p)'
  - operator<(PageId lhs, PageId rhs)
  - operator>(PageId lhs, PageId rhs)
  - operator<=(PageId lhs, PageId rhs)
  - operator>=(PageId lhs, PageId rhs)
  - operator==(PageId lhs, PageId rhs)
  - operator!=(PageId lhs, PageId rhs)
  - operator+(PageId lhs, Length rhs)
  - operator+(Length lhs, PageId rhs)
  - operator-(PageId lhs, Length rhs)
  - operator-(PageId lhs, PageId rhs)
  - tcmalloc_internal::PageIdContaining
  - tcmalloc_internal::PageIdContainingTagged
  - operator<(Length lhs, Length rhs)
  - operator>(Length lhs, Length rhs)
  - operator<=(Length lhs, Length rhs)
  - operator>=(Length lhs, Length rhs)
  - operator==(Length lhs, Length rhs)
  - operator!=(Length lhs, Length rhs)
  - '& operator++(Length& l)'
  - '& operator--(Length& l)'
  - operator+(Length lhs, Length rhs)
  - operator-(Length lhs, Length rhs)
  - operator*(Length lhs, size_t rhs)
  - operator*(size_t lhs, Length rhs)
  - operator/(Length lhs, Length rhs)
  - operator/(Length lhs, size_t rhs)
  - operator%(Length lhs, Length rhs)
  - tcmalloc_internal::Length::Length
  - tcmalloc_internal::Length::Length
  - tcmalloc_internal::Length::Length
  - '& operator=(const Length&)'
  - tcmalloc_internal::Length::raw_num
  - tcmalloc_internal::Length::in_bytes
  - tcmalloc_internal::Length::in_mib
  - tcmalloc_internal::Length::in_pages
  - tcmalloc_internal::Length::min
  - tcmalloc_internal::Length::max
  - '& operator+=(Length rhs)'
  - '& operator-=(Length rhs)'
  - '& operator*=(size_t rhs)'
  - '& operator/=(size_t rhs)'
  - '& operator%=(Length rhs)'
  - tcmalloc_internal::Length::AbslStringify
  - tcmalloc_internal::AbslParseFlag
  - tcmalloc_internal::AbslUnparseFlag
  - tcmalloc_internal::PageId::PageId
  - tcmalloc_internal::PageId::PageId
  - '& operator=(const PageId& p)'
  - tcmalloc_internal::PageId::PageId
  - tcmalloc_internal::PageId::start_addr
  - tcmalloc_internal::PageId::start_uintptr
  - tcmalloc_internal::PageId::index
  - '& operator+=(Length rhs)'
  - '& operator-=(Length rhs)'
  - tcmalloc_internal::PageId::AbslHashValue
  - tcmalloc_internal::PageId::AbslStringify
  - tcmalloc_internal::Range
  - tcmalloc_internal::Range
  - tcmalloc_internal::Range
  - '& operator=(const Range&)'
  - tcmalloc_internal::Range
  - '& operator=(Range&&)'
  - tcmalloc_internal::start_addr
  - tcmalloc_internal::in_bytes
  - tcmalloc_internal::LengthFromBytes
  - tcmalloc_internal::BytesToLengthCeil
  - tcmalloc_internal::BytesToLengthFloor
  - '& operator++(PageId& p)'
  - operator<(PageId lhs, PageId rhs)
  - operator>(PageId lhs, PageId rhs)
  - operator<=(PageId lhs, PageId rhs)
  - operator>=(PageId lhs, PageId rhs)
  - operator==(PageId lhs, PageId rhs)
  - operator!=(PageId lhs, PageId rhs)
  - operator+(PageId lhs, Length rhs)
  - operator+(Length lhs, PageId rhs)
  - operator-(PageId lhs, Length rhs)
  - operator-(PageId lhs, PageId rhs)
  - tcmalloc_internal::PageIdContaining
  - tcmalloc_internal::PageIdContainingTagged
  - operator<(Length lhs, Length rhs)
  - operator>(Length lhs, Length rhs)
  - operator<=(Length lhs, Length rhs)
  - operator>=(Length lhs, Length rhs)
  - operator==(Length lhs, Length rhs)
  - operator!=(Length lhs, Length rhs)
  - '& operator++(Length& l)'
  - '& operator--(Length& l)'
  - operator+(Length lhs, Length rhs)
  - operator-(Length lhs, Length rhs)
  - operator*(Length lhs, size_t rhs)
  - operator*(size_t lhs, Length rhs)
  - operator/(Length lhs, Length rhs)
  - operator/(Length lhs, size_t rhs)
  - operator%(Length lhs, Length rhs)
  source_file: /src/tcmalloc/tcmalloc/pages.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      item_type: struct
      name: Range
      pos:
        line_end: 181
        line_start: 166
        source_file: /src/tcmalloc/tcmalloc/pages.h
    - fields:
      - name: p
        type: PageId
      - name: n
        type: Length
      item_type: struct
      name: Range
      pos:
        line_end: 181
        line_start: 166
        source_file: /src/tcmalloc/tcmalloc/pages.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::GuardedPageAllocator::GuardedPageAllocator
  - tcmalloc_internal::GuardedPageAllocator::GuardedPageAllocator
  - '& operator=(const GuardedPageAllocator&)'
  - ~GuardedPageAllocator()
  - tcmalloc_internal::GuardedPageAllocator::PointerIsMine
  - tcmalloc_internal::GuardedPageAllocator::PointerIsCorrectlyAligned
  - tcmalloc_internal::GuardedPageAllocator::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::GuardedPageAllocator::GetNumAvailablePages
  - tcmalloc_internal::GuardedPageAllocator::page_size
  - tcmalloc_internal::GuardedPageAllocator::successful_allocations
  - tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
  - tcmalloc_internal::GuardedPageAllocator::ShouldRightAlign
  - tcmalloc_internal::GuardedPageAllocator::allocated_pages
  - tcmalloc_internal::GuardedPageAllocator::GuardedPageAllocator
  - tcmalloc_internal::GuardedPageAllocator::GuardedPageAllocator
  - '& operator=(const GuardedPageAllocator&)'
  - ~GuardedPageAllocator()
  - tcmalloc_internal::GuardedPageAllocator::PointerIsMine
  - tcmalloc_internal::GuardedPageAllocator::PointerIsCorrectlyAligned
  - tcmalloc_internal::GuardedPageAllocator::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::GuardedPageAllocator::GetNumAvailablePages
  - tcmalloc_internal::GuardedPageAllocator::page_size
  - tcmalloc_internal::GuardedPageAllocator::successful_allocations
  - tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
  - tcmalloc_internal::GuardedPageAllocator::ShouldRightAlign
  - tcmalloc_internal::GuardedPageAllocator::allocated_pages
  source_file: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: alloc_trace
        type: GuardedAllocationsStackTrace
      - name: dealloc_trace
        type: GuardedAllocationsStackTrace
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: std::align_val_t
      - name: allocation_start
        type: uintptr_t
      - name: dealloc_count
        type: std::atomic<int>
      - name: write_overflow_detected
        type: bool
      item_type: struct
      name: SlotMetadata
      pos:
        line_end: 215
        line_start: 207
        source_file: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    - fields:
      - name: alloc_trace
        type: GuardedAllocationsStackTrace
      - name: dealloc_trace
        type: GuardedAllocationsStackTrace
      - name: requested_size
        type: size_t
      - name: requested_alignment
        type: std::align_val_t
      - name: allocation_start
        type: uintptr_t
      - name: dealloc_count
        type: std::atomic<int>
      - name: write_overflow_detected
        type: bool
      item_type: struct
      name: SlotMetadata
      pos:
        line_end: 215
        line_start: 207
        source_file: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::ReleasePages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordAllocation
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordDeallocation
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
  - ~HugePageAwareAllocatorTest() override
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::GetFreeBytes
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleasePages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::UseHugeRegionMoreOften
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::BytesInCore
  - tcmalloc::tcmalloc_internal::HugePageResident
  - tcmalloc::tcmalloc_internal::Touch
  - tcmalloc::tcmalloc_internal::Touch
  - tcmalloc::tcmalloc_internal::TouchTHP
  - tcmalloc::tcmalloc_internal::StatTest::StatTest
  - tcmalloc::tcmalloc_internal::StatTest::Forwarder::Memory
  - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
  - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
  - tcmalloc::tcmalloc_internal::StatTest::PrepTest
  - ~StatTest() override
  - tcmalloc::tcmalloc_internal::StatTest::Stats
  - tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
  - tcmalloc::tcmalloc_internal::StatTest::Alloc
  - tcmalloc::tcmalloc_internal::StatTest::Free
  - tcmalloc::tcmalloc_internal::StatTest::CheckStats
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Metadata
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Metadata
  - tcmalloc::tcmalloc_internal::SpanDeleter
  - tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
  - ~GetReleaseStatsTest() override
  - '& allocator()'
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::ReleasePages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordAllocation
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordDeallocation
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
  - ~HugePageAwareAllocatorTest() override
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::GetFreeBytes
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleasePages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::UseHugeRegionMoreOften
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::BytesInCore
  - tcmalloc::tcmalloc_internal::HugePageResident
  - tcmalloc::tcmalloc_internal::Touch
  - tcmalloc::tcmalloc_internal::Touch
  - tcmalloc::tcmalloc_internal::TouchTHP
  - tcmalloc::tcmalloc_internal::StatTest::StatTest
  - tcmalloc::tcmalloc_internal::StatTest::Forwarder::Memory
  - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
  - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
  - tcmalloc::tcmalloc_internal::StatTest::PrepTest
  - ~StatTest() override
  - tcmalloc::tcmalloc_internal::StatTest::Stats
  - tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
  - tcmalloc::tcmalloc_internal::StatTest::Alloc
  - tcmalloc::tcmalloc_internal::StatTest::Free
  - tcmalloc::tcmalloc_internal::StatTest::CheckStats
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Metadata
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Metadata
  - tcmalloc::tcmalloc_internal::SpanDeleter
  - tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
  - ~GetReleaseStatsTest() override
  - '& allocator()'
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::ReleasePages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordAllocation
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordDeallocation
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
  - ~HugePageAwareAllocatorTest() override
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::GetFreeBytes
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleasePages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::UseHugeRegionMoreOften
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::BytesInCore
  - tcmalloc::tcmalloc_internal::HugePageResident
  - tcmalloc::tcmalloc_internal::Touch
  - tcmalloc::tcmalloc_internal::Touch
  - tcmalloc::tcmalloc_internal::TouchTHP
  - tcmalloc::tcmalloc_internal::StatTest::StatTest
  - tcmalloc::tcmalloc_internal::StatTest::Forwarder::Memory
  - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
  - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
  - tcmalloc::tcmalloc_internal::StatTest::PrepTest
  - ~StatTest() override
  - tcmalloc::tcmalloc_internal::StatTest::Stats
  - tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
  - tcmalloc::tcmalloc_internal::StatTest::Alloc
  - tcmalloc::tcmalloc_internal::StatTest::Free
  - tcmalloc::tcmalloc_internal::StatTest::CheckStats
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Metadata
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Metadata
  - tcmalloc::tcmalloc_internal::SpanDeleter
  - tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
  - ~GetReleaseStatsTest() override
  - '& allocator()'
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::ReleasePages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordAllocation
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordDeallocation
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
  - ~HugePageAwareAllocatorTest() override
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::GetFreeBytes
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleasePages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::UseHugeRegionMoreOften
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::BytesInCore
  - tcmalloc::tcmalloc_internal::HugePageResident
  - tcmalloc::tcmalloc_internal::Touch
  - tcmalloc::tcmalloc_internal::Touch
  - tcmalloc::tcmalloc_internal::TouchTHP
  - tcmalloc::tcmalloc_internal::StatTest::StatTest
  - tcmalloc::tcmalloc_internal::StatTest::Forwarder::Memory
  - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
  - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
  - tcmalloc::tcmalloc_internal::StatTest::PrepTest
  - ~StatTest() override
  - tcmalloc::tcmalloc_internal::StatTest::Stats
  - tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
  - tcmalloc::tcmalloc_internal::StatTest::Alloc
  - tcmalloc::tcmalloc_internal::StatTest::Free
  - tcmalloc::tcmalloc_internal::StatTest::CheckStats
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Metadata
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Metadata
  - tcmalloc::tcmalloc_internal::SpanDeleter
  - tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
  - ~GetReleaseStatsTest() override
  - '& allocator()'
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::ReleasePages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordAllocation
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordDeallocation
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
  - ~HugePageAwareAllocatorTest() override
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::GetFreeBytes
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleasePages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::UseHugeRegionMoreOften
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::BytesInCore
  - tcmalloc::tcmalloc_internal::HugePageResident
  - tcmalloc::tcmalloc_internal::Touch
  - tcmalloc::tcmalloc_internal::Touch
  - tcmalloc::tcmalloc_internal::TouchTHP
  - tcmalloc::tcmalloc_internal::StatTest::StatTest
  - tcmalloc::tcmalloc_internal::StatTest::Forwarder::Memory
  - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
  - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
  - tcmalloc::tcmalloc_internal::StatTest::PrepTest
  - ~StatTest() override
  - tcmalloc::tcmalloc_internal::StatTest::Stats
  - tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
  - tcmalloc::tcmalloc_internal::StatTest::Alloc
  - tcmalloc::tcmalloc_internal::StatTest::Free
  - tcmalloc::tcmalloc_internal::StatTest::CheckStats
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Metadata
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Metadata
  - tcmalloc::tcmalloc_internal::SpanDeleter
  - tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
  - ~GetReleaseStatsTest() override
  - '& allocator()'
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::ReleasePages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordAllocation
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordDeallocation
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
  - ~HugePageAwareAllocatorTest() override
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::GetFreeBytes
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleasePages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::UseHugeRegionMoreOften
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::BytesInCore
  - tcmalloc::tcmalloc_internal::HugePageResident
  - tcmalloc::tcmalloc_internal::Touch
  - tcmalloc::tcmalloc_internal::Touch
  - tcmalloc::tcmalloc_internal::TouchTHP
  - tcmalloc::tcmalloc_internal::StatTest::StatTest
  - tcmalloc::tcmalloc_internal::StatTest::Forwarder::Memory
  - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
  - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
  - tcmalloc::tcmalloc_internal::StatTest::PrepTest
  - ~StatTest() override
  - tcmalloc::tcmalloc_internal::StatTest::Stats
  - tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
  - tcmalloc::tcmalloc_internal::StatTest::Alloc
  - tcmalloc::tcmalloc_internal::StatTest::Free
  - tcmalloc::tcmalloc_internal::StatTest::CheckStats
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Metadata
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Metadata
  - tcmalloc::tcmalloc_internal::SpanDeleter
  - tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
  - ~GetReleaseStatsTest() override
  - '& allocator()'
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::ReleasePages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordAllocation
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordDeallocation
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
  - ~HugePageAwareAllocatorTest() override
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::GetFreeBytes
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleasePages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::UseHugeRegionMoreOften
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::BytesInCore
  - tcmalloc::tcmalloc_internal::HugePageResident
  - tcmalloc::tcmalloc_internal::Touch
  - tcmalloc::tcmalloc_internal::Touch
  - tcmalloc::tcmalloc_internal::TouchTHP
  - tcmalloc::tcmalloc_internal::StatTest::StatTest
  - tcmalloc::tcmalloc_internal::StatTest::Forwarder::Memory
  - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
  - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
  - tcmalloc::tcmalloc_internal::StatTest::PrepTest
  - ~StatTest() override
  - tcmalloc::tcmalloc_internal::StatTest::Stats
  - tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
  - tcmalloc::tcmalloc_internal::StatTest::Alloc
  - tcmalloc::tcmalloc_internal::StatTest::Free
  - tcmalloc::tcmalloc_internal::StatTest::CheckStats
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Metadata
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Metadata
  - tcmalloc::tcmalloc_internal::SpanDeleter
  - tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
  - ~GetReleaseStatsTest() override
  - '& allocator()'
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::ReleasePages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordAllocation
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::FakeStaticForwarderWithReleaseCheck::RecordDeallocation
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
  - ~HugePageAwareAllocatorTest() override
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::GetFreeBytes
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleasePages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::TreatHugepageTrackers
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::UseHugeRegionMoreOften
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
  - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::BytesInCore
  - tcmalloc::tcmalloc_internal::HugePageResident
  - tcmalloc::tcmalloc_internal::Touch
  - tcmalloc::tcmalloc_internal::Touch
  - tcmalloc::tcmalloc_internal::TouchTHP
  - tcmalloc::tcmalloc_internal::StatTest::StatTest
  - tcmalloc::tcmalloc_internal::StatTest::Forwarder::Memory
  - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
  - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
  - tcmalloc::tcmalloc_internal::StatTest::PrepTest
  - ~StatTest() override
  - tcmalloc::tcmalloc_internal::StatTest::Stats
  - tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
  - tcmalloc::tcmalloc_internal::StatTest::Alloc
  - tcmalloc::tcmalloc_internal::StatTest::Free
  - tcmalloc::tcmalloc_internal::StatTest::CheckStats
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Metadata
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::Metadata
  - tcmalloc::tcmalloc_internal::SpanDeleter
  - tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
  - ~GetReleaseStatsTest() override
  - '& allocator()'
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* span'
        type: Span
      - name: span_alloc_info
        type: SpanAllocInfo
      item_type: struct
      name: SpanInfo
      pos:
        line_end: 313
        line_start: 310
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: virt
        type: uint64_t
      - name: phys
        type: uint64_t
      item_type: struct
      name: MemoryBytes
      pos:
        line_end: 1301
        line_start: 1298
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: operator()(Span* s)
        type: void
      - name: '& allocator'
        type: FakeHugePageAwareAllocator
      item_type: struct
      name: SpanDeleter
      pos:
        line_end: 1733
        line_start: 1713
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: '* span'
        type: Span
      - name: span_alloc_info
        type: SpanAllocInfo
      item_type: struct
      name: SpanInfo
      pos:
        line_end: 313
        line_start: 310
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: virt
        type: uint64_t
      - name: phys
        type: uint64_t
      item_type: struct
      name: MemoryBytes
      pos:
        line_end: 1301
        line_start: 1298
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: operator()(Span* s)
        type: void
      - name: '& allocator'
        type: FakeHugePageAwareAllocator
      item_type: struct
      name: SpanDeleter
      pos:
        line_end: 1733
        line_start: 1713
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: '* span'
        type: Span
      - name: span_alloc_info
        type: SpanAllocInfo
      item_type: struct
      name: SpanInfo
      pos:
        line_end: 313
        line_start: 310
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: virt
        type: uint64_t
      - name: phys
        type: uint64_t
      item_type: struct
      name: MemoryBytes
      pos:
        line_end: 1301
        line_start: 1298
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: operator()(Span* s)
        type: void
      - name: '& allocator'
        type: FakeHugePageAwareAllocator
      item_type: struct
      name: SpanDeleter
      pos:
        line_end: 1733
        line_start: 1713
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: '* span'
        type: Span
      - name: span_alloc_info
        type: SpanAllocInfo
      item_type: struct
      name: SpanInfo
      pos:
        line_end: 313
        line_start: 310
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: virt
        type: uint64_t
      - name: phys
        type: uint64_t
      item_type: struct
      name: MemoryBytes
      pos:
        line_end: 1301
        line_start: 1298
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: operator()(Span* s)
        type: void
      - name: '& allocator'
        type: FakeHugePageAwareAllocator
      item_type: struct
      name: SpanDeleter
      pos:
        line_end: 1733
        line_start: 1713
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: '* span'
        type: Span
      - name: span_alloc_info
        type: SpanAllocInfo
      item_type: struct
      name: SpanInfo
      pos:
        line_end: 313
        line_start: 310
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: virt
        type: uint64_t
      - name: phys
        type: uint64_t
      item_type: struct
      name: MemoryBytes
      pos:
        line_end: 1301
        line_start: 1298
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: operator()(Span* s)
        type: void
      - name: '& allocator'
        type: FakeHugePageAwareAllocator
      item_type: struct
      name: SpanDeleter
      pos:
        line_end: 1733
        line_start: 1713
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: '* span'
        type: Span
      - name: span_alloc_info
        type: SpanAllocInfo
      item_type: struct
      name: SpanInfo
      pos:
        line_end: 313
        line_start: 310
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: virt
        type: uint64_t
      - name: phys
        type: uint64_t
      item_type: struct
      name: MemoryBytes
      pos:
        line_end: 1301
        line_start: 1298
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: operator()(Span* s)
        type: void
      - name: '& allocator'
        type: FakeHugePageAwareAllocator
      item_type: struct
      name: SpanDeleter
      pos:
        line_end: 1733
        line_start: 1713
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: '* span'
        type: Span
      - name: span_alloc_info
        type: SpanAllocInfo
      item_type: struct
      name: SpanInfo
      pos:
        line_end: 313
        line_start: 310
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: virt
        type: uint64_t
      - name: phys
        type: uint64_t
      item_type: struct
      name: MemoryBytes
      pos:
        line_end: 1301
        line_start: 1298
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: operator()(Span* s)
        type: void
      - name: '& allocator'
        type: FakeHugePageAwareAllocator
      item_type: struct
      name: SpanDeleter
      pos:
        line_end: 1733
        line_start: 1713
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: '* span'
        type: Span
      - name: span_alloc_info
        type: SpanAllocInfo
      item_type: struct
      name: SpanInfo
      pos:
        line_end: 313
        line_start: 310
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: virt
        type: uint64_t
      - name: phys
        type: uint64_t
      item_type: struct
      name: MemoryBytes
      pos:
        line_end: 1301
        line_start: 1298
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    - fields:
      - name: operator()(Span* s)
        type: void
      - name: '& allocator'
        type: FakeHugePageAwareAllocator
      item_type: struct
      name: SpanDeleter
      pos:
        line_end: 1733
        line_start: 1713
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::StackTraceTable::StackTraceTable
  - StackTraceTable::~StackTraceTable()
  - tcmalloc_internal::StackTraceTable::AddTrace
  - tcmalloc_internal::StackTraceTable::Iterate
  - tcmalloc_internal::StackTraceTable::StackTraceTable
  - StackTraceTable::~StackTraceTable()
  - tcmalloc_internal::StackTraceTable::AddTrace
  - tcmalloc_internal::StackTraceTable::Iterate
  source_file: /src/tcmalloc/tcmalloc/stack_trace_table.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::BM_CrossThread
  - tcmalloc_internal::CrossThreadState
  - tcmalloc_internal::BM_InsertRange
  - tcmalloc_internal::BM_RemoveRange
  - tcmalloc_internal::BM_RealisticBatchNonBatchMutations
  - tcmalloc_internal::BM_RealisticHitRate
  - tcmalloc_internal::BM_CrossThread
  - tcmalloc_internal::CrossThreadState
  - tcmalloc_internal::BM_InsertRange
  - tcmalloc_internal::BM_RemoveRange
  - tcmalloc_internal::BM_RealisticBatchNonBatchMutations
  - tcmalloc_internal::BM_RealisticHitRate
  - tcmalloc_internal::BM_CrossThread
  - tcmalloc_internal::CrossThreadState
  - tcmalloc_internal::BM_InsertRange
  - tcmalloc_internal::BM_RemoveRange
  - tcmalloc_internal::BM_RealisticBatchNonBatchMutations
  - tcmalloc_internal::BM_RealisticHitRate
  - tcmalloc_internal::BM_CrossThread
  - tcmalloc_internal::CrossThreadState
  - tcmalloc_internal::BM_InsertRange
  - tcmalloc_internal::BM_RemoveRange
  - tcmalloc_internal::BM_RealisticBatchNonBatchMutations
  - tcmalloc_internal::BM_RealisticHitRate
  source_file: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: m
        type: FakeTransferCacheManager
      - name: c[2]
        type: Cache
      item_type: struct
      name: CrossThreadState
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    - fields:
      - name: m
        type: FakeTransferCacheManager
      - name: c[2]
        type: Cache
      item_type: struct
      name: CrossThreadState
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    - fields:
      - name: m
        type: FakeTransferCacheManager
      - name: c[2]
        type: Cache
      item_type: struct
      name: CrossThreadState
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    - fields:
      - name: m
        type: FakeTransferCacheManager
      - name: c[2]
        type: Cache
      item_type: struct
      name: CrossThreadState
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcmalloc/tcmalloc/mock_transfer_cache.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::PageAllocatorInterface::PageAllocatorInterface
  - tcmalloc_internal::PageAllocatorInterface::PageAllocatorInterface
  source_file: /src/tcmalloc/tcmalloc/page_allocator_interface.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/new_extension_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      item_type: struct
      name: SizedPtr
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/tcmalloc/tcmalloc/new_extension_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      - name: alignment
        type: std::align_val_t
      item_type: struct
      name: SizedAlignedPtr
      pos:
        line_end: 257
        line_start: 253
        source_file: /src/tcmalloc/tcmalloc/new_extension_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      item_type: struct
      name: SizedPtr
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/tcmalloc/tcmalloc/new_extension_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      - name: alignment
        type: std::align_val_t
      item_type: struct
      name: SizedAlignedPtr
      pos:
        line_end: 257
        line_start: 253
        source_file: /src/tcmalloc/tcmalloc/new_extension_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      item_type: struct
      name: SizedPtr
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/tcmalloc/tcmalloc/new_extension_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      - name: alignment
        type: std::align_val_t
      item_type: struct
      name: SizedAlignedPtr
      pos:
        line_end: 257
        line_start: 253
        source_file: /src/tcmalloc/tcmalloc/new_extension_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      item_type: struct
      name: SizedPtr
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/tcmalloc/tcmalloc/new_extension_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      - name: alignment
        type: std::align_val_t
      item_type: struct
      name: SizedAlignedPtr
      pos:
        line_end: 257
        line_start: 253
        source_file: /src/tcmalloc/tcmalloc/new_extension_test.cc
    typedefs: []
    union: []
- function_names:
  - MallocExtension_Internal_ProcessBackgroundActions
  source_file: /src/tcmalloc/tcmalloc/background.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::FakeCentralFreeListBase
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::FakeCentralFreeListBase
  - '& operator=(const FakeCentralFreeListBase&)'
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::Init
  - tcmalloc::tcmalloc_internal::RawMockCentralFreeList::RawMockCentralFreeList
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::FakeCentralFreeListBase
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::FakeCentralFreeListBase
  - '& operator=(const FakeCentralFreeListBase&)'
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::Init
  - tcmalloc::tcmalloc_internal::RawMockCentralFreeList::RawMockCentralFreeList
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::FakeCentralFreeListBase
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::FakeCentralFreeListBase
  - '& operator=(const FakeCentralFreeListBase&)'
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::Init
  - tcmalloc::tcmalloc_internal::RawMockCentralFreeList::RawMockCentralFreeList
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::FakeCentralFreeListBase
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::FakeCentralFreeListBase
  - '& operator=(const FakeCentralFreeListBase&)'
  - tcmalloc::tcmalloc_internal::FakeCentralFreeListBase::Init
  - tcmalloc::tcmalloc_internal::RawMockCentralFreeList::RawMockCentralFreeList
  source_file: /src/tcmalloc/tcmalloc/mock_central_freelist.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
  - tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
  - tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
  - tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
  source_file: /src/tcmalloc/tcmalloc/malloc_tracing_extension.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::HugeAddressMapTest
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::Contents
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::hp
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::hl
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::HugeAddressMapTest
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::Contents
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::hp
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::hl
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::HugeAddressMapTest
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::Contents
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::hp
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::hl
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::HugeAddressMapTest
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::Contents
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::hp
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::hl
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::HugeAddressMapTest
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::Contents
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::hp
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::hl
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::HugeAddressMapTest
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::Contents
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::hp
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::hl
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::HugeAddressMapTest
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::Contents
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::hp
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::hl
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::HugeAddressMapTest
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::Contents
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::hp
  - tcmalloc::tcmalloc_internal::HugeAddressMapTest::hl
  - tcmalloc::tcmalloc_internal::TEST_F
  source_file: /src/tcmalloc/tcmalloc/huge_address_map_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/tcmalloc/tcmalloc/internal/page_size.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/tcmalloc/tcmalloc/internal/affinity.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::PageSwapped
  - tcmalloc_internal::PagePresent
  - tcmalloc_internal::Update
  - tcmalloc_internal::PageSwapped
  - tcmalloc_internal::PagePresent
  - tcmalloc_internal::Update
  - tcmalloc_internal::ResidencyPageMap::ResidencyPageMap
  - tcmalloc_internal::ResidencyPageMap::ResidencyPageMap
  - ResidencyPageMap::~ResidencyPageMap()
  - tcmalloc_internal::ResidencyPageMap::Seek
  - tcmalloc_internal::ResidencyPageMap::ReadOne
  - tcmalloc_internal::ResidencyPageMap::ReadMany
  - tcmalloc_internal::ResidencyPageMap::Get
  - tcmalloc_internal::ResidencyPageMap::GetUnbackedAndSwappedBitmaps
  - tcmalloc_internal::PageSwapped
  - tcmalloc_internal::PagePresent
  - tcmalloc_internal::Update
  - tcmalloc_internal::PageSwapped
  - tcmalloc_internal::PagePresent
  - tcmalloc_internal::Update
  - tcmalloc_internal::ResidencyPageMap::ResidencyPageMap
  - tcmalloc_internal::ResidencyPageMap::ResidencyPageMap
  - ResidencyPageMap::~ResidencyPageMap()
  - tcmalloc_internal::ResidencyPageMap::Seek
  - tcmalloc_internal::ResidencyPageMap::ReadOne
  - tcmalloc_internal::ResidencyPageMap::ReadMany
  - tcmalloc_internal::ResidencyPageMap::Get
  - tcmalloc_internal::ResidencyPageMap::GetUnbackedAndSwappedBitmaps
  source_file: /src/tcmalloc/tcmalloc/internal/residency.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PM_SWAP
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcmalloc/tcmalloc/internal/residency.cc
      type_or_value: 1ULL << 62
    - item_type: preproc_def
      name: PM_PRESENT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcmalloc/tcmalloc/internal/residency.cc
      type_or_value: 1ULL << 63
    - item_type: preproc_def
      name: PM_SWAP
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcmalloc/tcmalloc/internal/residency.cc
      type_or_value: 1ULL << 62
    - item_type: preproc_def
      name: PM_PRESENT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcmalloc/tcmalloc/internal/residency.cc
      type_or_value: 1ULL << 63
    - item_type: preproc_def
      name: PM_SWAP
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcmalloc/tcmalloc/internal/residency.cc
      type_or_value: 1ULL << 62
    - item_type: preproc_def
      name: PM_PRESENT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcmalloc/tcmalloc/internal/residency.cc
      type_or_value: 1ULL << 63
    - item_type: preproc_def
      name: PM_SWAP
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcmalloc/tcmalloc/internal/residency.cc
      type_or_value: 1ULL << 62
    - item_type: preproc_def
      name: PM_PRESENT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcmalloc/tcmalloc/internal/residency.cc
      type_or_value: 1ULL << 63
    structs: []
    typedefs: []
    union: []
- function_names:
  - TCMALLOC_GLIBC_PREREQ
  - TCMALLOC_GLIBC_PREREQ
  - namespace
  source_file: /src/tcmalloc/tcmalloc/internal/config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TCMALLOC_HAVE_SCHED_GETCPU
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/tcmalloc/tcmalloc/internal/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TCMALLOC_HAVE_STRUCT_MALLINFO
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcmalloc/tcmalloc/internal/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TCMALLOC_HAVE_STRUCT_MALLINFO2
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/internal/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_MALLOC_SECTION_BEGIN
      pos:
        line_end: 64
        line_start: 62
        source_file: /src/tcmalloc/tcmalloc/internal/config.h
      type_or_value: _Pragma("clang section text = \"google_malloc\"")
    - item_type: preproc_def
      name: GOOGLE_MALLOC_SECTION_END
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcmalloc/tcmalloc/internal/config.h
      type_or_value: _Pragma("clang section text = \"\"")
    - item_type: preproc_def
      name: GOOGLE_MALLOC_SECTION
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcmalloc/tcmalloc/internal/config.h
      type_or_value: __attribute__((section("google_malloc")))
    - item_type: preproc_def
      name: TCMALLOC_ATTRIBUTE_NO_DESTROY
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcmalloc/tcmalloc/internal/config.h
      type_or_value: '[[clang::no_destroy]]'
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::GwpAsanState::GwpAsanState
  - tcmalloc_internal::GwpAsanState::type
  - tcmalloc_internal::GwpAsanState::triggered
  - tcmalloc_internal::GwpAsanState::AllocationStack
  - tcmalloc_internal::GwpAsanState::DeallocationStack
  - tcmalloc_internal::GwpAsanState::provided_min
  - tcmalloc_internal::GwpAsanState::provided_max
  - tcmalloc_internal::GwpAsanState::minimum_size
  - tcmalloc_internal::GwpAsanState::maximum_size
  - tcmalloc_internal::GwpAsanState::actual_alignment
  - tcmalloc_internal::GwpAsanState::expected_alignment
  - tcmalloc_internal::GwpAsanState::RecordMismatch
  - tcmalloc_internal::GwpAsanState::RecordDoubleFree
  - tcmalloc_internal::GwpAsanState::RecordInvalidFree
  - tcmalloc_internal::GwpAsanState::GwpAsanState
  - tcmalloc_internal::GwpAsanState::type
  - tcmalloc_internal::GwpAsanState::triggered
  - tcmalloc_internal::GwpAsanState::AllocationStack
  - tcmalloc_internal::GwpAsanState::DeallocationStack
  - tcmalloc_internal::GwpAsanState::provided_min
  - tcmalloc_internal::GwpAsanState::provided_max
  - tcmalloc_internal::GwpAsanState::minimum_size
  - tcmalloc_internal::GwpAsanState::maximum_size
  - tcmalloc_internal::GwpAsanState::actual_alignment
  - tcmalloc_internal::GwpAsanState::expected_alignment
  - tcmalloc_internal::GwpAsanState::RecordMismatch
  - tcmalloc_internal::GwpAsanState::RecordDoubleFree
  - tcmalloc_internal::GwpAsanState::RecordInvalidFree
  source_file: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
  types:
    enum:
    - enumerators:
      - name: kNone
      - name: kInvalidFree
      - name: kDoubleFree
      - name: kMismatchedDelete
      item_type: enum
      name: Type
      pos:
        line_end: 40
        line_start: 35
        source_file: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    - enumerators:
      - name: kNone
      - name: kInvalidFree
      - name: kDoubleFree
      - name: kMismatchedDelete
      item_type: enum
      name: Type
      pos:
        line_end: 40
        line_start: 35
        source_file: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::GetFirstSegment
  - tcmalloc::tcmalloc_internal::GetSoName
  - operator()(const Profile::Sample& a, const Profile::Sample& b) const
  - operator()(const Profile::Sample& s) const
  - tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
  - tcmalloc::tcmalloc_internal::GetFirstSegment
  - tcmalloc::tcmalloc_internal::GetSoName
  - operator()(const Profile::Sample& a, const Profile::Sample& b) const
  - operator()(const Profile::Sample& s) const
  - tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
  - tcmalloc::tcmalloc_internal::GetBuildId
  - tcmalloc::tcmalloc_internal::ProfileBuilder::ProfileBuilder
  - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
  - tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
  - tcmalloc::tcmalloc_internal::ProfileBuilder::InternCallstack
  - tcmalloc::tcmalloc_internal::ProfileBuilder::AddCurrentMappings
  - tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
  - tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
  - tcmalloc::tcmalloc_internal::ProfileBuilder::Finalize
  - tcmalloc::tcmalloc_internal::MakeProfileProto
  - tcmalloc::tcmalloc_internal::ProfileBuilder::SetDocURL
  - tcmalloc::tcmalloc_internal::MakeProfileProto
  - tcmalloc::tcmalloc_internal::GetFirstSegment
  - tcmalloc::tcmalloc_internal::GetSoName
  - operator()(const Profile::Sample& a, const Profile::Sample& b) const
  - operator()(const Profile::Sample& s) const
  - tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
  - tcmalloc::tcmalloc_internal::GetFirstSegment
  - tcmalloc::tcmalloc_internal::GetSoName
  - operator()(const Profile::Sample& a, const Profile::Sample& b) const
  - operator()(const Profile::Sample& s) const
  - tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
  - tcmalloc::tcmalloc_internal::GetBuildId
  - tcmalloc::tcmalloc_internal::ProfileBuilder::ProfileBuilder
  - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
  - tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
  - tcmalloc::tcmalloc_internal::ProfileBuilder::InternCallstack
  - tcmalloc::tcmalloc_internal::ProfileBuilder::AddCurrentMappings
  - tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
  - tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
  - tcmalloc::tcmalloc_internal::ProfileBuilder::Finalize
  - tcmalloc::tcmalloc_internal::MakeProfileProto
  - tcmalloc::tcmalloc_internal::ProfileBuilder::SetDocURL
  - tcmalloc::tcmalloc_internal::MakeProfileProto
  - tcmalloc::tcmalloc_internal::GetFirstSegment
  - tcmalloc::tcmalloc_internal::GetSoName
  - operator()(const Profile::Sample& a, const Profile::Sample& b) const
  - operator()(const Profile::Sample& s) const
  - tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
  - tcmalloc::tcmalloc_internal::GetFirstSegment
  - tcmalloc::tcmalloc_internal::GetSoName
  - operator()(const Profile::Sample& a, const Profile::Sample& b) const
  - operator()(const Profile::Sample& s) const
  - tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
  - tcmalloc::tcmalloc_internal::GetBuildId
  - tcmalloc::tcmalloc_internal::ProfileBuilder::ProfileBuilder
  - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
  - tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
  - tcmalloc::tcmalloc_internal::ProfileBuilder::InternCallstack
  - tcmalloc::tcmalloc_internal::ProfileBuilder::AddCurrentMappings
  - tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
  - tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
  - tcmalloc::tcmalloc_internal::ProfileBuilder::Finalize
  - tcmalloc::tcmalloc_internal::MakeProfileProto
  - tcmalloc::tcmalloc_internal::ProfileBuilder::SetDocURL
  - tcmalloc::tcmalloc_internal::MakeProfileProto
  - tcmalloc::tcmalloc_internal::GetFirstSegment
  - tcmalloc::tcmalloc_internal::GetSoName
  - operator()(const Profile::Sample& a, const Profile::Sample& b) const
  - operator()(const Profile::Sample& s) const
  - tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
  - tcmalloc::tcmalloc_internal::GetFirstSegment
  - tcmalloc::tcmalloc_internal::GetSoName
  - operator()(const Profile::Sample& a, const Profile::Sample& b) const
  - operator()(const Profile::Sample& s) const
  - tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
  - tcmalloc::tcmalloc_internal::GetBuildId
  - tcmalloc::tcmalloc_internal::ProfileBuilder::ProfileBuilder
  - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
  - tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
  - tcmalloc::tcmalloc_internal::ProfileBuilder::InternCallstack
  - tcmalloc::tcmalloc_internal::ProfileBuilder::AddCurrentMappings
  - tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
  - tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
  - tcmalloc::tcmalloc_internal::ProfileBuilder::Finalize
  - tcmalloc::tcmalloc_internal::MakeProfileProto
  - tcmalloc::tcmalloc_internal::ProfileBuilder::SetDocURL
  - tcmalloc::tcmalloc_internal::MakeProfileProto
  source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: count
        type: int64_t
      - name: sum
        type: int64_t
      - name: resident_size
        type: std::optional<size_t>
      - name: swapped_size
        type: std::optional<size_t>
      - name: stale_size
        type: std::optional<size_t>
      - name: locked_size
        type: std::optional<size_t>
      - name: stale_scan_period
        type: std::optional<uint64_t>
      item_type: struct
      name: SampleMergedData
      pos:
        line_end: 111
        line_start: 103
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleEqWithSubFields
      pos:
        line_end: 126
        line_start: 115
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleHashWithSubFields
      pos:
        line_end: 135
        line_start: 128
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields:
      - name: count
        type: int64_t
      - name: sum
        type: int64_t
      - name: resident_size
        type: std::optional<size_t>
      - name: swapped_size
        type: std::optional<size_t>
      - name: stale_size
        type: std::optional<size_t>
      - name: locked_size
        type: std::optional<size_t>
      - name: stale_scan_period
        type: std::optional<uint64_t>
      item_type: struct
      name: SampleMergedData
      pos:
        line_end: 111
        line_start: 103
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleEqWithSubFields
      pos:
        line_end: 126
        line_start: 115
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleHashWithSubFields
      pos:
        line_end: 135
        line_start: 128
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields:
      - name: count
        type: int64_t
      - name: sum
        type: int64_t
      - name: resident_size
        type: std::optional<size_t>
      - name: swapped_size
        type: std::optional<size_t>
      - name: stale_size
        type: std::optional<size_t>
      - name: locked_size
        type: std::optional<size_t>
      - name: stale_scan_period
        type: std::optional<uint64_t>
      item_type: struct
      name: SampleMergedData
      pos:
        line_end: 111
        line_start: 103
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleEqWithSubFields
      pos:
        line_end: 126
        line_start: 115
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleHashWithSubFields
      pos:
        line_end: 135
        line_start: 128
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields:
      - name: count
        type: int64_t
      - name: sum
        type: int64_t
      - name: resident_size
        type: std::optional<size_t>
      - name: swapped_size
        type: std::optional<size_t>
      - name: stale_size
        type: std::optional<size_t>
      - name: locked_size
        type: std::optional<size_t>
      - name: stale_scan_period
        type: std::optional<uint64_t>
      item_type: struct
      name: SampleMergedData
      pos:
        line_end: 111
        line_start: 103
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleEqWithSubFields
      pos:
        line_end: 126
        line_start: 115
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleHashWithSubFields
      pos:
        line_end: 135
        line_start: 128
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields:
      - name: count
        type: int64_t
      - name: sum
        type: int64_t
      - name: resident_size
        type: std::optional<size_t>
      - name: swapped_size
        type: std::optional<size_t>
      - name: stale_size
        type: std::optional<size_t>
      - name: locked_size
        type: std::optional<size_t>
      - name: stale_scan_period
        type: std::optional<uint64_t>
      item_type: struct
      name: SampleMergedData
      pos:
        line_end: 111
        line_start: 103
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleEqWithSubFields
      pos:
        line_end: 126
        line_start: 115
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleHashWithSubFields
      pos:
        line_end: 135
        line_start: 128
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields:
      - name: count
        type: int64_t
      - name: sum
        type: int64_t
      - name: resident_size
        type: std::optional<size_t>
      - name: swapped_size
        type: std::optional<size_t>
      - name: stale_size
        type: std::optional<size_t>
      - name: locked_size
        type: std::optional<size_t>
      - name: stale_scan_period
        type: std::optional<uint64_t>
      item_type: struct
      name: SampleMergedData
      pos:
        line_end: 111
        line_start: 103
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleEqWithSubFields
      pos:
        line_end: 126
        line_start: 115
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleHashWithSubFields
      pos:
        line_end: 135
        line_start: 128
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields:
      - name: count
        type: int64_t
      - name: sum
        type: int64_t
      - name: resident_size
        type: std::optional<size_t>
      - name: swapped_size
        type: std::optional<size_t>
      - name: stale_size
        type: std::optional<size_t>
      - name: locked_size
        type: std::optional<size_t>
      - name: stale_scan_period
        type: std::optional<uint64_t>
      item_type: struct
      name: SampleMergedData
      pos:
        line_end: 111
        line_start: 103
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleEqWithSubFields
      pos:
        line_end: 126
        line_start: 115
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleHashWithSubFields
      pos:
        line_end: 135
        line_start: 128
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields:
      - name: count
        type: int64_t
      - name: sum
        type: int64_t
      - name: resident_size
        type: std::optional<size_t>
      - name: swapped_size
        type: std::optional<size_t>
      - name: stale_size
        type: std::optional<size_t>
      - name: locked_size
        type: std::optional<size_t>
      - name: stale_scan_period
        type: std::optional<uint64_t>
      item_type: struct
      name: SampleMergedData
      pos:
        line_end: 111
        line_start: 103
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleEqWithSubFields
      pos:
        line_end: 126
        line_start: 115
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleHashWithSubFields
      pos:
        line_end: 135
        line_start: 128
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    typedefs: []
    union: []
- function_names:
  - namespace
  - '& Instance()'
  - tcmalloc_internal::CacheTopology::CacheTopology
  - tcmalloc_internal::CacheTopology::l3_count
  - tcmalloc_internal::CacheTopology::GetL3FromCpuId
  - '& Instance()'
  - tcmalloc_internal::CacheTopology::CacheTopology
  - tcmalloc_internal::CacheTopology::l3_count
  - tcmalloc_internal::CacheTopology::GetL3FromCpuId
  source_file: /src/tcmalloc/tcmalloc/internal/cache_topology.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/tcmalloc/tcmalloc/internal/logging_test_helper.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::signal_safe_open
  - tcmalloc_internal::signal_safe_close
  - tcmalloc_internal::signal_safe_write
  - tcmalloc_internal::signal_safe_poll
  - tcmalloc_internal::signal_safe_read
  - tcmalloc_internal::signal_safe_open
  - tcmalloc_internal::signal_safe_close
  - tcmalloc_internal::signal_safe_write
  - tcmalloc_internal::signal_safe_poll
  - tcmalloc_internal::signal_safe_read
  source_file: /src/tcmalloc/tcmalloc/internal/util.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/profile_builder_no_tcmalloc_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::Bitmap::Bitmap
  - tcmalloc_internal::Bitmap::size
  - tcmalloc_internal::RangeTracker::RangeTracker
  - tcmalloc_internal::RangeTracker::UnsignedTypeFittingSize::Fit
  - tcmalloc_internal::RangeTracker<N>::size
  - tcmalloc_internal::RangeTracker<N>::used
  - tcmalloc_internal::RangeTracker<N>::longest_free
  - tcmalloc_internal::RangeTracker<N>::allocs
  - tcmalloc_internal::RangeTracker<N>::FindAndMark
  - tcmalloc_internal::RangeTracker<N>::Mark
  - tcmalloc_internal::RangeTracker<N>::Unmark
  - tcmalloc_internal::RangeTracker<N>::bits
  - tcmalloc_internal::RangeTracker<N>::NextFreeRange
  - tcmalloc_internal::RangeTracker<N>::Clear
  - tcmalloc_internal::Bitmap<N>::CountWordBits
  - tcmalloc_internal::Bitmap<N>::SetWordBits
  - tcmalloc_internal::Bitmap<N>::GetBit
  - tcmalloc_internal::Bitmap<N>::SetBit
  - tcmalloc_internal::Bitmap<N>::ClearBit
  - tcmalloc_internal::Bitmap<N>::CountBits
  - tcmalloc_internal::Bitmap<N>::CountBits
  - tcmalloc_internal::Bitmap<N>::IsZero
  - tcmalloc_internal::Bitmap<N>::SetRange
  - tcmalloc_internal::Bitmap<N>::ClearRange
  - tcmalloc_internal::Bitmap<N>::ClearLowestBit
  - tcmalloc_internal::Bitmap<N>::SetRangeValue
  - tcmalloc_internal::Bitmap<N>::NextFreeRange
  - tcmalloc_internal::Bitmap<N>::FindSet
  - tcmalloc_internal::Bitmap<N>::FindClear
  - tcmalloc_internal::Bitmap<N>::FindSetBackwards
  - tcmalloc_internal::Bitmap<N>::FindClearBackwards
  - tcmalloc_internal::Bitmap<N>::Clear
  - tcmalloc_internal::Bitmap<N>::FindValue
  - tcmalloc_internal::Bitmap<N>::FindValueBackwards
  - tcmalloc_internal::Bitmap::Bitmap
  - tcmalloc_internal::Bitmap::size
  - tcmalloc_internal::RangeTracker::RangeTracker
  - tcmalloc_internal::RangeTracker::UnsignedTypeFittingSize::Fit
  - tcmalloc_internal::RangeTracker<N>::size
  - tcmalloc_internal::RangeTracker<N>::used
  - tcmalloc_internal::RangeTracker<N>::longest_free
  - tcmalloc_internal::RangeTracker<N>::allocs
  - tcmalloc_internal::RangeTracker<N>::FindAndMark
  - tcmalloc_internal::RangeTracker<N>::Mark
  - tcmalloc_internal::RangeTracker<N>::Unmark
  - tcmalloc_internal::RangeTracker<N>::bits
  - tcmalloc_internal::RangeTracker<N>::NextFreeRange
  - tcmalloc_internal::RangeTracker<N>::Clear
  - tcmalloc_internal::Bitmap<N>::CountWordBits
  - tcmalloc_internal::Bitmap<N>::SetWordBits
  - tcmalloc_internal::Bitmap<N>::GetBit
  - tcmalloc_internal::Bitmap<N>::SetBit
  - tcmalloc_internal::Bitmap<N>::ClearBit
  - tcmalloc_internal::Bitmap<N>::CountBits
  - tcmalloc_internal::Bitmap<N>::CountBits
  - tcmalloc_internal::Bitmap<N>::IsZero
  - tcmalloc_internal::Bitmap<N>::SetRange
  - tcmalloc_internal::Bitmap<N>::ClearRange
  - tcmalloc_internal::Bitmap<N>::ClearLowestBit
  - tcmalloc_internal::Bitmap<N>::SetRangeValue
  - tcmalloc_internal::Bitmap<N>::NextFreeRange
  - tcmalloc_internal::Bitmap<N>::FindSet
  - tcmalloc_internal::Bitmap<N>::FindClear
  - tcmalloc_internal::Bitmap<N>::FindSetBackwards
  - tcmalloc_internal::Bitmap<N>::FindClearBackwards
  - tcmalloc_internal::Bitmap<N>::Clear
  - tcmalloc_internal::Bitmap<N>::FindValue
  - tcmalloc_internal::Bitmap<N>::FindValueBackwards
  source_file: /src/tcmalloc/tcmalloc/internal/range_tracker.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: U32
      pos:
        line_end: 149
        line_start: 146
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    - fields: []
      item_type: struct
      name: U16
      pos:
        line_end: 154
        line_start: 151
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    - fields: []
      item_type: struct
      name: U8
      pos:
        line_end: 159
        line_start: 156
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    - fields: []
      item_type: struct
      name: U32
      pos:
        line_end: 149
        line_start: 146
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    - fields: []
      item_type: struct
      name: U16
      pos:
        line_end: 154
        line_start: 151
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    - fields: []
      item_type: struct
      name: U8
      pos:
        line_end: 159
        line_start: 156
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/sysinfo_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/allocation_guard_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::register_rseq
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::register_rseq
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::register_rseq
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::register_rseq
  source_file: /src/tcmalloc/tcmalloc/internal/percpu_early_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - ASSUME
  - ASSUME
  - ASSUME
  - ASSUME
  - tcmalloc_internal::AssumeNotNull
  - ASSUME
  - ASSUME
  - ASSUME
  - ASSUME
  - tcmalloc_internal::AssumeNotNull
  source_file: /src/tcmalloc/tcmalloc/internal/optimization.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TCMALLOC_ATTRIBUTE_CONST
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcmalloc/tcmalloc/internal/optimization.h
      type_or_value: __attribute__((const))
    - item_type: preproc_def
      name: TCMALLOC_MUSTTAIL
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/internal/optimization.h
      type_or_value: '[[clang::musttail]]'
    - item_type: preproc_def
      name: TCMALLOC_ATTRIBUTE_CONST
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcmalloc/tcmalloc/internal/optimization.h
      type_or_value: __attribute__((const))
    - item_type: preproc_def
      name: TCMALLOC_MUSTTAIL
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/internal/optimization.h
      type_or_value: '[[clang::musttail]]'
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
  - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
  - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
  - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
  - tcmalloc_internal::subtle::percpu::GetRealCpu
  - tcmalloc_internal::subtle::percpu::VirtualCpu::get
  - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
  - tcmalloc_internal::subtle::percpu::IsFast
  - tcmalloc_internal::subtle::percpu::IsFastNoInit
  - tcmalloc_internal::subtle::percpu::CompilerBarrier
  - tcmalloc_internal::subtle::percpu::TSANAcquire
  - tcmalloc_internal::subtle::percpu::TSANAcquireBatch
  - tcmalloc_internal::subtle::percpu::TSANRelease
  - tcmalloc_internal::subtle::percpu::TSANReleaseBatch
  - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
  - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
  - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
  - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
  - tcmalloc_internal::subtle::percpu::GetRealCpu
  - tcmalloc_internal::subtle::percpu::VirtualCpu::get
  - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
  - tcmalloc_internal::subtle::percpu::IsFast
  - tcmalloc_internal::subtle::percpu::IsFastNoInit
  - tcmalloc_internal::subtle::percpu::CompilerBarrier
  - tcmalloc_internal::subtle::percpu::TSANAcquire
  - tcmalloc_internal::subtle::percpu::TSANAcquireBatch
  - tcmalloc_internal::subtle::percpu::TSANRelease
  - tcmalloc_internal::subtle::percpu::TSANReleaseBatch
  - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
  - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
  - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
  - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
  - tcmalloc_internal::subtle::percpu::GetRealCpu
  - tcmalloc_internal::subtle::percpu::VirtualCpu::get
  - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
  - tcmalloc_internal::subtle::percpu::IsFast
  - tcmalloc_internal::subtle::percpu::IsFastNoInit
  - tcmalloc_internal::subtle::percpu::CompilerBarrier
  - tcmalloc_internal::subtle::percpu::TSANAcquire
  - tcmalloc_internal::subtle::percpu::TSANAcquireBatch
  - tcmalloc_internal::subtle::percpu::TSANRelease
  - tcmalloc_internal::subtle::percpu::TSANReleaseBatch
  - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
  - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
  - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
  - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
  - tcmalloc_internal::subtle::percpu::GetRealCpu
  - tcmalloc_internal::subtle::percpu::VirtualCpu::get
  - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
  - tcmalloc_internal::subtle::percpu::IsFast
  - tcmalloc_internal::subtle::percpu::IsFastNoInit
  - tcmalloc_internal::subtle::percpu::CompilerBarrier
  - tcmalloc_internal::subtle::percpu::TSANAcquire
  - tcmalloc_internal::subtle::percpu::TSANAcquireBatch
  - tcmalloc_internal::subtle::percpu::TSANRelease
  - tcmalloc_internal::subtle::percpu::TSANReleaseBatch
  - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
  - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
  - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
  - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
  - tcmalloc_internal::subtle::percpu::GetRealCpu
  - tcmalloc_internal::subtle::percpu::VirtualCpu::get
  - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
  - tcmalloc_internal::subtle::percpu::IsFast
  - tcmalloc_internal::subtle::percpu::IsFastNoInit
  - tcmalloc_internal::subtle::percpu::CompilerBarrier
  - tcmalloc_internal::subtle::percpu::TSANAcquire
  - tcmalloc_internal::subtle::percpu::TSANAcquireBatch
  - tcmalloc_internal::subtle::percpu::TSANRelease
  - tcmalloc_internal::subtle::percpu::TSANReleaseBatch
  - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
  - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
  - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
  - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
  - tcmalloc_internal::subtle::percpu::GetRealCpu
  - tcmalloc_internal::subtle::percpu::VirtualCpu::get
  - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
  - tcmalloc_internal::subtle::percpu::IsFast
  - tcmalloc_internal::subtle::percpu::IsFastNoInit
  - tcmalloc_internal::subtle::percpu::CompilerBarrier
  - tcmalloc_internal::subtle::percpu::TSANAcquire
  - tcmalloc_internal::subtle::percpu::TSANAcquireBatch
  - tcmalloc_internal::subtle::percpu::TSANRelease
  - tcmalloc_internal::subtle::percpu::TSANReleaseBatch
  - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
  - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
  - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
  - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
  - tcmalloc_internal::subtle::percpu::GetRealCpu
  - tcmalloc_internal::subtle::percpu::VirtualCpu::get
  - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
  - tcmalloc_internal::subtle::percpu::IsFast
  - tcmalloc_internal::subtle::percpu::IsFastNoInit
  - tcmalloc_internal::subtle::percpu::CompilerBarrier
  - tcmalloc_internal::subtle::percpu::TSANAcquire
  - tcmalloc_internal::subtle::percpu::TSANAcquireBatch
  - tcmalloc_internal::subtle::percpu::TSANRelease
  - tcmalloc_internal::subtle::percpu::TSANReleaseBatch
  - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
  - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
  - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
  - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
  - tcmalloc_internal::subtle::percpu::GetRealCpu
  - tcmalloc_internal::subtle::percpu::VirtualCpu::get
  - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
  - tcmalloc_internal::subtle::percpu::IsFast
  - tcmalloc_internal::subtle::percpu::IsFastNoInit
  - tcmalloc_internal::subtle::percpu::CompilerBarrier
  - tcmalloc_internal::subtle::percpu::TSANAcquire
  - tcmalloc_internal::subtle::percpu::TSANAcquireBatch
  - tcmalloc_internal::subtle::percpu::TSANRelease
  - tcmalloc_internal::subtle::percpu::TSANReleaseBatch
  source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
  types:
    enum:
    - enumerators:
      - name: kNone
      item_type: enum
      name: RseqVcpuMode
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
    - enumerators:
      - name: kNone
      item_type: enum
      name: RseqVcpuMode
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
    - enumerators:
      - name: kNone
      item_type: enum
      name: RseqVcpuMode
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
    - enumerators:
      - name: kNone
      item_type: enum
      name: RseqVcpuMode
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
    - enumerators:
      - name: kNone
      item_type: enum
      name: RseqVcpuMode
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
    - enumerators:
      - name: kNone
      item_type: enum
      name: RseqVcpuMode
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
    - enumerators:
      - name: kNone
      item_type: enum
      name: RseqVcpuMode
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
    - enumerators:
      - name: kNone
      item_type: enum
      name: RseqVcpuMode
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
    preproc_defs:
    - item_type: preproc_def
      name: TCMALLOC_SAMPLER_SIZE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '32'
    - item_type: preproc_def
      name: TCMALLOC_SAMPLER_ALIGN
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TCMALLOC_SAMPLER_HOT_OFFSET
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '24'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_SLABS_OFFSET
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '-4'
    - item_type: preproc_def
      name: TCMALLOC_CACHED_SLABS_BIT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '63'
    - item_type: preproc_def
      name: TCMALLOC_CACHED_SLABS_MASK
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: (1ul << TCMALLOC_CACHED_SLABS_BIT)
    - item_type: preproc_def
      name: TCMALLOC_PERCPU_RSEQ_SUPPORTED_PLATFORM
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TCMALLOC_PERCPU_RSEQ_SUPPORTED_PLATFORM
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TCMALLOC_PERCPU_RSEQ_VERSION
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: TCMALLOC_PERCPU_RSEQ_FLAGS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: TCMALLOC_PERCPU_RSEQ_SIGNATURE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '0x53053053'
    - item_type: preproc_def
      name: TCMALLOC_PERCPU_RSEQ_SIGNATURE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '0xd428bc00'
    - item_type: preproc_def
      name: TCMALLOC_PERCPU_RSEQ_SIGNATURE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: TCMALLOC_INTERNAL_PERCPU_USE_RSEQ
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TCMALLOC_INTERNAL_PERCPU_USE_RSEQ
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::WriteMessage
  - tcmalloc_internal::RecordBazelWarning
  - tcmalloc_internal::RecordTestFailure
  - tcmalloc_internal::RecordCrash
  - tcmalloc_internal::Crash
  - tcmalloc_internal::CheckFailed
  - tcmalloc_internal::CrashWithOOM
  - tcmalloc_internal::PrintStackTrace
  - tcmalloc_internal::PrintStackTraceFromSignalHandler
  - tcmalloc_internal::PbtxtRegion::PbtxtRegion
  - PbtxtRegion::~PbtxtRegion()
  - tcmalloc_internal::PbtxtRegion::PrintI64
  - tcmalloc_internal::PbtxtRegion::PrintDouble
  - tcmalloc_internal::PbtxtRegion::PrintBool
  - tcmalloc_internal::PbtxtRegion::PrintRaw
  - tcmalloc_internal::PbtxtRegion::InjectValues
  - tcmalloc_internal::PbtxtRegion::CreateSubRegion
  - tcmalloc_internal::WriteMessage
  - tcmalloc_internal::RecordBazelWarning
  - tcmalloc_internal::RecordTestFailure
  - tcmalloc_internal::RecordCrash
  - tcmalloc_internal::Crash
  - tcmalloc_internal::CheckFailed
  - tcmalloc_internal::CrashWithOOM
  - tcmalloc_internal::PrintStackTrace
  - tcmalloc_internal::PrintStackTraceFromSignalHandler
  - tcmalloc_internal::PbtxtRegion::PbtxtRegion
  - PbtxtRegion::~PbtxtRegion()
  - tcmalloc_internal::PbtxtRegion::PrintI64
  - tcmalloc_internal::PbtxtRegion::PrintDouble
  - tcmalloc_internal::PbtxtRegion::PrintBool
  - tcmalloc_internal::PbtxtRegion::PrintRaw
  - tcmalloc_internal::PbtxtRegion::InjectValues
  - tcmalloc_internal::PbtxtRegion::CreateSubRegion
  source_file: /src/tcmalloc/tcmalloc/internal/logging.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - TC_LOG
  - tcmalloc_internal::CheckFailed
  - tcmalloc_internal::LogImpl
  - TC_BUG
  - TC_CHECK
  - TC_CHECK_EQ
  - TC_CHECK_NE
  - TC_CHECK_LT
  - TC_CHECK_LE
  - TC_CHECK_GT
  - TC_CHECK_GE
  - TC_ASSERT
  - TC_ASSERT_EQ
  - TC_ASSERT_NE
  - TC_ASSERT_LT
  - TC_ASSERT_LE
  - TC_ASSERT_GT
  - TC_ASSERT_GE
  - TCMALLOC_CHECK_IMPL
  - TCMALLOC_CHECK_OP
  - tcmalloc_internal::AbslStringify
  - tcmalloc_internal::FormatConvert
  - tcmalloc_internal::FormatConvert
  - tcmalloc_internal::AbslStringify
  - tcmalloc_internal::FormatConvert
  - tcmalloc_internal::FormatConvert
  - tcmalloc_internal::Printer::Printer
  - tcmalloc_internal::Printer::Printer
  - tcmalloc_internal::Printer::Printer
  - tcmalloc_internal::Printer::printf
  - tcmalloc_internal::Printer::Append
  - tcmalloc_internal::Printer::SpaceRequired
  - tcmalloc_internal::Printer::AppendPieces
  - tcmalloc_internal::PbtxtRegion::PbtxtRegion
  - tcmalloc_internal::PbtxtRegion::PbtxtRegion
  - TC_LOG
  - tcmalloc_internal::CheckFailed
  - tcmalloc_internal::LogImpl
  - TC_BUG
  - TC_CHECK
  - TC_CHECK_EQ
  - TC_CHECK_NE
  - TC_CHECK_LT
  - TC_CHECK_LE
  - TC_CHECK_GT
  - TC_CHECK_GE
  - TC_ASSERT
  - TC_ASSERT_EQ
  - TC_ASSERT_NE
  - TC_ASSERT_LT
  - TC_ASSERT_LE
  - TC_ASSERT_GT
  - TC_ASSERT_GE
  - TCMALLOC_CHECK_IMPL
  - TCMALLOC_CHECK_OP
  - tcmalloc_internal::AbslStringify
  - tcmalloc_internal::FormatConvert
  - tcmalloc_internal::FormatConvert
  - tcmalloc_internal::AbslStringify
  - tcmalloc_internal::FormatConvert
  - tcmalloc_internal::FormatConvert
  - tcmalloc_internal::Printer::Printer
  - tcmalloc_internal::Printer::Printer
  - tcmalloc_internal::Printer::Printer
  - tcmalloc_internal::Printer::printf
  - tcmalloc_internal::Printer::Append
  - tcmalloc_internal::Printer::SpaceRequired
  - tcmalloc_internal::Printer::AppendPieces
  - tcmalloc_internal::PbtxtRegion::PbtxtRegion
  - tcmalloc_internal::PbtxtRegion::PbtxtRegion
  source_file: /src/tcmalloc/tcmalloc/internal/logging.h
  types:
    enum:
    - enumerators:
      - name: kTop
      - name: kNested
      item_type: enum
      name: PbtxtRegionType
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
    - enumerators:
      - name: kTop
      - name: kNested
      item_type: enum
      name: PbtxtRegionType
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
    preproc_defs:
    - item_type: preproc_def
      name: TC_ASSERT
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK
    - item_type: preproc_def
      name: TC_ASSERT_EQ
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK_EQ
    - item_type: preproc_def
      name: TC_ASSERT_NE
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK_NE
    - item_type: preproc_def
      name: TC_ASSERT_LT
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK_LT
    - item_type: preproc_def
      name: TC_ASSERT_LE
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK_LE
    - item_type: preproc_def
      name: TC_ASSERT_GT
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK_GT
    - item_type: preproc_def
      name: TC_ASSERT_GE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK_GE
    - item_type: preproc_def
      name: TC_ASSERT
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK
    - item_type: preproc_def
      name: TC_ASSERT_EQ
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK_EQ
    - item_type: preproc_def
      name: TC_ASSERT_NE
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK_NE
    - item_type: preproc_def
      name: TC_ASSERT_LT
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK_LT
    - item_type: preproc_def
      name: TC_ASSERT_LE
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK_LE
    - item_type: preproc_def
      name: TC_ASSERT_GT
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK_GT
    - item_type: preproc_def
      name: TC_ASSERT_GE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK_GE
    structs:
    - fields:
      - name: sampled_alloc_handle
        type: AllocHandle
      - name: '* proxy'
        type: void
      - name: requested_size
        type: uintptr_t
      - name: requested_alignment
        type: uintptr_t
      - name: allocated_size
        type: uintptr_t
      - name: requested_size_returning
        type: bool
      - name: access_hint
        type: uint8_t
      - name: cold_allocated
        type: bool
      - name: weight
        type: size_t
      - name: allocation_time
        type: absl::Time
      - name: guarded_status
        type: Profile::Sample::GuardedStatus
      - name: allocation_type
        type: Profile::Sample::AllocationType
      - name: '* span_start_address'
        type: void
      - name: depth
        type: uintptr_t
      - name: '* stack[kMaxStackDepth]'
        type: void
      item_type: struct
      name: StackTrace
      pos:
        line_end: 103
        line_start: 61
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
    - fields:
      - name: '* val'
        type: void
      item_type: struct
      name: PtrFormatter
      pos:
        line_end: 218
        line_start: 212
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
    - fields:
      - name: '* val'
        type: T
      item_type: struct
      name: OptionalFormatter
      pos:
        line_end: 238
        line_start: 228
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
    - fields:
      - name: sampled_alloc_handle
        type: AllocHandle
      - name: '* proxy'
        type: void
      - name: requested_size
        type: uintptr_t
      - name: requested_alignment
        type: uintptr_t
      - name: allocated_size
        type: uintptr_t
      - name: requested_size_returning
        type: bool
      - name: access_hint
        type: uint8_t
      - name: cold_allocated
        type: bool
      - name: weight
        type: size_t
      - name: allocation_time
        type: absl::Time
      - name: guarded_status
        type: Profile::Sample::GuardedStatus
      - name: allocation_type
        type: Profile::Sample::AllocationType
      - name: '* span_start_address'
        type: void
      - name: depth
        type: uintptr_t
      - name: '* stack[kMaxStackDepth]'
        type: void
      item_type: struct
      name: StackTrace
      pos:
        line_end: 103
        line_start: 61
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
    - fields:
      - name: '* val'
        type: void
      item_type: struct
      name: PtrFormatter
      pos:
        line_end: 218
        line_start: 212
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
    - fields:
      - name: '* val'
        type: T
      item_type: struct
      name: OptionalFormatter
      pos:
        line_end: 238
        line_start: 228
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::SampleRecorder::SampleRecorder
  - '& operator=(const SampleRecorder&)'
  - tcmalloc_internal::SampleRecorder::SampleRecorder
  - '& operator=(SampleRecorder&&)'
  - tcmalloc_internal::SampleRecorder<T, Allocator>::SetDisposeCallback
  - tcmalloc_internal::SampleRecorder<T, Allocator>::SampleRecorder
  - SampleRecorder<T, Allocator>::~SampleRecorder()
  - tcmalloc_internal::SampleRecorder<T, Allocator>::PushNew
  - tcmalloc_internal::SampleRecorder<T, Allocator>::PushDead
  - tcmalloc_internal::SampleRecorder<T, Allocator>::PopDead
  - tcmalloc_internal::SampleRecorder<T, Allocator>::Register
  - tcmalloc_internal::SampleRecorder<T, Allocator>::Unregister
  - tcmalloc_internal::SampleRecorder<T, Allocator>::UnregisterAll
  - tcmalloc_internal::SampleRecorder<T, Allocator>::Iterate
  - tcmalloc_internal::SampleRecorder::SampleRecorder
  - '& operator=(const SampleRecorder&)'
  - tcmalloc_internal::SampleRecorder::SampleRecorder
  - '& operator=(SampleRecorder&&)'
  - tcmalloc_internal::SampleRecorder<T, Allocator>::SetDisposeCallback
  - tcmalloc_internal::SampleRecorder<T, Allocator>::SampleRecorder
  - SampleRecorder<T, Allocator>::~SampleRecorder()
  - tcmalloc_internal::SampleRecorder<T, Allocator>::PushNew
  - tcmalloc_internal::SampleRecorder<T, Allocator>::PushDead
  - tcmalloc_internal::SampleRecorder<T, Allocator>::PopDead
  - tcmalloc_internal::SampleRecorder<T, Allocator>::Register
  - tcmalloc_internal::SampleRecorder<T, Allocator>::Unregister
  - tcmalloc_internal::SampleRecorder<T, Allocator>::UnregisterAll
  - tcmalloc_internal::SampleRecorder<T, Allocator>::Iterate
  source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: lock
        type: absl::base_internal::SpinLock
      - name: '* next'
        type: T
      - name: '* dead ABSL_GUARDED_BY(lock)'
        type: T
      item_type: struct
      name: Sample
      pos:
        line_end: 48
        line_start: 41
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    - fields:
      - name: lock
        type: absl::base_internal::SpinLock
      - name: '* next'
        type: T
      - name: '* dead ABSL_GUARDED_BY(lock)'
        type: T
      item_type: struct
      name: Sample
      pos:
        line_end: 48
        line_start: 41
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::ProcMapsIterator::ProcMapsIterator
  - ProcMapsIterator::~ProcMapsIterator()
  - tcmalloc_internal::ProcMapsIterator::Valid
  - tcmalloc_internal::ProcMapsIterator::NextExt
  - tcmalloc_internal::ProcMapsIterator::ProcMapsIterator
  - ProcMapsIterator::~ProcMapsIterator()
  - tcmalloc_internal::ProcMapsIterator::Valid
  - tcmalloc_internal::ProcMapsIterator::NextExt
  source_file: /src/tcmalloc/tcmalloc/internal/proc_maps.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::StackTraceFilterTest::SetUp
  - tcmalloc::tcmalloc_internal::StackTraceFilterTest::InitializeColliderStackTrace
  - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::Wrapper::Wrapper
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::Wrapper::Wrapper
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::StackTraceFilterTest::SetUp
  - tcmalloc::tcmalloc_internal::StackTraceFilterTest::InitializeColliderStackTrace
  - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::Wrapper::Wrapper
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::Wrapper::Wrapper
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::StackTraceFilterTest::SetUp
  - tcmalloc::tcmalloc_internal::StackTraceFilterTest::InitializeColliderStackTrace
  - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::Wrapper::Wrapper
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::Wrapper::Wrapper
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::StackTraceFilterTest::SetUp
  - tcmalloc::tcmalloc_internal::StackTraceFilterTest::InitializeColliderStackTrace
  - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::Wrapper::Wrapper
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::Wrapper::Wrapper
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  source_file: /src/tcmalloc/tcmalloc/internal/stacktrace_filter_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - ~Residency()
  - tcmalloc_internal::ResidencyPageMap::GetNativePagesInHugePage
  - "& operator<<(std::ostream& stream,\n                                const Residency::Info&
    rhs)"
  - ~Residency()
  - tcmalloc_internal::ResidencyPageMap::GetNativePagesInHugePage
  - "& operator<<(std::ostream& stream,\n                                const Residency::Info&
    rhs)"
  source_file: /src/tcmalloc/tcmalloc/internal/residency.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bytes_resident
        type: size_t
      - name: bytes_swapped
        type: size_t
      item_type: struct
      name: Info
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/tcmalloc/tcmalloc/internal/residency.h
    - fields:
      - name: unbacked
        type: Bitmap<kMaxResidencyBits>
      - name: swapped
        type: Bitmap<kMaxResidencyBits>
      - name: status
        type: absl::StatusCode
      item_type: struct
      name: SinglePageBitmaps
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/tcmalloc/tcmalloc/internal/residency.h
    - fields:
      - name: bytes_resident
        type: size_t
      - name: bytes_swapped
        type: size_t
      item_type: struct
      name: Info
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/tcmalloc/tcmalloc/internal/residency.h
    - fields:
      - name: unbacked
        type: Bitmap<kMaxResidencyBits>
      - name: swapped
        type: Bitmap<kMaxResidencyBits>
      - name: status
        type: absl::StatusCode
      item_type: struct
      name: SinglePageBitmaps
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/tcmalloc/tcmalloc/internal/residency.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::MultiplyOverflow
  - tcmalloc_internal::MultiplyOverflow
  source_file: /src/tcmalloc/tcmalloc/internal/overflow.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::StatsCounter::StatsCounter
  - tcmalloc_internal::StatsCounter::StatsCounter
  - '& operator=(const StatsCounter&)'
  - ~StatsCounter()
  - tcmalloc_internal::StatsCounter::Add
  - tcmalloc_internal::StatsCounter::value
  - tcmalloc_internal::StatsCounter::LossyAdd
  - tcmalloc_internal::StatsCounters::StatsCounters
  - '& operator[](int i) ABSL_ATTRIBUTE_LIFETIME_BOUND'
  - '& operator[](int i) const ABSL_ATTRIBUTE_LIFETIME_BOUND'
  - tcmalloc_internal::StatsCounter::StatsCounter
  - tcmalloc_internal::StatsCounter::StatsCounter
  - '& operator=(const StatsCounter&)'
  - ~StatsCounter()
  - tcmalloc_internal::StatsCounter::Add
  - tcmalloc_internal::StatsCounter::value
  - tcmalloc_internal::StatsCounter::LossyAdd
  - tcmalloc_internal::StatsCounters::StatsCounters
  - '& operator[](int i) ABSL_ATTRIBUTE_LIFETIME_BOUND'
  - '& operator[](int i) const ABSL_ATTRIBUTE_LIFETIME_BOUND'
  source_file: /src/tcmalloc/tcmalloc/internal/atomic_stats_counter.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::CpuSet::Zero
  - tcmalloc_internal::CpuSet::Set
  - tcmalloc_internal::CpuSet::IsSet
  - tcmalloc_internal::CpuSet::CLR
  - tcmalloc_internal::CpuSet::Count
  - tcmalloc_internal::CpuSet::FindFirstSet
  - tcmalloc_internal::CpuSet::SetAffinity
  - tcmalloc_internal::CpuSet::GetAffinity
  - tcmalloc_internal::CpuSet::data
  - tcmalloc_internal::CpuSet::Zero
  - tcmalloc_internal::CpuSet::Set
  - tcmalloc_internal::CpuSet::IsSet
  - tcmalloc_internal::CpuSet::CLR
  - tcmalloc_internal::CpuSet::Count
  - tcmalloc_internal::CpuSet::FindFirstSet
  - tcmalloc_internal::CpuSet::SetAffinity
  - tcmalloc_internal::CpuSet::GetAffinity
  - tcmalloc_internal::CpuSet::data
  source_file: /src/tcmalloc/tcmalloc/internal/cpu_utils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::TimeSeriesTracker::TimeSeriesTracker
  - tcmalloc_internal::TimeSeriesTracker::UpdateTimeBase
  - tcmalloc_internal::TimeSeriesTracker::GetCurrentEpoch
  - tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::UpdateClock
  - tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Iter
  - tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::IterBackwards
  - tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::GetEpochAtOffset
  - tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Report
  - tcmalloc_internal::TimeSeriesTracker::TimeSeriesTracker
  - tcmalloc_internal::TimeSeriesTracker::UpdateTimeBase
  - tcmalloc_internal::TimeSeriesTracker::GetCurrentEpoch
  - tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::UpdateClock
  - tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Iter
  - tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::IterBackwards
  - tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::GetEpochAtOffset
  - tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Report
  source_file: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
  types:
    enum:
    - enumerators:
      - name: kSkipEmptyEntries
      - name: kDoNotSkipEmptyEntries
      item_type: enum
      name: SkipEntriesSetting
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    - enumerators:
      - name: kSkipEmptyEntries
      - name: kDoNotSkipEmptyEntries
      item_type: enum
      name: SkipEntriesSetting
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::FakeProfile::SetSamples
  - tcmalloc::tcmalloc_internal::FakeProfile::Iterate
  - tcmalloc::tcmalloc_internal::FakeProfile::Type
  - tcmalloc::tcmalloc_internal::FakeProfile::SetType
  - tcmalloc::tcmalloc_internal::FakeProfile::Duration
  - tcmalloc::tcmalloc_internal::FakeProfile::SetDuration
  - tcmalloc::tcmalloc_internal::FakeProfile::StartTime
  - tcmalloc::tcmalloc_internal::FakeProfile::SetStartTime
  - tcmalloc::tcmalloc_internal::FakeProfile::SetSamples
  - tcmalloc::tcmalloc_internal::FakeProfile::Iterate
  - tcmalloc::tcmalloc_internal::FakeProfile::Type
  - tcmalloc::tcmalloc_internal::FakeProfile::SetType
  - tcmalloc::tcmalloc_internal::FakeProfile::Duration
  - tcmalloc::tcmalloc_internal::FakeProfile::SetDuration
  - tcmalloc::tcmalloc_internal::FakeProfile::StartTime
  - tcmalloc::tcmalloc_internal::FakeProfile::SetStartTime
  - tcmalloc::tcmalloc_internal::FakeProfile::SetSamples
  - tcmalloc::tcmalloc_internal::FakeProfile::Iterate
  - tcmalloc::tcmalloc_internal::FakeProfile::Type
  - tcmalloc::tcmalloc_internal::FakeProfile::SetType
  - tcmalloc::tcmalloc_internal::FakeProfile::Duration
  - tcmalloc::tcmalloc_internal::FakeProfile::SetDuration
  - tcmalloc::tcmalloc_internal::FakeProfile::StartTime
  - tcmalloc::tcmalloc_internal::FakeProfile::SetStartTime
  - tcmalloc::tcmalloc_internal::FakeProfile::SetSamples
  - tcmalloc::tcmalloc_internal::FakeProfile::Iterate
  - tcmalloc::tcmalloc_internal::FakeProfile::Type
  - tcmalloc::tcmalloc_internal::FakeProfile::SetType
  - tcmalloc::tcmalloc_internal::FakeProfile::Duration
  - tcmalloc::tcmalloc_internal::FakeProfile::SetDuration
  - tcmalloc::tcmalloc_internal::FakeProfile::StartTime
  - tcmalloc::tcmalloc_internal::FakeProfile::SetStartTime
  source_file: /src/tcmalloc/tcmalloc/internal/fake_profile.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::IsInBounds
  - tcmalloc_internal::IsInBounds
  - tcmalloc_internal::ParseCpulist
  - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
  - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
  - tcmalloc_internal::IsInBounds
  - tcmalloc_internal::IsInBounds
  - tcmalloc_internal::ParseCpulist
  - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
  - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
  source_file: /src/tcmalloc/tcmalloc/internal/sysinfo.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace::tcmalloc_internal
  - HookListBase::HookListBase
  - HookList::HookList
  - HookList::HookList
  - HookList::empty
  - HookList::size
  - HookList<T>::Add
  - HookList<T>::Remove
  - HookList<T>::Traverse
  source_file: /src/tcmalloc/tcmalloc/internal/hook_list.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::Info
  - tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc::tcmalloc_internal::TestAllocator::New
  - tcmalloc::tcmalloc_internal::TestAllocator::Delete
  - tcmalloc::tcmalloc_internal::TestAllocator::alloc_count
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::SampleRecorderTest
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::GetSizes
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::InfoWithParam
  - tcmalloc::tcmalloc_internal::InfoWithParam
  - tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc::tcmalloc_internal::InfoAllocator::New
  - tcmalloc::tcmalloc_internal::InfoAllocator::Delete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Info
  - tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc::tcmalloc_internal::TestAllocator::New
  - tcmalloc::tcmalloc_internal::TestAllocator::Delete
  - tcmalloc::tcmalloc_internal::TestAllocator::alloc_count
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::SampleRecorderTest
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::GetSizes
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::InfoWithParam
  - tcmalloc::tcmalloc_internal::InfoWithParam
  - tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc::tcmalloc_internal::InfoAllocator::New
  - tcmalloc::tcmalloc_internal::InfoAllocator::Delete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Info
  - tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc::tcmalloc_internal::TestAllocator::New
  - tcmalloc::tcmalloc_internal::TestAllocator::Delete
  - tcmalloc::tcmalloc_internal::TestAllocator::alloc_count
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::SampleRecorderTest
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::GetSizes
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::InfoWithParam
  - tcmalloc::tcmalloc_internal::InfoWithParam
  - tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc::tcmalloc_internal::InfoAllocator::New
  - tcmalloc::tcmalloc_internal::InfoAllocator::Delete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Info
  - tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc::tcmalloc_internal::TestAllocator::New
  - tcmalloc::tcmalloc_internal::TestAllocator::Delete
  - tcmalloc::tcmalloc_internal::TestAllocator::alloc_count
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::SampleRecorderTest
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::GetSizes
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::InfoWithParam
  - tcmalloc::tcmalloc_internal::InfoWithParam
  - tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc::tcmalloc_internal::InfoAllocator::New
  - tcmalloc::tcmalloc_internal::InfoAllocator::Delete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Info
  - tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc::tcmalloc_internal::TestAllocator::New
  - tcmalloc::tcmalloc_internal::TestAllocator::Delete
  - tcmalloc::tcmalloc_internal::TestAllocator::alloc_count
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::SampleRecorderTest
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::GetSizes
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::InfoWithParam
  - tcmalloc::tcmalloc_internal::InfoWithParam
  - tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc::tcmalloc_internal::InfoAllocator::New
  - tcmalloc::tcmalloc_internal::InfoAllocator::Delete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Info
  - tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc::tcmalloc_internal::TestAllocator::New
  - tcmalloc::tcmalloc_internal::TestAllocator::Delete
  - tcmalloc::tcmalloc_internal::TestAllocator::alloc_count
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::SampleRecorderTest
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::GetSizes
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::InfoWithParam
  - tcmalloc::tcmalloc_internal::InfoWithParam
  - tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc::tcmalloc_internal::InfoAllocator::New
  - tcmalloc::tcmalloc_internal::InfoAllocator::Delete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Info
  - tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc::tcmalloc_internal::TestAllocator::New
  - tcmalloc::tcmalloc_internal::TestAllocator::Delete
  - tcmalloc::tcmalloc_internal::TestAllocator::alloc_count
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::SampleRecorderTest
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::GetSizes
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::InfoWithParam
  - tcmalloc::tcmalloc_internal::InfoWithParam
  - tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc::tcmalloc_internal::InfoAllocator::New
  - tcmalloc::tcmalloc_internal::InfoAllocator::Delete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::Info
  - tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc::tcmalloc_internal::TestAllocator::New
  - tcmalloc::tcmalloc_internal::TestAllocator::Delete
  - tcmalloc::tcmalloc_internal::TestAllocator::alloc_count
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::SampleRecorderTest
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::GetSizes
  - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::InfoWithParam
  - tcmalloc::tcmalloc_internal::InfoWithParam
  - tcmalloc::tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc::tcmalloc_internal::InfoAllocator::New
  - tcmalloc::tcmalloc_internal::InfoAllocator::Delete
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: PrepareForSampling()
        type: void
      - name: size
        type: std::atomic<size_t>
      - name: create_time
        type: absl::Time
      - name: initialized
        type: bool
      item_type: struct
      name: Info
      pos:
        line_end: 49
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    - fields:
      - name: PrepareForSampling(size_t size)
        type: void
      - name: info_size
        type: size_t
      - name: initialized
        type: bool
      item_type: struct
      name: InfoWithParam
      pos:
        line_end: 249
        line_start: 238
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    - fields:
      - name: PrepareForSampling()
        type: void
      - name: size
        type: std::atomic<size_t>
      - name: create_time
        type: absl::Time
      - name: initialized
        type: bool
      item_type: struct
      name: Info
      pos:
        line_end: 49
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    - fields:
      - name: PrepareForSampling(size_t size)
        type: void
      - name: info_size
        type: size_t
      - name: initialized
        type: bool
      item_type: struct
      name: InfoWithParam
      pos:
        line_end: 249
        line_start: 238
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    - fields:
      - name: PrepareForSampling()
        type: void
      - name: size
        type: std::atomic<size_t>
      - name: create_time
        type: absl::Time
      - name: initialized
        type: bool
      item_type: struct
      name: Info
      pos:
        line_end: 49
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    - fields:
      - name: PrepareForSampling(size_t size)
        type: void
      - name: info_size
        type: size_t
      - name: initialized
        type: bool
      item_type: struct
      name: InfoWithParam
      pos:
        line_end: 249
        line_start: 238
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    - fields:
      - name: PrepareForSampling()
        type: void
      - name: size
        type: std::atomic<size_t>
      - name: create_time
        type: absl::Time
      - name: initialized
        type: bool
      item_type: struct
      name: Info
      pos:
        line_end: 49
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    - fields:
      - name: PrepareForSampling(size_t size)
        type: void
      - name: info_size
        type: size_t
      - name: initialized
        type: bool
      item_type: struct
      name: InfoWithParam
      pos:
        line_end: 249
        line_start: 238
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    - fields:
      - name: PrepareForSampling()
        type: void
      - name: size
        type: std::atomic<size_t>
      - name: create_time
        type: absl::Time
      - name: initialized
        type: bool
      item_type: struct
      name: Info
      pos:
        line_end: 49
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    - fields:
      - name: PrepareForSampling(size_t size)
        type: void
      - name: info_size
        type: size_t
      - name: initialized
        type: bool
      item_type: struct
      name: InfoWithParam
      pos:
        line_end: 249
        line_start: 238
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    - fields:
      - name: PrepareForSampling()
        type: void
      - name: size
        type: std::atomic<size_t>
      - name: create_time
        type: absl::Time
      - name: initialized
        type: bool
      item_type: struct
      name: Info
      pos:
        line_end: 49
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    - fields:
      - name: PrepareForSampling(size_t size)
        type: void
      - name: info_size
        type: size_t
      - name: initialized
        type: bool
      item_type: struct
      name: InfoWithParam
      pos:
        line_end: 249
        line_start: 238
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    - fields:
      - name: PrepareForSampling()
        type: void
      - name: size
        type: std::atomic<size_t>
      - name: create_time
        type: absl::Time
      - name: initialized
        type: bool
      item_type: struct
      name: Info
      pos:
        line_end: 49
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    - fields:
      - name: PrepareForSampling(size_t size)
        type: void
      - name: info_size
        type: size_t
      - name: initialized
        type: bool
      item_type: struct
      name: InfoWithParam
      pos:
        line_end: 249
        line_start: 238
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    - fields:
      - name: PrepareForSampling()
        type: void
      - name: size
        type: std::atomic<size_t>
      - name: create_time
        type: absl::Time
      - name: initialized
        type: bool
      item_type: struct
      name: Info
      pos:
        line_end: 49
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    - fields:
      - name: PrepareForSampling(size_t size)
        type: void
      - name: info_size
        type: size_t
      - name: initialized
        type: bool
      item_type: struct
      name: InfoWithParam
      pos:
        line_end: 249
        line_start: 238
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder_test.cc
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
  - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
  - tcmalloc_internal::subtle::percpu::UserVirtualCpuId
  - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
  - tcmalloc_internal::subtle::percpu::InitPerCpu
  - tcmalloc_internal::subtle::percpu::InitFastPerCpu
  - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
  - tcmalloc_internal::subtle::percpu::NeedCpu
  - tcmalloc_internal::subtle::percpu::SlowFence
  - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
  - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
  - tcmalloc_internal::subtle::percpu::FenceCpu
  - tcmalloc_internal::subtle::percpu::FenceAllCpus
  - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
  - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
  - tcmalloc_internal::subtle::percpu::UserVirtualCpuId
  - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
  - tcmalloc_internal::subtle::percpu::InitPerCpu
  - tcmalloc_internal::subtle::percpu::InitFastPerCpu
  - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
  - tcmalloc_internal::subtle::percpu::NeedCpu
  - tcmalloc_internal::subtle::percpu::SlowFence
  - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
  - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
  - tcmalloc_internal::subtle::percpu::FenceCpu
  - tcmalloc_internal::subtle::percpu::FenceAllCpus
  - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
  - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
  - tcmalloc_internal::subtle::percpu::UserVirtualCpuId
  - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
  - tcmalloc_internal::subtle::percpu::InitPerCpu
  - tcmalloc_internal::subtle::percpu::InitFastPerCpu
  - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
  - tcmalloc_internal::subtle::percpu::NeedCpu
  - tcmalloc_internal::subtle::percpu::SlowFence
  - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
  - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
  - tcmalloc_internal::subtle::percpu::FenceCpu
  - tcmalloc_internal::subtle::percpu::FenceAllCpus
  - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
  - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
  - tcmalloc_internal::subtle::percpu::UserVirtualCpuId
  - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
  - tcmalloc_internal::subtle::percpu::InitPerCpu
  - tcmalloc_internal::subtle::percpu::InitFastPerCpu
  - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
  - tcmalloc_internal::subtle::percpu::NeedCpu
  - tcmalloc_internal::subtle::percpu::SlowFence
  - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
  - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
  - tcmalloc_internal::subtle::percpu::FenceCpu
  - tcmalloc_internal::subtle::percpu::FenceAllCpus
  - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
  - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
  - tcmalloc_internal::subtle::percpu::UserVirtualCpuId
  - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
  - tcmalloc_internal::subtle::percpu::InitPerCpu
  - tcmalloc_internal::subtle::percpu::InitFastPerCpu
  - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
  - tcmalloc_internal::subtle::percpu::NeedCpu
  - tcmalloc_internal::subtle::percpu::SlowFence
  - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
  - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
  - tcmalloc_internal::subtle::percpu::FenceCpu
  - tcmalloc_internal::subtle::percpu::FenceAllCpus
  - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
  - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
  - tcmalloc_internal::subtle::percpu::UserVirtualCpuId
  - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
  - tcmalloc_internal::subtle::percpu::InitPerCpu
  - tcmalloc_internal::subtle::percpu::InitFastPerCpu
  - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
  - tcmalloc_internal::subtle::percpu::NeedCpu
  - tcmalloc_internal::subtle::percpu::SlowFence
  - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
  - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
  - tcmalloc_internal::subtle::percpu::FenceCpu
  - tcmalloc_internal::subtle::percpu::FenceAllCpus
  - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
  - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
  - tcmalloc_internal::subtle::percpu::UserVirtualCpuId
  - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
  - tcmalloc_internal::subtle::percpu::InitPerCpu
  - tcmalloc_internal::subtle::percpu::InitFastPerCpu
  - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
  - tcmalloc_internal::subtle::percpu::NeedCpu
  - tcmalloc_internal::subtle::percpu::SlowFence
  - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
  - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
  - tcmalloc_internal::subtle::percpu::FenceCpu
  - tcmalloc_internal::subtle::percpu::FenceAllCpus
  - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
  - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
  - tcmalloc_internal::subtle::percpu::UserVirtualCpuId
  - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
  - tcmalloc_internal::subtle::percpu::InitPerCpu
  - tcmalloc_internal::subtle::percpu::InitFastPerCpu
  - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
  - tcmalloc_internal::subtle::percpu::NeedCpu
  - tcmalloc_internal::subtle::percpu::SlowFence
  - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
  - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
  - tcmalloc_internal::subtle::percpu::FenceCpu
  - tcmalloc_internal::subtle::percpu::FenceAllCpus
  source_file: /src/tcmalloc/tcmalloc/internal/percpu.cc
  types:
    enum:
    - enumerators:
      - name: kFastMode
      - name: kSlowMode
      item_type: enum
      name: PerCpuInitStatus
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.cc
    - enumerators:
      - name: kFastMode
      - name: kSlowMode
      item_type: enum
      name: PerCpuInitStatus
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.cc
    - enumerators:
      - name: kFastMode
      - name: kSlowMode
      item_type: enum
      name: PerCpuInitStatus
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.cc
    - enumerators:
      - name: kFastMode
      - name: kSlowMode
      item_type: enum
      name: PerCpuInitStatus
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.cc
    - enumerators:
      - name: kFastMode
      - name: kSlowMode
      item_type: enum
      name: PerCpuInitStatus
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.cc
    - enumerators:
      - name: kFastMode
      - name: kSlowMode
      item_type: enum
      name: PerCpuInitStatus
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.cc
    - enumerators:
      - name: kFastMode
      - name: kSlowMode
      item_type: enum
      name: PerCpuInitStatus
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.cc
    - enumerators:
      - name: kFastMode
      - name: kSlowMode
      item_type: enum
      name: PerCpuInitStatus
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.cc
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::PrefetchT0
  - tcmalloc_internal::PrefetchT1
  - tcmalloc_internal::PrefetchT2
  - tcmalloc_internal::PrefetchNta
  - tcmalloc_internal::PrefetchW
  - tcmalloc_internal::PrefetchWT0
  - tcmalloc_internal::PrefetchWT1
  - tcmalloc_internal::PrefetchWT2
  - tcmalloc_internal::PrefetchWNta
  - tcmalloc_internal::PrefetchT0
  - tcmalloc_internal::PrefetchT1
  - tcmalloc_internal::PrefetchT2
  - tcmalloc_internal::PrefetchNta
  - tcmalloc_internal::PrefetchWT0
  - tcmalloc_internal::PrefetchWT1
  - tcmalloc_internal::PrefetchWT2
  - tcmalloc_internal::PrefetchWT3
  - tcmalloc_internal::PrefetchT0
  - tcmalloc_internal::PrefetchT1
  - tcmalloc_internal::PrefetchT2
  - tcmalloc_internal::PrefetchNta
  - tcmalloc_internal::PrefetchW
  - tcmalloc_internal::PrefetchWT0
  - tcmalloc_internal::PrefetchWT1
  - tcmalloc_internal::PrefetchWT2
  - tcmalloc_internal::PrefetchWNta
  - tcmalloc_internal::PrefetchT0
  - tcmalloc_internal::PrefetchT1
  - tcmalloc_internal::PrefetchT2
  - tcmalloc_internal::PrefetchNta
  - tcmalloc_internal::PrefetchWT0
  - tcmalloc_internal::PrefetchWT1
  - tcmalloc_internal::PrefetchWT2
  - tcmalloc_internal::PrefetchWT3
  source_file: /src/tcmalloc/tcmalloc/internal/prefetch.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::NumaTopology::NumaTopology
  - tcmalloc_internal::NumaTopology::numa_aware
  - tcmalloc_internal::NumaTopology::active_partitions
  - tcmalloc_internal::NumaTopology::bind_mode
  - tcmalloc_internal::NodeToPartition
  - tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::Init
  - tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::InitForTest
  - tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCurrentPartition
  - tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCurrentScaledPartition
  - tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCpuPartition
  - tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCpuScaledPartition
  - tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetPartitionNodes
  - tcmalloc_internal::NumaTopology::NumaTopology
  - tcmalloc_internal::NumaTopology::numa_aware
  - tcmalloc_internal::NumaTopology::active_partitions
  - tcmalloc_internal::NumaTopology::bind_mode
  - tcmalloc_internal::NodeToPartition
  - tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::Init
  - tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::InitForTest
  - tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCurrentPartition
  - tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCurrentScaledPartition
  - tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCpuPartition
  - tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetCpuScaledPartition
  - tcmalloc_internal::NumaTopology<NumPartitions, ScaleBy>::GetPartitionNodes
  source_file: /src/tcmalloc/tcmalloc/internal/numa.h
  types:
    enum:
    - enumerators:
      - name: kNone
      - name: kAdvisory
      - name: kStrict
      item_type: enum
      name: NumaBindMode
      pos:
        line_end: 50
        line_start: 36
        source_file: /src/tcmalloc/tcmalloc/internal/numa.h
    - enumerators:
      - name: kNone
      - name: kAdvisory
      - name: kStrict
      item_type: enum
      name: NumaBindMode
      pos:
        line_end: 50
        line_start: 36
        source_file: /src/tcmalloc/tcmalloc/internal/numa.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace::tcmalloc_internal
  source_file: /src/tcmalloc/tcmalloc/internal/hook_list.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
  - operator()(size_t size_class) const
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::TcmallocSlabTest
  - ~TcmallocSlabTest() override
  - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::allocator
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_F
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
  - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
  - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
  - tcmalloc::tcmalloc_internal::subtle::percpu::StressThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeMaxCapacitiesThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::ResizeSlabsThread
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST_P
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::FilterElfHeader
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPop
  - tcmalloc::tcmalloc_internal::subtle::percpu::BM_PushPopBatch
  source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* max_capacities'
        type: std::atomic<size_t>
      item_type: struct
      name: GetMaxCapacity
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - fields:
      - name: '* slab'
        type: TcmallocSlab
      - name: '* blocks'
        type: std::vector<std::vector<void*>>
      - name: mutexes
        type: absl::Span<absl::Mutex>
      - name: '* capacity'
        type: std::atomic<size_t>
      - name: '* stop'
        type: std::atomic<bool>
      - name: init
        type: absl::Span<absl::once_flag>
      - name: has_init
        type: absl::Span<std::atomic<bool>>
      - name: '* max_capacity'
        type: std::atomic<size_t>
      item_type: struct
      name: Context
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    typedefs:
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
    union: []
- function_names:
  - TCMALLOC_RETRY_ON_TEMP_FAILURE
  - namespace
  - tcmalloc_internal::ScopedSigmask::ScopedSigmask
  - '& operator=(const ScopedSigmask&)'
  - tcmalloc_internal::ScopedSigmask::ScopedSigmask
  - ScopedSigmask::~ScopedSigmask() noexcept
  - tcmalloc_internal::ScopedSigmask::Setmask
  - tcmalloc_internal::ErrnoRestorer::ErrnoRestorer
  - ~ErrnoRestorer()
  - tcmalloc_internal::ErrnoRestorer::ErrnoRestorer
  - '& operator=(const ErrnoRestorer&)'
  - tcmalloc_internal::ScopedSigmask::ScopedSigmask
  - '& operator=(const ScopedSigmask&)'
  - tcmalloc_internal::ScopedSigmask::ScopedSigmask
  - ScopedSigmask::~ScopedSigmask() noexcept
  - tcmalloc_internal::ScopedSigmask::Setmask
  - tcmalloc_internal::ErrnoRestorer::ErrnoRestorer
  - ~ErrnoRestorer()
  - tcmalloc_internal::ErrnoRestorer::ErrnoRestorer
  - '& operator=(const ErrnoRestorer&)'
  source_file: /src/tcmalloc/tcmalloc/internal/util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace::tcmalloc_internal
  - GetMemoryTag
  - IsNormalMemory
  - IsSelSanMemory
  source_file: /src/tcmalloc/tcmalloc/internal/memory_tag.h
  types:
    enum:
    - enumerators:
      - name: kSampled
        value: '0x0'
      - name: kNormalP1
        value: 'kSanitizerAddressSpace ? 0xff : 0x6'
      - name: kNormalP0
        value: 'kSanitizerAddressSpace ? 0x1 : 0x4'
      - name: kCold
        value: '0x2'
      - name: kNormal
        value: kNormalP0
      - name: kMetadata
        value: '0x3'
      - name: kSelSan
        value: 'kSelSanPresent ? 0x1 : 0xfe'
      item_type: enum
      name: MemoryTag
      pos:
        line_end: 44
        line_start: 27
        source_file: /src/tcmalloc/tcmalloc/internal/memory_tag.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::PageFlagsFriend
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::PageFlagsFriend
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::CachedScanSeconds
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::IsHugepageBacked
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::SetCachedScanSeconds
  - '& operator<<(std::ostream& os, const PageStats& s)'
  - tcmalloc::tcmalloc_internal::SetContents
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::SetContents
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::PageFlagsFriend
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::PageFlagsFriend
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::CachedScanSeconds
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::IsHugepageBacked
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::SetCachedScanSeconds
  - '& operator<<(std::ostream& os, const PageStats& s)'
  - tcmalloc::tcmalloc_internal::SetContents
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::SetContents
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::PageFlagsFriend
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::PageFlagsFriend
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::CachedScanSeconds
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::IsHugepageBacked
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::SetCachedScanSeconds
  - '& operator<<(std::ostream& os, const PageStats& s)'
  - tcmalloc::tcmalloc_internal::SetContents
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::SetContents
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::PageFlagsFriend
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::PageFlagsFriend
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::CachedScanSeconds
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::IsHugepageBacked
  - tcmalloc::tcmalloc_internal::PageFlagsFriend::SetCachedScanSeconds
  - '& operator<<(std::ostream& os, const PageStats& s)'
  - tcmalloc::tcmalloc_internal::SetContents
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::SetContents
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/pageflags_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::PageHead
  - tcmalloc_internal::PageTail
  - tcmalloc_internal::PageThp
  - tcmalloc_internal::PageHugetlbfs
  - tcmalloc_internal::IsHugepage
  - tcmalloc_internal::PageStale
  - tcmalloc_internal::PageLocked
  - tcmalloc_internal::MaybeAddToStats
  - tcmalloc_internal::PageHead
  - tcmalloc_internal::PageTail
  - tcmalloc_internal::PageThp
  - tcmalloc_internal::PageHugetlbfs
  - tcmalloc_internal::IsHugepage
  - tcmalloc_internal::PageStale
  - tcmalloc_internal::PageLocked
  - tcmalloc_internal::MaybeAddToStats
  - tcmalloc_internal::PageFlags::PageFlags
  - tcmalloc_internal::PageFlags::PageFlags
  - PageFlags::~PageFlags()
  - tcmalloc_internal::PageFlags::GetOffset
  - tcmalloc_internal::PageFlags::Seek
  - tcmalloc_internal::PageFlags::MaybeReadOne
  - tcmalloc_internal::PageFlags::ReadMany
  - tcmalloc_internal::PageFlags::IsHugepageBacked
  - tcmalloc_internal::PageFlags::Get
  - tcmalloc_internal::PageFlags::MaybeReadStaleScanSeconds
  - tcmalloc_internal::PageHead
  - tcmalloc_internal::PageTail
  - tcmalloc_internal::PageThp
  - tcmalloc_internal::PageHugetlbfs
  - tcmalloc_internal::IsHugepage
  - tcmalloc_internal::PageStale
  - tcmalloc_internal::PageLocked
  - tcmalloc_internal::MaybeAddToStats
  - tcmalloc_internal::PageHead
  - tcmalloc_internal::PageTail
  - tcmalloc_internal::PageThp
  - tcmalloc_internal::PageHugetlbfs
  - tcmalloc_internal::IsHugepage
  - tcmalloc_internal::PageStale
  - tcmalloc_internal::PageLocked
  - tcmalloc_internal::MaybeAddToStats
  - tcmalloc_internal::PageFlags::PageFlags
  - tcmalloc_internal::PageFlags::PageFlags
  - PageFlags::~PageFlags()
  - tcmalloc_internal::PageFlags::GetOffset
  - tcmalloc_internal::PageFlags::Seek
  - tcmalloc_internal::PageFlags::MaybeReadOne
  - tcmalloc_internal::PageFlags::ReadMany
  - tcmalloc_internal::PageFlags::IsHugepageBacked
  - tcmalloc_internal::PageFlags::Get
  - tcmalloc_internal::PageFlags::MaybeReadStaleScanSeconds
  source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KPF_COMPOUND_HEAD
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '15'
    - item_type: preproc_def
      name: KPF_COMPOUND_TAIL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '16'
    - item_type: preproc_def
      name: KPF_THP
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '22'
    - item_type: preproc_def
      name: KPF_HUGE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '17'
    - item_type: preproc_def
      name: KPF_MLOCKED
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '33'
    - item_type: preproc_def
      name: KPF_STALE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '44'
    - item_type: preproc_def
      name: KPF_COMPOUND_HEAD
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '15'
    - item_type: preproc_def
      name: KPF_COMPOUND_TAIL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '16'
    - item_type: preproc_def
      name: KPF_THP
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '22'
    - item_type: preproc_def
      name: KPF_HUGE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '17'
    - item_type: preproc_def
      name: KPF_MLOCKED
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '33'
    - item_type: preproc_def
      name: KPF_STALE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '44'
    - item_type: preproc_def
      name: KPF_COMPOUND_HEAD
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '15'
    - item_type: preproc_def
      name: KPF_COMPOUND_TAIL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '16'
    - item_type: preproc_def
      name: KPF_THP
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '22'
    - item_type: preproc_def
      name: KPF_HUGE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '17'
    - item_type: preproc_def
      name: KPF_MLOCKED
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '33'
    - item_type: preproc_def
      name: KPF_STALE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '44'
    - item_type: preproc_def
      name: KPF_COMPOUND_HEAD
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '15'
    - item_type: preproc_def
      name: KPF_COMPOUND_TAIL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '16'
    - item_type: preproc_def
      name: KPF_THP
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '22'
    - item_type: preproc_def
      name: KPF_HUGE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '17'
    - item_type: preproc_def
      name: KPF_MLOCKED
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '33'
    - item_type: preproc_def
      name: KPF_STALE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.cc
      type_or_value: '44'
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace::tcmalloc_internal
  - MemoryTagToLabel
  source_file: /src/tcmalloc/tcmalloc/internal/memory_tag.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::subtle::percpu::sa_alrm
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::sa_alrm
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::sa_alrm
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  - tcmalloc::tcmalloc_internal::subtle::percpu::sa_alrm
  - tcmalloc::tcmalloc_internal::subtle::percpu::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/percpu_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::FDCloser
  - ~FDCloser()
  - tcmalloc_internal::FDCloser
  - ~FDCloser()
  - tcmalloc_internal::GetMemoryStats
  - tcmalloc_internal::FDCloser
  - ~FDCloser()
  - tcmalloc_internal::FDCloser
  - ~FDCloser()
  - tcmalloc_internal::GetMemoryStats
  source_file: /src/tcmalloc/tcmalloc/internal/memory_stats.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: fd
        type: int
      item_type: struct
      name: FDCloser
      pos:
        line_end: 45
        line_start: 37
        source_file: /src/tcmalloc/tcmalloc/internal/memory_stats.cc
    - fields:
      - name: fd
        type: int
      item_type: struct
      name: FDCloser
      pos:
        line_end: 45
        line_start: 37
        source_file: /src/tcmalloc/tcmalloc/internal/memory_stats.cc
    - fields:
      - name: fd
        type: int
      item_type: struct
      name: FDCloser
      pos:
        line_end: 45
        line_start: 37
        source_file: /src/tcmalloc/tcmalloc/internal/memory_stats.cc
    - fields:
      - name: fd
        type: int
      item_type: struct
      name: FDCloser
      pos:
        line_end: 45
        line_start: 37
        source_file: /src/tcmalloc/tcmalloc/internal/memory_stats.cc
    typedefs: []
    union: []
- function_names:
  - '& profile()'
  - '& profile()'
  - '& profile()'
  - '& profile()'
  source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::SLL_Next
  - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_SetNext
  - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
  - tcmalloc_internal::SLL_Pop
  - tcmalloc_internal::LinkedList::LinkedList
  - tcmalloc_internal::LinkedList::LinkedList
  - tcmalloc_internal::LinkedList::LinkedList
  - '& operator=(const LinkedList&)'
  - '& operator=(LinkedList&&)'
  - tcmalloc_internal::LinkedList::length
  - tcmalloc_internal::LinkedList::empty
  - tcmalloc_internal::LinkedList::Push
  - tcmalloc_internal::LinkedList::TryPop
  - tcmalloc_internal::LinkedList::PushBatch
  - tcmalloc_internal::LinkedList::PopBatch
  - tcmalloc_internal::TList::Elem::Elem
  - tcmalloc_internal::TList::Elem::remove
  - tcmalloc_internal::TList::Elem::prepend
  - tcmalloc_internal::TList::Elem::append
  - tcmalloc_internal::TList::TList
  - tcmalloc_internal::TList::TList
  - tcmalloc_internal::TList::TList
  - '& operator=(const TList&)'
  - '& operator=(TList&&)'
  - tcmalloc_internal::TList::empty
  - tcmalloc_internal::TList::length
  - tcmalloc_internal::TList::first
  - tcmalloc_internal::TList::last
  - tcmalloc_internal::TList::prepend
  - tcmalloc_internal::TList::append
  - tcmalloc_internal::TList::remove
  - tcmalloc_internal::TList::begin
  - tcmalloc_internal::TList::end
  - tcmalloc_internal::TList::at
  - tcmalloc_internal::TList::Iter::Iter
  - '& operator++()'
  - '& operator--()'
  - operator!=(Iter other) const
  - operator==(Iter other) const
  - '* operator*() const'
  - '* operator->() const'
  - tcmalloc_internal::SLL_Next
  - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_SetNext
  - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
  - tcmalloc_internal::SLL_Pop
  - tcmalloc_internal::LinkedList::LinkedList
  - tcmalloc_internal::LinkedList::LinkedList
  - tcmalloc_internal::LinkedList::LinkedList
  - '& operator=(const LinkedList&)'
  - '& operator=(LinkedList&&)'
  - tcmalloc_internal::LinkedList::length
  - tcmalloc_internal::LinkedList::empty
  - tcmalloc_internal::LinkedList::Push
  - tcmalloc_internal::LinkedList::TryPop
  - tcmalloc_internal::LinkedList::PushBatch
  - tcmalloc_internal::LinkedList::PopBatch
  - tcmalloc_internal::TList::Elem::Elem
  - tcmalloc_internal::TList::Elem::remove
  - tcmalloc_internal::TList::Elem::prepend
  - tcmalloc_internal::TList::Elem::append
  - tcmalloc_internal::TList::TList
  - tcmalloc_internal::TList::TList
  - tcmalloc_internal::TList::TList
  - '& operator=(const TList&)'
  - '& operator=(TList&&)'
  - tcmalloc_internal::TList::empty
  - tcmalloc_internal::TList::length
  - tcmalloc_internal::TList::first
  - tcmalloc_internal::TList::last
  - tcmalloc_internal::TList::prepend
  - tcmalloc_internal::TList::append
  - tcmalloc_internal::TList::remove
  - tcmalloc_internal::TList::begin
  - tcmalloc_internal::TList::end
  - tcmalloc_internal::TList::at
  - tcmalloc_internal::TList::Iter::Iter
  - '& operator++()'
  - '& operator--()'
  - operator!=(Iter other) const
  - operator==(Iter other) const
  - '* operator*() const'
  - '* operator->() const'
  source_file: /src/tcmalloc/tcmalloc/internal/linked_list.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::AffinityMatches
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::AffinityMatches
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::AffinityMatches
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::AffinityMatches
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::AffinityMatches
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::AffinityMatches
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::AffinityMatches
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::AffinityMatches
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/affinity_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcmalloc/tcmalloc/internal/parameter_accessors.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcmalloc/tcmalloc/internal/linux_syscall_support.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __NR_rseq
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcmalloc/tcmalloc/internal/linux_syscall_support.h
      type_or_value: '334'
    - item_type: preproc_def
      name: __NR_rseq
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcmalloc/tcmalloc/internal/linux_syscall_support.h
      type_or_value: '293'
    - item_type: preproc_def
      name: __NR_rseq
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcmalloc/tcmalloc/internal/linux_syscall_support.h
      type_or_value: '387'
    - item_type: preproc_def
      name: KPF_ZERO_PAGE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcmalloc/tcmalloc/internal/linux_syscall_support.h
      type_or_value: '24'
    structs:
    - fields:
      - name: cpu_id_start
        type: unsigned
      - name: cpu_id
        type: unsigned
      - name: rseq_cs
        type: unsigned long long
      - name: flags
        type: unsigned
      - name: padding[2]
        type: unsigned
      item_type: struct
      name: kernel_rseq
      pos:
        line_end: 45
        line_start: 27
        source_file: /src/tcmalloc/tcmalloc/internal/linux_syscall_support.h
    - fields: []
      item_type: struct
      name: kernel_rseq_cs
      pos:
        line_end: 52
        line_start: 50
        source_file: /src/tcmalloc/tcmalloc/internal/linux_syscall_support.h
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/logging_test.cc
  types:
    enum:
    - enumerators:
      - name: kFoo
        value: '1'
      - name: kBar
        value: '2'
      item_type: enum
      name: Something
      pos:
        line_end: 214
        line_start: 211
        source_file: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    - enumerators:
      - name: kFoo
        value: '1'
      - name: kBar
        value: '2'
      item_type: enum
      name: Something
      pos:
        line_end: 214
        line_start: 211
        source_file: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    - enumerators:
      - name: kFoo
        value: '1'
      - name: kBar
        value: '2'
      item_type: enum
      name: Something
      pos:
        line_end: 214
        line_start: 211
        source_file: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    - enumerators:
      - name: kFoo
        value: '1'
      - name: kBar
        value: '2'
      item_type: enum
      name: Something
      pos:
        line_end: 214
        line_start: 211
        source_file: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    - enumerators:
      - name: kFoo
        value: '1'
      - name: kBar
        value: '2'
      item_type: enum
      name: Something
      pos:
        line_end: 214
        line_start: 211
        source_file: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    - enumerators:
      - name: kFoo
        value: '1'
      - name: kBar
        value: '2'
      item_type: enum
      name: Something
      pos:
        line_end: 214
        line_start: 211
        source_file: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    - enumerators:
      - name: kFoo
        value: '1'
      - name: kBar
        value: '2'
      item_type: enum
      name: Something
      pos:
        line_end: 214
        line_start: 211
        source_file: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    - enumerators:
      - name: kFoo
        value: '1'
      - name: kBar
        value: '2'
      item_type: enum
      name: Something
      pos:
        line_end: 214
        line_start: 211
        source_file: /src/tcmalloc/tcmalloc/internal/logging_test.cc
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::default_want_numa_aware
  - tcmalloc_internal::OpenSysfsCpulist
  - tcmalloc_internal::InitNumaTopology
  - tcmalloc_internal::default_want_numa_aware
  - tcmalloc_internal::OpenSysfsCpulist
  - tcmalloc_internal::InitNumaTopology
  source_file: /src/tcmalloc/tcmalloc/internal/numa.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::StubPageFlags::StubPageFlags
  - ~StubPageFlags() override
  - tcmalloc::tcmalloc_internal::StubPageFlags::Get
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_stale
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_locked
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_stale_scan_period
  - tcmalloc::tcmalloc_internal::StubPageFlags::IsHugepageBacked
  - tcmalloc::tcmalloc_internal::RealPath
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - operator==(const SimpleLocation& rhs) const
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
  - tcmalloc::tcmalloc_internal::MakeTestProfile
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::StubPageFlags::StubPageFlags
  - ~StubPageFlags() override
  - tcmalloc::tcmalloc_internal::StubPageFlags::Get
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_stale
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_locked
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_stale_scan_period
  - tcmalloc::tcmalloc_internal::StubPageFlags::IsHugepageBacked
  - tcmalloc::tcmalloc_internal::RealPath
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - operator==(const SimpleLocation& rhs) const
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
  - tcmalloc::tcmalloc_internal::MakeTestProfile
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::StubPageFlags::StubPageFlags
  - ~StubPageFlags() override
  - tcmalloc::tcmalloc_internal::StubPageFlags::Get
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_stale
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_locked
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_stale_scan_period
  - tcmalloc::tcmalloc_internal::StubPageFlags::IsHugepageBacked
  - tcmalloc::tcmalloc_internal::RealPath
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - operator==(const SimpleLocation& rhs) const
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
  - tcmalloc::tcmalloc_internal::MakeTestProfile
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::StubPageFlags::StubPageFlags
  - ~StubPageFlags() override
  - tcmalloc::tcmalloc_internal::StubPageFlags::Get
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_stale
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_locked
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_stale_scan_period
  - tcmalloc::tcmalloc_internal::StubPageFlags::IsHugepageBacked
  - tcmalloc::tcmalloc_internal::RealPath
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - operator==(const SimpleLocation& rhs) const
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
  - tcmalloc::tcmalloc_internal::MakeTestProfile
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::StubPageFlags::StubPageFlags
  - ~StubPageFlags() override
  - tcmalloc::tcmalloc_internal::StubPageFlags::Get
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_stale
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_locked
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_stale_scan_period
  - tcmalloc::tcmalloc_internal::StubPageFlags::IsHugepageBacked
  - tcmalloc::tcmalloc_internal::RealPath
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - operator==(const SimpleLocation& rhs) const
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
  - tcmalloc::tcmalloc_internal::MakeTestProfile
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::StubPageFlags::StubPageFlags
  - ~StubPageFlags() override
  - tcmalloc::tcmalloc_internal::StubPageFlags::Get
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_stale
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_locked
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_stale_scan_period
  - tcmalloc::tcmalloc_internal::StubPageFlags::IsHugepageBacked
  - tcmalloc::tcmalloc_internal::RealPath
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - operator==(const SimpleLocation& rhs) const
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
  - tcmalloc::tcmalloc_internal::MakeTestProfile
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::StubPageFlags::StubPageFlags
  - ~StubPageFlags() override
  - tcmalloc::tcmalloc_internal::StubPageFlags::Get
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_stale
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_locked
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_stale_scan_period
  - tcmalloc::tcmalloc_internal::StubPageFlags::IsHugepageBacked
  - tcmalloc::tcmalloc_internal::RealPath
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - operator==(const SimpleLocation& rhs) const
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
  - tcmalloc::tcmalloc_internal::MakeTestProfile
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::StubPageFlags::StubPageFlags
  - ~StubPageFlags() override
  - tcmalloc::tcmalloc_internal::StubPageFlags::Get
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_stale
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_bytes_locked
  - tcmalloc::tcmalloc_internal::StubPageFlags::set_stale_scan_period
  - tcmalloc::tcmalloc_internal::StubPageFlags::IsHugepageBacked
  - tcmalloc::tcmalloc_internal::RealPath
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - operator==(const SimpleLocation& rhs) const
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
  - tcmalloc::tcmalloc_internal::MakeTestProfile
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: id
        type: uint64_t
      - name: mapping_id
        type: uint64_t
      - name: address
        type: uint64_t
      item_type: struct
      name: SimpleLocation
      pos:
        line_end: 211
        line_start: 202
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    - fields:
      - name: id
        type: uint64_t
      - name: mapping_id
        type: uint64_t
      - name: address
        type: uint64_t
      item_type: struct
      name: SimpleLocation
      pos:
        line_end: 211
        line_start: 202
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    - fields:
      - name: id
        type: uint64_t
      - name: mapping_id
        type: uint64_t
      - name: address
        type: uint64_t
      item_type: struct
      name: SimpleLocation
      pos:
        line_end: 211
        line_start: 202
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    - fields:
      - name: id
        type: uint64_t
      - name: mapping_id
        type: uint64_t
      - name: address
        type: uint64_t
      item_type: struct
      name: SimpleLocation
      pos:
        line_end: 211
        line_start: 202
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    - fields:
      - name: id
        type: uint64_t
      - name: mapping_id
        type: uint64_t
      - name: address
        type: uint64_t
      item_type: struct
      name: SimpleLocation
      pos:
        line_end: 211
        line_start: 202
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    - fields:
      - name: id
        type: uint64_t
      - name: mapping_id
        type: uint64_t
      - name: address
        type: uint64_t
      item_type: struct
      name: SimpleLocation
      pos:
        line_end: 211
        line_start: 202
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    - fields:
      - name: id
        type: uint64_t
      - name: mapping_id
        type: uint64_t
      - name: address
        type: uint64_t
      item_type: struct
      name: SimpleLocation
      pos:
        line_end: 211
        line_start: 202
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    - fields:
      - name: id
        type: uint64_t
      - name: mapping_id
        type: uint64_t
      - name: address
        type: uint64_t
      item_type: struct
      name: SimpleLocation
      pos:
        line_end: 211
        line_start: 202
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::AllowedCpus
  - tcmalloc_internal::SpanToCpuSetT
  - tcmalloc_internal::ScopedAffinityMask::ScopedAffinityMask
  - tcmalloc_internal::ScopedAffinityMask::ScopedAffinityMask
  - ScopedAffinityMask::~ScopedAffinityMask()
  - tcmalloc_internal::ScopedAffinityMask::Tampered
  - tcmalloc_internal::AllowedCpus
  - tcmalloc_internal::SpanToCpuSetT
  - tcmalloc_internal::ScopedAffinityMask::ScopedAffinityMask
  - tcmalloc_internal::ScopedAffinityMask::ScopedAffinityMask
  - ScopedAffinityMask::~ScopedAffinityMask()
  - tcmalloc_internal::ScopedAffinityMask::Tampered
  source_file: /src/tcmalloc/tcmalloc/internal/affinity.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/memory_stats_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  source_file: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/tcmalloc/tcmalloc/internal/memory_stats.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: vss
        type: int64_t
      - name: rss
        type: int64_t
      - name: shared
        type: int64_t
      - name: code
        type: int64_t
      - name: data
        type: int64_t
      item_type: struct
      name: MemoryStats
      pos:
        line_end: 31
        line_start: 25
        source_file: /src/tcmalloc/tcmalloc/internal/memory_stats.h
    - fields:
      - name: vss
        type: int64_t
      - name: rss
        type: int64_t
      - name: shared
        type: int64_t
      - name: code
        type: int64_t
      - name: data
        type: int64_t
      item_type: struct
      name: MemoryStats
      pos:
        line_end: 31
        line_start: 25
        source_file: /src/tcmalloc/tcmalloc/internal/memory_stats.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::StackTraceFilter::StackTraceFilter
  - tcmalloc_internal::StackTraceFilter::Contains
  - tcmalloc_internal::StackTraceFilter::Add
  - tcmalloc_internal::StackTraceFilter::GetFirstHash
  - tcmalloc_internal::StackTraceFilter::GetNextHash
  - tcmalloc_internal::StackTraceFilter::Add
  - tcmalloc_internal::DecayingStackTraceFilter::Add
  - tcmalloc_internal::DecayingStackTraceFilter::Decay
  - tcmalloc_internal::DecayingStackTraceFilter::DecayAll
  - tcmalloc_internal::DecayingStackTraceFilter::Decay
  - '& ring(size_t pos)'
  - tcmalloc_internal::StackTraceFilter::StackTraceFilter
  - tcmalloc_internal::StackTraceFilter::Contains
  - tcmalloc_internal::StackTraceFilter::Add
  - tcmalloc_internal::StackTraceFilter::GetFirstHash
  - tcmalloc_internal::StackTraceFilter::GetNextHash
  - tcmalloc_internal::StackTraceFilter::Add
  - tcmalloc_internal::DecayingStackTraceFilter::Add
  - tcmalloc_internal::DecayingStackTraceFilter::Decay
  - tcmalloc_internal::DecayingStackTraceFilter::DecayAll
  - tcmalloc_internal::DecayingStackTraceFilter::Decay
  - '& ring(size_t pos)'
  source_file: /src/tcmalloc/tcmalloc/internal/stacktrace_filter.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/tcmalloc/tcmalloc/internal/proc_maps.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: kBufSize
        type: size_t
      - name: buf[kBufSize]
        type: char
      item_type: struct
      name: Buffer
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/tcmalloc/tcmalloc/internal/proc_maps.h
    - fields:
      - name: kBufSize
        type: size_t
      - name: buf[kBufSize]
        type: char
      item_type: struct
      name: Buffer
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/tcmalloc/tcmalloc/internal/proc_maps.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::subtle::percpu::ToUint8
  - tcmalloc_internal::subtle::percpu::ToShiftType
  - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::TcmallocSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::Get
  - operator!=(const SlabsAndShift& other) const
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
  - tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
  - ~ScopedSlabCpuStop()
  - tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
  - '& operator=(const ScopedSlabCpuStop&)'
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_PROLOGUE
  - tcmalloc_internal::subtle::percpu::StoreCurrentCpu
  - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
  - tcmalloc_internal::subtle::percpu::PrefetchNextObject
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UncacheCpuSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Drain
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
  - tcmalloc_internal::subtle::percpu::ToUint8
  - tcmalloc_internal::subtle::percpu::ToShiftType
  - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::TcmallocSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::Get
  - operator!=(const SlabsAndShift& other) const
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
  - tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
  - ~ScopedSlabCpuStop()
  - tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
  - '& operator=(const ScopedSlabCpuStop&)'
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_PROLOGUE
  - tcmalloc_internal::subtle::percpu::StoreCurrentCpu
  - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
  - tcmalloc_internal::subtle::percpu::PrefetchNextObject
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UncacheCpuSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Drain
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
  - tcmalloc_internal::subtle::percpu::ToUint8
  - tcmalloc_internal::subtle::percpu::ToShiftType
  - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::TcmallocSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::Get
  - operator!=(const SlabsAndShift& other) const
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
  - tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
  - ~ScopedSlabCpuStop()
  - tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
  - '& operator=(const ScopedSlabCpuStop&)'
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_PROLOGUE
  - tcmalloc_internal::subtle::percpu::StoreCurrentCpu
  - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
  - tcmalloc_internal::subtle::percpu::PrefetchNextObject
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UncacheCpuSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Drain
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
  - tcmalloc_internal::subtle::percpu::ToUint8
  - tcmalloc_internal::subtle::percpu::ToShiftType
  - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::TcmallocSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::Get
  - operator!=(const SlabsAndShift& other) const
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
  - tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
  - ~ScopedSlabCpuStop()
  - tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
  - '& operator=(const ScopedSlabCpuStop&)'
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_PROLOGUE
  - tcmalloc_internal::subtle::percpu::StoreCurrentCpu
  - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
  - tcmalloc_internal::subtle::percpu::PrefetchNextObject
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UncacheCpuSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Drain
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
  - tcmalloc_internal::subtle::percpu::ToUint8
  - tcmalloc_internal::subtle::percpu::ToShiftType
  - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::TcmallocSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::Get
  - operator!=(const SlabsAndShift& other) const
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
  - tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
  - ~ScopedSlabCpuStop()
  - tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
  - '& operator=(const ScopedSlabCpuStop&)'
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_PROLOGUE
  - tcmalloc_internal::subtle::percpu::StoreCurrentCpu
  - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
  - tcmalloc_internal::subtle::percpu::PrefetchNextObject
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UncacheCpuSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Drain
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
  - tcmalloc_internal::subtle::percpu::ToUint8
  - tcmalloc_internal::subtle::percpu::ToShiftType
  - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::TcmallocSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::Get
  - operator!=(const SlabsAndShift& other) const
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
  - tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
  - ~ScopedSlabCpuStop()
  - tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
  - '& operator=(const ScopedSlabCpuStop&)'
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_PROLOGUE
  - tcmalloc_internal::subtle::percpu::StoreCurrentCpu
  - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
  - tcmalloc_internal::subtle::percpu::PrefetchNextObject
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UncacheCpuSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Drain
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
  - tcmalloc_internal::subtle::percpu::ToUint8
  - tcmalloc_internal::subtle::percpu::ToShiftType
  - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::TcmallocSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::Get
  - operator!=(const SlabsAndShift& other) const
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
  - tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
  - ~ScopedSlabCpuStop()
  - tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
  - '& operator=(const ScopedSlabCpuStop&)'
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_PROLOGUE
  - tcmalloc_internal::subtle::percpu::StoreCurrentCpu
  - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
  - tcmalloc_internal::subtle::percpu::PrefetchNextObject
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UncacheCpuSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Drain
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
  - tcmalloc_internal::subtle::percpu::ToUint8
  - tcmalloc_internal::subtle::percpu::ToShiftType
  - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::TcmallocSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::Get
  - operator!=(const SlabsAndShift& other) const
  - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
  - tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
  - ~ScopedSlabCpuStop()
  - tcmalloc_internal::subtle::percpu::ScopedSlabCpuStop::ScopedSlabCpuStop
  - '& operator=(const ScopedSlabCpuStop&)'
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_SET_CS
  - TCMALLOC_RSEQ_PROLOGUE
  - tcmalloc_internal::subtle::percpu::StoreCurrentCpu
  - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
  - tcmalloc_internal::subtle::percpu::PrefetchNextObject
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UncacheCpuSlab
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Drain
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
  - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
  source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TCMALLOC_INTERNAL_PERCPU_USE_RSEQ_ASM_GOTO_OUTPUT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC_TYPE
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"R_X86_64_NONE"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_JUMP
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"jmp"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_TRAMPLINE_SMASH
      pos:
        line_end: 451
        line_start: 448
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "\"mov x16, #-2097\\n\"                 \\\n  \"mov x17, #-2099\\n\""
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_CLOBBER
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"x16", "x17"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC_TYPE
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"R_AARCH64_NONE"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_JUMP
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '".reloc 0, " TCMALLOC_RSEQ_RELOC_TYPE ", 1f\n"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_INPUTS
      pos:
        line_end: 533
        line_start: 525
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "[rseq_cs_addr] \"m\"(__rseq_abi.rseq_cs),                                    \\\n
        \     [rseq_slabs_addr] \"m\"(*reinterpret_cast<volatile char*>(               \\\n
        \         reinterpret_cast<uintptr_t>(&__rseq_abi) +                         \\\n
        \         TCMALLOC_RSEQ_SLABS_OFFSET)),                                      \\\n
        \     [rseq_sig] \"n\"(                                                        \\\n
        \         TCMALLOC_PERCPU_RSEQ_SIGNATURE), "
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC_TYPE
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"R_X86_64_NONE"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_JUMP
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"jmp"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_TRAMPLINE_SMASH
      pos:
        line_end: 451
        line_start: 448
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "\"mov x16, #-2097\\n\"                 \\\n  \"mov x17, #-2099\\n\""
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_CLOBBER
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"x16", "x17"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC_TYPE
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"R_AARCH64_NONE"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_JUMP
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '".reloc 0, " TCMALLOC_RSEQ_RELOC_TYPE ", 1f\n"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_INPUTS
      pos:
        line_end: 533
        line_start: 525
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "[rseq_cs_addr] \"m\"(__rseq_abi.rseq_cs),                                    \\\n
        \     [rseq_slabs_addr] \"m\"(*reinterpret_cast<volatile char*>(               \\\n
        \         reinterpret_cast<uintptr_t>(&__rseq_abi) +                         \\\n
        \         TCMALLOC_RSEQ_SLABS_OFFSET)),                                      \\\n
        \     [rseq_sig] \"n\"(                                                        \\\n
        \         TCMALLOC_PERCPU_RSEQ_SIGNATURE), "
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC_TYPE
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"R_X86_64_NONE"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_JUMP
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"jmp"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_TRAMPLINE_SMASH
      pos:
        line_end: 451
        line_start: 448
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "\"mov x16, #-2097\\n\"                 \\\n  \"mov x17, #-2099\\n\""
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_CLOBBER
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"x16", "x17"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC_TYPE
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"R_AARCH64_NONE"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_JUMP
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '".reloc 0, " TCMALLOC_RSEQ_RELOC_TYPE ", 1f\n"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_INPUTS
      pos:
        line_end: 533
        line_start: 525
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "[rseq_cs_addr] \"m\"(__rseq_abi.rseq_cs),                                    \\\n
        \     [rseq_slabs_addr] \"m\"(*reinterpret_cast<volatile char*>(               \\\n
        \         reinterpret_cast<uintptr_t>(&__rseq_abi) +                         \\\n
        \         TCMALLOC_RSEQ_SLABS_OFFSET)),                                      \\\n
        \     [rseq_sig] \"n\"(                                                        \\\n
        \         TCMALLOC_PERCPU_RSEQ_SIGNATURE), "
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC_TYPE
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"R_X86_64_NONE"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_JUMP
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"jmp"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_TRAMPLINE_SMASH
      pos:
        line_end: 451
        line_start: 448
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "\"mov x16, #-2097\\n\"                 \\\n  \"mov x17, #-2099\\n\""
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_CLOBBER
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"x16", "x17"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC_TYPE
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"R_AARCH64_NONE"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_JUMP
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '".reloc 0, " TCMALLOC_RSEQ_RELOC_TYPE ", 1f\n"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_INPUTS
      pos:
        line_end: 533
        line_start: 525
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "[rseq_cs_addr] \"m\"(__rseq_abi.rseq_cs),                                    \\\n
        \     [rseq_slabs_addr] \"m\"(*reinterpret_cast<volatile char*>(               \\\n
        \         reinterpret_cast<uintptr_t>(&__rseq_abi) +                         \\\n
        \         TCMALLOC_RSEQ_SLABS_OFFSET)),                                      \\\n
        \     [rseq_sig] \"n\"(                                                        \\\n
        \         TCMALLOC_PERCPU_RSEQ_SIGNATURE), "
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC_TYPE
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"R_X86_64_NONE"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_JUMP
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"jmp"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_TRAMPLINE_SMASH
      pos:
        line_end: 451
        line_start: 448
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "\"mov x16, #-2097\\n\"                 \\\n  \"mov x17, #-2099\\n\""
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_CLOBBER
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"x16", "x17"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC_TYPE
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"R_AARCH64_NONE"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_JUMP
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '".reloc 0, " TCMALLOC_RSEQ_RELOC_TYPE ", 1f\n"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_INPUTS
      pos:
        line_end: 533
        line_start: 525
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "[rseq_cs_addr] \"m\"(__rseq_abi.rseq_cs),                                    \\\n
        \     [rseq_slabs_addr] \"m\"(*reinterpret_cast<volatile char*>(               \\\n
        \         reinterpret_cast<uintptr_t>(&__rseq_abi) +                         \\\n
        \         TCMALLOC_RSEQ_SLABS_OFFSET)),                                      \\\n
        \     [rseq_sig] \"n\"(                                                        \\\n
        \         TCMALLOC_PERCPU_RSEQ_SIGNATURE), "
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC_TYPE
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"R_X86_64_NONE"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_JUMP
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"jmp"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_TRAMPLINE_SMASH
      pos:
        line_end: 451
        line_start: 448
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "\"mov x16, #-2097\\n\"                 \\\n  \"mov x17, #-2099\\n\""
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_CLOBBER
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"x16", "x17"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC_TYPE
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"R_AARCH64_NONE"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_JUMP
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '".reloc 0, " TCMALLOC_RSEQ_RELOC_TYPE ", 1f\n"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_INPUTS
      pos:
        line_end: 533
        line_start: 525
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "[rseq_cs_addr] \"m\"(__rseq_abi.rseq_cs),                                    \\\n
        \     [rseq_slabs_addr] \"m\"(*reinterpret_cast<volatile char*>(               \\\n
        \         reinterpret_cast<uintptr_t>(&__rseq_abi) +                         \\\n
        \         TCMALLOC_RSEQ_SLABS_OFFSET)),                                      \\\n
        \     [rseq_sig] \"n\"(                                                        \\\n
        \         TCMALLOC_PERCPU_RSEQ_SIGNATURE), "
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC_TYPE
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"R_X86_64_NONE"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_JUMP
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"jmp"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_TRAMPLINE_SMASH
      pos:
        line_end: 451
        line_start: 448
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "\"mov x16, #-2097\\n\"                 \\\n  \"mov x17, #-2099\\n\""
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_CLOBBER
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"x16", "x17"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC_TYPE
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"R_AARCH64_NONE"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_JUMP
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '".reloc 0, " TCMALLOC_RSEQ_RELOC_TYPE ", 1f\n"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_INPUTS
      pos:
        line_end: 533
        line_start: 525
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "[rseq_cs_addr] \"m\"(__rseq_abi.rseq_cs),                                    \\\n
        \     [rseq_slabs_addr] \"m\"(*reinterpret_cast<volatile char*>(               \\\n
        \         reinterpret_cast<uintptr_t>(&__rseq_abi) +                         \\\n
        \         TCMALLOC_RSEQ_SLABS_OFFSET)),                                      \\\n
        \     [rseq_sig] \"n\"(                                                        \\\n
        \         TCMALLOC_PERCPU_RSEQ_SIGNATURE), "
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC_TYPE
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"R_X86_64_NONE"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_JUMP
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"jmp"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_TRAMPLINE_SMASH
      pos:
        line_end: 451
        line_start: 448
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "\"mov x16, #-2097\\n\"                 \\\n  \"mov x17, #-2099\\n\""
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_CLOBBER
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"x16", "x17"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC_TYPE
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"R_AARCH64_NONE"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_JUMP
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '".reloc 0, " TCMALLOC_RSEQ_RELOC_TYPE ", 1f\n"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_INPUTS
      pos:
        line_end: 533
        line_start: 525
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "[rseq_cs_addr] \"m\"(__rseq_abi.rseq_cs),                                    \\\n
        \     [rseq_slabs_addr] \"m\"(*reinterpret_cast<volatile char*>(               \\\n
        \         reinterpret_cast<uintptr_t>(&__rseq_abi) +                         \\\n
        \         TCMALLOC_RSEQ_SLABS_OFFSET)),                                      \\\n
        \     [rseq_sig] \"n\"(                                                        \\\n
        \         TCMALLOC_PERCPU_RSEQ_SIGNATURE), "
    structs:
    - fields:
      - name: size_class
        type: size_t
      - name: max_capacity
        type: size_t
      item_type: struct
      name: PerSizeClassMaxCapacity
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: virtual_size
        type: size_t
      - name: resident_size
        type: size_t
      item_type: struct
      name: PerCPUMetadataState
      pos:
        line_end: 61
        line_start: 58
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: '* old_slabs'
        type: void
      - name: old_slabs_size
        type: size_t
      item_type: struct
      name: ResizeSlabsInfo
      pos:
        line_end: 66
        line_start: 63
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: current
        type: uint16_t
      - name: end
        type: uint16_t
      item_type: struct
      name: Header
      pos:
        line_end: 336
        line_start: 331
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: current
        type: uint16_t
      - name: end
        type: uint16_t
      item_type: struct
      name: Header
      pos:
        line_end: 336
        line_start: 331
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: current
        type: uint16_t
      - name: end
        type: uint16_t
      item_type: struct
      name: Header
      pos:
        line_end: 336
        line_start: 331
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: current
        type: uint16_t
      - name: end
        type: uint16_t
      item_type: struct
      name: Header
      pos:
        line_end: 336
        line_start: 331
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: size_class
        type: size_t
      - name: max_capacity
        type: size_t
      item_type: struct
      name: PerSizeClassMaxCapacity
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: virtual_size
        type: size_t
      - name: resident_size
        type: size_t
      item_type: struct
      name: PerCPUMetadataState
      pos:
        line_end: 61
        line_start: 58
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: '* old_slabs'
        type: void
      - name: old_slabs_size
        type: size_t
      item_type: struct
      name: ResizeSlabsInfo
      pos:
        line_end: 66
        line_start: 63
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: current
        type: uint16_t
      - name: end
        type: uint16_t
      item_type: struct
      name: Header
      pos:
        line_end: 336
        line_start: 331
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: current
        type: uint16_t
      - name: end
        type: uint16_t
      item_type: struct
      name: Header
      pos:
        line_end: 336
        line_start: 331
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: current
        type: uint16_t
      - name: end
        type: uint16_t
      item_type: struct
      name: Header
      pos:
        line_end: 336
        line_start: 331
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: current
        type: uint16_t
      - name: end
        type: uint16_t
      item_type: struct
      name: Header
      pos:
        line_end: 336
        line_start: 331
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/prefetch_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace::tcmalloc_internal
  source_file: /src/tcmalloc/tcmalloc/internal/allocation_guard.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::OsMInCore::mincore
  - ~OsMInCore() override
  - tcmalloc_internal::MInCore::residence_impl
  - tcmalloc_internal::MInCore::residence
  - tcmalloc_internal::OsMInCore::mincore
  - ~OsMInCore() override
  - tcmalloc_internal::MInCore::residence_impl
  - tcmalloc_internal::MInCore::residence
  source_file: /src/tcmalloc/tcmalloc/internal/mincore.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::ParseInput
  - tcmalloc::tcmalloc_internal::ParseInput
  - tcmalloc::tcmalloc_internal::ParseInput
  - tcmalloc::tcmalloc_internal::ParseInput
  source_file: /src/tcmalloc/tcmalloc/internal/sysinfo_fuzz.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::atomic_danger::CastToIntegral
  - tcmalloc_internal::atomic_danger::CastToIntegral
  - tcmalloc_internal::atomic_danger::CastToIntegral
  - tcmalloc_internal::atomic_danger::CastToIntegral
  source_file: /src/tcmalloc/tcmalloc/internal/atomic_danger.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace::tcmalloc_internal
  - AllocationGuard::AllocationGuard
  - ~AllocationGuard()
  - AllocationGuard::Hook
  - AllocationGuardSpinLockHolder
  - ABSL_EXCLUSIVE_LOCK_FUNCTION
  - ABSL_UNLOCK_FUNCTION
  source_file: /src/tcmalloc/tcmalloc/internal/allocation_guard.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::GetPageSize
  - tcmalloc_internal::GetPageSize
  source_file: /src/tcmalloc/tcmalloc/internal/page_size.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::ParseBuildID
  - tcmalloc::tcmalloc_internal::ParseBuildID
  - tcmalloc::tcmalloc_internal::ParseBuildID
  - tcmalloc::tcmalloc_internal::ParseBuildID
  source_file: /src/tcmalloc/tcmalloc/internal/profile_builder_fuzz.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::MInCoreInterface::MInCoreInterface
  - ~MInCoreInterface()
  - tcmalloc_internal::MInCoreInterface::MInCoreInterface
  - '& operator=(const MInCoreInterface&)'
  - tcmalloc_internal::MInCore::MInCore
  - tcmalloc_internal::MInCoreInterface::MInCoreInterface
  - ~MInCoreInterface()
  - tcmalloc_internal::MInCoreInterface::MInCoreInterface
  - '& operator=(const MInCoreInterface&)'
  - tcmalloc_internal::MInCore::MInCore
  source_file: /src/tcmalloc/tcmalloc/internal/mincore.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::ExplicitlyConstructed::Construct
  - '& get_mutable()'
  - tcmalloc_internal::ExplicitlyConstructed::AlignedUnion
  - tcmalloc_internal::ExplicitlyConstructed::Construct
  - '& get_mutable()'
  - tcmalloc_internal::ExplicitlyConstructed::AlignedUnion
  source_file: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: space[sizeof(T)]
        type: char
      - name: align_to_int64
        type: int64_t
      - name: '* align_to_ptr'
        type: void
      item_type: union
      name: AlignedUnion
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h
    - fields:
      - name: space[sizeof(T)]
        type: char
      - name: align_to_int64
        type: int64_t
      - name: '* align_to_ptr'
        type: void
      item_type: union
      name: AlignedUnion
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/tcmalloc/tcmalloc/internal/explicitly_constructed.h
- function_names:
  - tcmalloc::tcmalloc_internal::MockSpan::MockSpan
  - tcmalloc::tcmalloc_internal::MockSpan::New
  - tcmalloc::tcmalloc_internal::MockSpan::MockSpan
  - tcmalloc::tcmalloc_internal::MockSpan::New
  - tcmalloc::tcmalloc_internal::MockSpan::MockSpan
  - tcmalloc::tcmalloc_internal::MockSpan::New
  - tcmalloc::tcmalloc_internal::MockSpan::MockSpan
  - tcmalloc::tcmalloc_internal::MockSpan::New
  source_file: /src/tcmalloc/tcmalloc/internal/mock_span.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: MockSpanList
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/tcmalloc/tcmalloc/internal/mock_span.h
    - item_type: typedef
      name: MockSpanList
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/tcmalloc/tcmalloc/internal/mock_span.h
    - item_type: typedef
      name: MockSpanList
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/tcmalloc/tcmalloc/internal/mock_span.h
    - item_type: typedef
      name: MockSpanList
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/tcmalloc/tcmalloc/internal/mock_span.h
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Nil
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Report
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Nil
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Report
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Nil
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Report
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Nil
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Report
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Nil
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Report
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Nil
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Report
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Nil
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Report
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Nil
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Report
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::empty
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::Advance
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::FakeClock
  - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::GetFakeClockFrequency
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST_F
  source_file: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: values_
        type: std::vector<int>
      item_type: struct
      name: TestEntry
      pos:
        line_end: 43
        line_start: 35
        source_file: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    - fields:
      - name: values_
        type: std::vector<int>
      item_type: struct
      name: TestEntry
      pos:
        line_end: 43
        line_start: 35
        source_file: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    - fields:
      - name: values_
        type: std::vector<int>
      item_type: struct
      name: TestEntry
      pos:
        line_end: 43
        line_start: 35
        source_file: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    - fields:
      - name: values_
        type: std::vector<int>
      item_type: struct
      name: TestEntry
      pos:
        line_end: 43
        line_start: 35
        source_file: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    - fields:
      - name: values_
        type: std::vector<int>
      item_type: struct
      name: TestEntry
      pos:
        line_end: 43
        line_start: 35
        source_file: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    - fields:
      - name: values_
        type: std::vector<int>
      item_type: struct
      name: TestEntry
      pos:
        line_end: 43
        line_start: 35
        source_file: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    - fields:
      - name: values_
        type: std::vector<int>
      item_type: struct
      name: TestEntry
      pos:
        line_end: 43
        line_start: 35
        source_file: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    - fields:
      - name: values_
        type: std::vector<int>
      item_type: struct
      name: TestEntry
      pos:
        line_end: 43
        line_start: 35
        source_file: /src/tcmalloc/tcmalloc/internal/timeseries_tracker_test.cc
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::OpenSysfsCacheList
  - tcmalloc_internal::OpenSysfsCacheList
  - tcmalloc_internal::CacheTopology::Init
  - tcmalloc_internal::OpenSysfsCacheList
  - tcmalloc_internal::OpenSysfsCacheList
  - tcmalloc_internal::CacheTopology::Init
  source_file: /src/tcmalloc/tcmalloc/internal/cache_topology.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::BitmapTest::FindSetResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindClearResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindSetResultsBackwards
  - tcmalloc::tcmalloc_internal::BitmapTest::FindClearResultsBackwards
  - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::BitmapTest::FindSetResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindClearResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindSetResultsBackwards
  - tcmalloc::tcmalloc_internal::BitmapTest::FindClearResultsBackwards
  - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::BitmapTest::FindSetResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindClearResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindSetResultsBackwards
  - tcmalloc::tcmalloc_internal::BitmapTest::FindClearResultsBackwards
  - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::BitmapTest::FindSetResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindClearResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindSetResultsBackwards
  - tcmalloc::tcmalloc_internal::BitmapTest::FindClearResultsBackwards
  - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::BitmapTest::FindSetResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindClearResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindSetResultsBackwards
  - tcmalloc::tcmalloc_internal::BitmapTest::FindClearResultsBackwards
  - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::BitmapTest::FindSetResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindClearResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindSetResultsBackwards
  - tcmalloc::tcmalloc_internal::BitmapTest::FindClearResultsBackwards
  - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::BitmapTest::FindSetResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindClearResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindSetResultsBackwards
  - tcmalloc::tcmalloc_internal::BitmapTest::FindClearResultsBackwards
  - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::BitmapTest::FindSetResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindClearResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindResults
  - tcmalloc::tcmalloc_internal::BitmapTest::FindSetResultsBackwards
  - tcmalloc::tcmalloc_internal::BitmapTest::FindClearResultsBackwards
  - tcmalloc::tcmalloc_internal::BitmapTest::FindResultsBackwards
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  source_file: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - BM_mincore
  - BM_mincore
  source_file: /src/tcmalloc/tcmalloc/internal/mincore_benchmark.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/config_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
  - tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
  - tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
  - tcmalloc::tcmalloc_internal::ResidencySpouse::Get
  - tcmalloc::tcmalloc_internal::ResidencySpouse::GetUnbackedAndSwappedBitmaps
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
  - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
  - tcmalloc::tcmalloc_internal::BitmapsAreEqual
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
  - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
  - tcmalloc::tcmalloc_internal::BitmapsAreEqual
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
  - tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
  - tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
  - tcmalloc::tcmalloc_internal::ResidencySpouse::Get
  - tcmalloc::tcmalloc_internal::ResidencySpouse::GetUnbackedAndSwappedBitmaps
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
  - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
  - tcmalloc::tcmalloc_internal::BitmapsAreEqual
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
  - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
  - tcmalloc::tcmalloc_internal::BitmapsAreEqual
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
  - tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
  - tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
  - tcmalloc::tcmalloc_internal::ResidencySpouse::Get
  - tcmalloc::tcmalloc_internal::ResidencySpouse::GetUnbackedAndSwappedBitmaps
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
  - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
  - tcmalloc::tcmalloc_internal::BitmapsAreEqual
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
  - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
  - tcmalloc::tcmalloc_internal::BitmapsAreEqual
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
  - tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
  - tcmalloc::tcmalloc_internal::ResidencySpouse::ResidencySpouse
  - tcmalloc::tcmalloc_internal::ResidencySpouse::Get
  - tcmalloc::tcmalloc_internal::ResidencySpouse::GetUnbackedAndSwappedBitmaps
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
  - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
  - tcmalloc::tcmalloc_internal::BitmapsAreEqual
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
  - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
  - tcmalloc::tcmalloc_internal::BitmapsAreEqual
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/residency_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::PrepareStackTrace
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PrepareStackTrace
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PrepareStackTrace
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PrepareStackTrace
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PrepareStackTrace
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PrepareStackTrace
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PrepareStackTrace
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::PrepareStackTrace
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/environment_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::subtle::percpu::Unsupported
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PerCpuCmpxchg64
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PushBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PopBatch
  - tcmalloc_internal::subtle::percpu::PerCpuReadCycleCounter
  - tcmalloc_internal::subtle::percpu::Unsupported
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PerCpuCmpxchg64
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PushBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PopBatch
  - tcmalloc_internal::subtle::percpu::PerCpuReadCycleCounter
  - tcmalloc_internal::subtle::percpu::Unsupported
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PerCpuCmpxchg64
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PushBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PopBatch
  - tcmalloc_internal::subtle::percpu::PerCpuReadCycleCounter
  - tcmalloc_internal::subtle::percpu::Unsupported
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PerCpuCmpxchg64
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PushBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PopBatch
  - tcmalloc_internal::subtle::percpu::PerCpuReadCycleCounter
  - tcmalloc_internal::subtle::percpu::Unsupported
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PerCpuCmpxchg64
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PushBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PopBatch
  - tcmalloc_internal::subtle::percpu::PerCpuReadCycleCounter
  - tcmalloc_internal::subtle::percpu::Unsupported
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PerCpuCmpxchg64
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PushBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PopBatch
  - tcmalloc_internal::subtle::percpu::PerCpuReadCycleCounter
  - tcmalloc_internal::subtle::percpu::Unsupported
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PerCpuCmpxchg64
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PushBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PopBatch
  - tcmalloc_internal::subtle::percpu::PerCpuReadCycleCounter
  - tcmalloc_internal::subtle::percpu::Unsupported
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PerCpuCmpxchg64
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PushBatch
  - tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_PopBatch
  - tcmalloc_internal::subtle::percpu::PerCpuReadCycleCounter
  source_file: /src/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::BM_PushPop
  - tcmalloc_internal::BM_PushPopBatch
  - tcmalloc_internal::BM_AppendRemove
  - tcmalloc_internal::BM_PushPop
  - tcmalloc_internal::BM_PushPopBatch
  - tcmalloc_internal::BM_AppendRemove
  - tcmalloc_internal::BM_PushPop
  - tcmalloc_internal::BM_PushPopBatch
  - tcmalloc_internal::BM_AppendRemove
  - tcmalloc_internal::BM_PushPop
  - tcmalloc_internal::BM_PushPopBatch
  - tcmalloc_internal::BM_AppendRemove
  source_file: /src/tcmalloc/tcmalloc/internal/linked_list_benchmark.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::NumCPUsMaybe
  - tcmalloc_internal::NumCPUs
  - tcmalloc_internal::NumCPUsMaybe
  - tcmalloc_internal::NumCPUs
  source_file: /src/tcmalloc/tcmalloc/internal/sysinfo.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::memfd_create
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - ~SyntheticCpuList()
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - '& operator=(const SyntheticCpuList&)'
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - '& operator=(SyntheticCpuList&& other)'
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::fd
  - tcmalloc::tcmalloc_internal::NumaTopologyTest::SetUp
  - tcmalloc::tcmalloc_internal::CreateNumaTopology
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::memfd_create
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - ~SyntheticCpuList()
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - '& operator=(const SyntheticCpuList&)'
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - '& operator=(SyntheticCpuList&& other)'
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::fd
  - tcmalloc::tcmalloc_internal::NumaTopologyTest::SetUp
  - tcmalloc::tcmalloc_internal::CreateNumaTopology
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::memfd_create
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - ~SyntheticCpuList()
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - '& operator=(const SyntheticCpuList&)'
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - '& operator=(SyntheticCpuList&& other)'
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::fd
  - tcmalloc::tcmalloc_internal::NumaTopologyTest::SetUp
  - tcmalloc::tcmalloc_internal::CreateNumaTopology
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::memfd_create
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - ~SyntheticCpuList()
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - '& operator=(const SyntheticCpuList&)'
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - '& operator=(SyntheticCpuList&& other)'
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::fd
  - tcmalloc::tcmalloc_internal::NumaTopologyTest::SetUp
  - tcmalloc::tcmalloc_internal::CreateNumaTopology
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::memfd_create
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - ~SyntheticCpuList()
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - '& operator=(const SyntheticCpuList&)'
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - '& operator=(SyntheticCpuList&& other)'
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::fd
  - tcmalloc::tcmalloc_internal::NumaTopologyTest::SetUp
  - tcmalloc::tcmalloc_internal::CreateNumaTopology
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::memfd_create
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - ~SyntheticCpuList()
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - '& operator=(const SyntheticCpuList&)'
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - '& operator=(SyntheticCpuList&& other)'
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::fd
  - tcmalloc::tcmalloc_internal::NumaTopologyTest::SetUp
  - tcmalloc::tcmalloc_internal::CreateNumaTopology
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::memfd_create
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - ~SyntheticCpuList()
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - '& operator=(const SyntheticCpuList&)'
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - '& operator=(SyntheticCpuList&& other)'
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::fd
  - tcmalloc::tcmalloc_internal::NumaTopologyTest::SetUp
  - tcmalloc::tcmalloc_internal::CreateNumaTopology
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::memfd_create
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - ~SyntheticCpuList()
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - '& operator=(const SyntheticCpuList&)'
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::SyntheticCpuList
  - '& operator=(SyntheticCpuList&& other)'
  - tcmalloc::tcmalloc_internal::SyntheticCpuList::fd
  - tcmalloc::tcmalloc_internal::NumaTopologyTest::SetUp
  - tcmalloc::tcmalloc_internal::CreateNumaTopology
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  source_file: /src/tcmalloc/tcmalloc/internal/numa_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcmalloc/tcmalloc/internal/declarations.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/tcmalloc/tcmalloc/internal/environment.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::SampledAllocation
  - tcmalloc_internal::SampledAllocation
  - tcmalloc_internal::SampledAllocation
  - '& operator=(const SampledAllocation&)'
  - tcmalloc_internal::SampledAllocation
  - '& operator=(SampledAllocation&&)'
  - tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::SampledAllocation
  - tcmalloc_internal::SampledAllocation
  - tcmalloc_internal::SampledAllocation
  - '& operator=(const SampledAllocation&)'
  - tcmalloc_internal::SampledAllocation
  - '& operator=(SampledAllocation&&)'
  - tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: PrepareForSampling(StackTrace&& stack_trace)
        type: void
      - name: sampled_stack
        type: StackTrace
      item_type: struct
      name: SampledAllocation
      pos:
        line_end: 56
        line_start: 27
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    - fields:
      - name: PrepareForSampling(StackTrace&& stack_trace)
        type: void
      - name: sampled_stack
        type: StackTrace
      item_type: struct
      name: SampledAllocation
      pos:
        line_end: 56
        line_start: 27
        source_file: /src/tcmalloc/tcmalloc/internal/sampled_allocation.h
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TestNextRandom
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestNextRandom
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestNextRandom
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestNextRandom
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestNextRandom
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestNextRandom
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestNextRandom
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestNextRandom
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/exponential_biased_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/tcmalloc/tcmalloc/internal/clock.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (*now)()
        type: int64_t
      - name: (*freq)()
        type: double
      item_type: struct
      name: Clock
      pos:
        line_end: 34
        line_start: 28
        source_file: /src/tcmalloc/tcmalloc/internal/clock.h
    - fields:
      - name: (*now)()
        type: int64_t
      - name: (*freq)()
        type: double
      item_type: struct
      name: Clock
      pos:
        line_end: 34
        line_start: 28
        source_file: /src/tcmalloc/tcmalloc/internal/clock.h
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::thread_safe_getenv
  - tcmalloc_internal::thread_safe_getenv
  - tcmalloc_internal::thread_safe_getenv
  - tcmalloc_internal::thread_safe_getenv
  source_file: /src/tcmalloc/tcmalloc/internal/environment.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::BM_MarkUnmark
  - tcmalloc_internal::BM_MarkUnmarkEmpty
  - tcmalloc_internal::BM_MarkUnmarkChunks
  - tcmalloc_internal::BM_FillOnes
  - tcmalloc_internal::BM_EmptyOnes
  - tcmalloc_internal::ExamineDoFind
  - tcmalloc_internal::DoSearchBenchmark
  - tcmalloc_internal::BM_FindEmpty
  - tcmalloc_internal::BM_FindLast
  - tcmalloc_internal::BM_FindFull
  - tcmalloc_internal::BM_FindRandom
  - tcmalloc_internal::DoScanBenchmark
  - tcmalloc_internal::BM_ScanEmpty
  - tcmalloc_internal::BM_ScanFull
  - tcmalloc_internal::BM_ScanRandom
  - tcmalloc_internal::BM_ScanChunks
  - tcmalloc_internal::BM_MarkUnmark
  - tcmalloc_internal::BM_MarkUnmarkEmpty
  - tcmalloc_internal::BM_MarkUnmarkChunks
  - tcmalloc_internal::BM_FillOnes
  - tcmalloc_internal::BM_EmptyOnes
  - tcmalloc_internal::ExamineDoFind
  - tcmalloc_internal::DoSearchBenchmark
  - tcmalloc_internal::BM_FindEmpty
  - tcmalloc_internal::BM_FindLast
  - tcmalloc_internal::BM_FindFull
  - tcmalloc_internal::BM_FindRandom
  - tcmalloc_internal::DoScanBenchmark
  - tcmalloc_internal::BM_ScanEmpty
  - tcmalloc_internal::BM_ScanFull
  - tcmalloc_internal::BM_ScanRandom
  - tcmalloc_internal::BM_ScanChunks
  - tcmalloc_internal::BM_MarkUnmark
  - tcmalloc_internal::BM_MarkUnmarkEmpty
  - tcmalloc_internal::BM_MarkUnmarkChunks
  - tcmalloc_internal::BM_FillOnes
  - tcmalloc_internal::BM_EmptyOnes
  - tcmalloc_internal::ExamineDoFind
  - tcmalloc_internal::DoSearchBenchmark
  - tcmalloc_internal::BM_FindEmpty
  - tcmalloc_internal::BM_FindLast
  - tcmalloc_internal::BM_FindFull
  - tcmalloc_internal::BM_FindRandom
  - tcmalloc_internal::DoScanBenchmark
  - tcmalloc_internal::BM_ScanEmpty
  - tcmalloc_internal::BM_ScanFull
  - tcmalloc_internal::BM_ScanRandom
  - tcmalloc_internal::BM_ScanChunks
  - tcmalloc_internal::BM_MarkUnmark
  - tcmalloc_internal::BM_MarkUnmarkEmpty
  - tcmalloc_internal::BM_MarkUnmarkChunks
  - tcmalloc_internal::BM_FillOnes
  - tcmalloc_internal::BM_EmptyOnes
  - tcmalloc_internal::ExamineDoFind
  - tcmalloc_internal::DoSearchBenchmark
  - tcmalloc_internal::BM_FindEmpty
  - tcmalloc_internal::BM_FindLast
  - tcmalloc_internal::BM_FindFull
  - tcmalloc_internal::BM_FindRandom
  - tcmalloc_internal::DoScanBenchmark
  - tcmalloc_internal::BM_ScanEmpty
  - tcmalloc_internal::BM_ScanFull
  - tcmalloc_internal::BM_ScanRandom
  - tcmalloc_internal::BM_ScanChunks
  source_file: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
  types:
    enum:
    - enumerators:
      - name: Forward
      - name: Backward
      item_type: enum
      name: SearchDirection
      pos:
        line_end: 153
        line_start: 150
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    - enumerators:
      - name: Forward
      - name: Backward
      item_type: enum
      name: SearchDirection
      pos:
        line_end: 153
        line_start: 150
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    - enumerators:
      - name: Forward
      - name: Backward
      item_type: enum
      name: SearchDirection
      pos:
        line_end: 153
        line_start: 150
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    - enumerators:
      - name: Forward
      - name: Backward
      item_type: enum
      name: SearchDirection
      pos:
        line_end: 153
        line_start: 150
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    preproc_defs: []
    structs:
    - fields:
      - name: index
        type: size_t
      - name: len
        type: size_t
      item_type: struct
      name: RangeInfo
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    - fields:
      - name: index
        type: size_t
      - name: len
        type: size_t
      item_type: struct
      name: RangeInfo
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    - fields:
      - name: index
        type: size_t
      - name: len
        type: size_t
      item_type: struct
      name: RangeInfo
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    - fields:
      - name: index
        type: size_t
      - name: len
        type: size_t
      item_type: struct
      name: RangeInfo
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker_benchmark.cc
    typedefs: []
    union: []
- function_names:
  - namespace
  - operator==(const PageStats& rhs) const
  - operator!=(const PageStats& rhs) const
  - tcmalloc_internal::PageFlagsBase::PageFlagsBase
  - ~PageFlagsBase()
  - tcmalloc_internal::PageFlagsBase::PageFlagsBase
  - tcmalloc_internal::PageFlagsBase::PageFlagsBase
  - '& operator=(const PageFlagsBase&)'
  - '& operator=(PageFlagsBase&&)'
  - operator==(const PageStats& rhs) const
  - operator!=(const PageStats& rhs) const
  - tcmalloc_internal::PageFlagsBase::PageFlagsBase
  - ~PageFlagsBase()
  - tcmalloc_internal::PageFlagsBase::PageFlagsBase
  - tcmalloc_internal::PageFlagsBase::PageFlagsBase
  - '& operator=(const PageFlagsBase&)'
  - '& operator=(PageFlagsBase&&)'
  source_file: /src/tcmalloc/tcmalloc/internal/pageflags.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bytes_stale
        type: size_t
      - name: bytes_locked
        type: size_t
      - name: stale_scan_seconds
        type: uint64_t
      item_type: struct
      name: PageStats
      pos:
        line_end: 56
        line_start: 35
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.h
    - fields:
      - name: bytes_stale
        type: size_t
      - name: bytes_locked
        type: size_t
      - name: stale_scan_seconds
        type: uint64_t
      item_type: struct
      name: PageStats
      pos:
        line_end: 56
        line_start: 35
        source_file: /src/tcmalloc/tcmalloc/internal/pageflags.h
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
  - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
  - tcmalloc::tcmalloc_internal::Random::Random
  - tcmalloc::tcmalloc_internal::Random::Next
  - tcmalloc::tcmalloc_internal::Random::Reset
  - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
  - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
  - tcmalloc::tcmalloc_internal::Random::Random
  - tcmalloc::tcmalloc_internal::Random::Next
  - tcmalloc::tcmalloc_internal::Random::Reset
  - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
  - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
  - tcmalloc::tcmalloc_internal::Random::Random
  - tcmalloc::tcmalloc_internal::Random::Next
  - tcmalloc::tcmalloc_internal::Random::Reset
  - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
  - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
  - tcmalloc::tcmalloc_internal::Random::Random
  - tcmalloc::tcmalloc_internal::Random::Next
  - tcmalloc::tcmalloc_internal::Random::Reset
  source_file: /src/tcmalloc/tcmalloc/internal/exponential_biased.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::MInCoreMock::MInCoreMock
  - ~MInCoreMock() override
  - tcmalloc::tcmalloc_internal::MInCoreMock::mincore
  - tcmalloc::tcmalloc_internal::MInCoreMock::addPage
  - tcmalloc::tcmalloc_internal::MInCoreTest::MInCoreTest
  - ~MInCoreTest()
  - tcmalloc::tcmalloc_internal::MInCoreTest::residence
  - tcmalloc::tcmalloc_internal::MInCoreTest::addPage
  - tcmalloc::tcmalloc_internal::MInCoreTest::chunkSize
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MInCoreMock::MInCoreMock
  - ~MInCoreMock() override
  - tcmalloc::tcmalloc_internal::MInCoreMock::mincore
  - tcmalloc::tcmalloc_internal::MInCoreMock::addPage
  - tcmalloc::tcmalloc_internal::MInCoreTest::MInCoreTest
  - ~MInCoreTest()
  - tcmalloc::tcmalloc_internal::MInCoreTest::residence
  - tcmalloc::tcmalloc_internal::MInCoreTest::addPage
  - tcmalloc::tcmalloc_internal::MInCoreTest::chunkSize
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MInCoreMock::MInCoreMock
  - ~MInCoreMock() override
  - tcmalloc::tcmalloc_internal::MInCoreMock::mincore
  - tcmalloc::tcmalloc_internal::MInCoreMock::addPage
  - tcmalloc::tcmalloc_internal::MInCoreTest::MInCoreTest
  - ~MInCoreTest()
  - tcmalloc::tcmalloc_internal::MInCoreTest::residence
  - tcmalloc::tcmalloc_internal::MInCoreTest::addPage
  - tcmalloc::tcmalloc_internal::MInCoreTest::chunkSize
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MInCoreMock::MInCoreMock
  - ~MInCoreMock() override
  - tcmalloc::tcmalloc_internal::MInCoreMock::mincore
  - tcmalloc::tcmalloc_internal::MInCoreMock::addPage
  - tcmalloc::tcmalloc_internal::MInCoreTest::MInCoreTest
  - ~MInCoreTest()
  - tcmalloc::tcmalloc_internal::MInCoreTest::residence
  - tcmalloc::tcmalloc_internal::MInCoreTest::addPage
  - tcmalloc::tcmalloc_internal::MInCoreTest::chunkSize
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/internal/mincore_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace tcmalloc::tcmalloc_internal::selsan
  - MapShadow
  - EnableTBI
  - Init
  - CheckAccess
  - PrintTagMismatch
  - MapShadow
  - EnableTBI
  - Init
  - CheckAccess
  - PrintTagMismatch
  - SamplingPercent
  - SetSamplingPercent
  - ShouldSample
  - PrintTextStats
  - PrintPbtxtStats
  - SelsanTrapHandler
  - __hwasan_loadN
  - __hwasan_load1
  - __hwasan_load2
  - __hwasan_load4
  - __hwasan_load8
  - __hwasan_load16
  - __hwasan_storeN
  - __hwasan_store1
  - __hwasan_store2
  - __hwasan_store4
  - __hwasan_store8
  - __hwasan_store16
  - __hwasan_tag_memory
  - __hwasan_personality_wrapper
  - __hwasan_tag_mismatch_v2
  - TCMallocInternalTagMismatch
  - __hwasan_init
  source_file: /src/tcmalloc/tcmalloc/selsan/selsan.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAP_FIXED_NOREPLACE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcmalloc/tcmalloc/selsan/selsan.cc
      type_or_value: '0x100000'
    - item_type: preproc_def
      name: ARCH_ENABLE_TAGGED_ADDR
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcmalloc/tcmalloc/selsan/selsan.cc
      type_or_value: '0x4002'
    - item_type: preproc_def
      name: PR_SET_TAGGED_ADDR_CTRL
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcmalloc/tcmalloc/selsan/selsan.cc
      type_or_value: '55'
    - item_type: preproc_def
      name: PR_TAGGED_ADDR_ENABLE
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcmalloc/tcmalloc/selsan/selsan.cc
      type_or_value: (1UL << 0)
    - item_type: preproc_def
      name: MAP_FIXED_NOREPLACE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcmalloc/tcmalloc/selsan/selsan.cc
      type_or_value: '0x100000'
    - item_type: preproc_def
      name: ARCH_ENABLE_TAGGED_ADDR
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcmalloc/tcmalloc/selsan/selsan.cc
      type_or_value: '0x4002'
    - item_type: preproc_def
      name: PR_SET_TAGGED_ADDR_CTRL
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcmalloc/tcmalloc/selsan/selsan.cc
      type_or_value: '55'
    - item_type: preproc_def
      name: PR_TAGGED_ADDR_ENABLE
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcmalloc/tcmalloc/selsan/selsan.cc
      type_or_value: (1UL << 0)
    structs: []
    typedefs:
    - item_type: typedef
      name: "PersonalityFn(int version, _Unwind_Action actions,\n                                          uint64_t
        exception_class,\n                                          _Unwind_Exception*
        unwind_exception,\n                                          _Unwind_Context*
        context)"
      pos:
        line_end: 233
        line_start: 230
        source_file: /src/tcmalloc/tcmalloc/selsan/selsan.cc
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::selsan::Test::SetUp
  - tcmalloc::tcmalloc_internal::selsan::Test::mistag
  - tcmalloc::tcmalloc_internal::selsan::TEST_F
  - tcmalloc::tcmalloc_internal::selsan::TEST_F
  - tcmalloc::tcmalloc_internal::selsan::Test::SetUp
  - tcmalloc::tcmalloc_internal::selsan::Test::mistag
  - tcmalloc::tcmalloc_internal::selsan::TEST_F
  - tcmalloc::tcmalloc_internal::selsan::TEST_F
  - tcmalloc::tcmalloc_internal::selsan::Test::SetUp
  - tcmalloc::tcmalloc_internal::selsan::Test::mistag
  - tcmalloc::tcmalloc_internal::selsan::TEST_F
  - tcmalloc::tcmalloc_internal::selsan::TEST_F
  - tcmalloc::tcmalloc_internal::selsan::Test::SetUp
  - tcmalloc::tcmalloc_internal::selsan::Test::mistag
  - tcmalloc::tcmalloc_internal::selsan::TEST_F
  - tcmalloc::tcmalloc_internal::selsan::TEST_F
  source_file: /src/tcmalloc/tcmalloc/selsan/report_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace tcmalloc::tcmalloc_internal::selsan
  - IsEnabled
  - RoundUpObjectSize
  - SetTagTail
  - SetTagPair
  - SetTag
  - SetTag
  - RemoveTag
  - ResetTag
  - UpdateTag
  - RoundUpObjectSize
  - ResetTag
  - UpdateTag
  - RemoveTag
  - IsEnabled
  - ShouldSample
  - SamplingPercent
  - SetSamplingPercent
  - PrintTextStats
  - PrintPbtxtStats
  source_file: /src/tcmalloc/tcmalloc/selsan/selsan.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::selsan::TEST
  - tcmalloc::tcmalloc_internal::selsan::TEST
  - tcmalloc::tcmalloc_internal::selsan::TEST
  - tcmalloc::tcmalloc_internal::selsan::TEST
  - tcmalloc::tcmalloc_internal::selsan::TEST
  - tcmalloc::tcmalloc_internal::selsan::TEST
  - tcmalloc::tcmalloc_internal::selsan::TEST
  - tcmalloc::tcmalloc_internal::selsan::TEST
  - tcmalloc::tcmalloc_internal::selsan::TEST
  - tcmalloc::tcmalloc_internal::selsan::TEST
  - tcmalloc::tcmalloc_internal::selsan::TEST
  - tcmalloc::tcmalloc_internal::selsan::TEST
  source_file: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TCMALLOC_INTERNAL_SELSAN
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc
      type_or_value: '1'
    - item_type: preproc_def
      name: TCMALLOC_SELSAN_TEST_SHADOW_OVERRIDE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/tcmalloc/tcmalloc/selsan/shadow_test.cc
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/want_legacy_size_classes_helper.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::CurrentThreadCacheSize
  - tcmalloc::Filler
  - tcmalloc::TEST
  - tcmalloc::CurrentThreadCacheSize
  - tcmalloc::Filler
  - tcmalloc::TEST
  - tcmalloc::CurrentThreadCacheSize
  - tcmalloc::Filler
  - tcmalloc::TEST
  - tcmalloc::CurrentThreadCacheSize
  - tcmalloc::Filler
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/threadcachesize_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/thread_ctor_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::Go
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::Go
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::Go
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::Go
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/background_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: ProcessActions
      pos:
        line_end: 44
        line_start: 38
        source_file: /src/tcmalloc/tcmalloc/testing/background_test.cc
    - fields: []
      item_type: struct
      name: ProcessActions
      pos:
        line_end: 44
        line_start: 38
        source_file: /src/tcmalloc/tcmalloc/testing/background_test.cc
    - fields: []
      item_type: struct
      name: ProcessActions
      pos:
        line_end: 44
        line_start: 38
        source_file: /src/tcmalloc/tcmalloc/testing/background_test.cc
    - fields: []
      item_type: struct
      name: ProcessActions
      pos:
        line_end: 44
        line_start: 38
        source_file: /src/tcmalloc/tcmalloc/testing/background_test.cc
    typedefs: []
    union: []
- function_names:
  - tcmalloc::OutOfMemoryTest::OutOfMemoryTest
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::OutOfMemoryTest::OutOfMemoryTest
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::OutOfMemoryTest::OutOfMemoryTest
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::OutOfMemoryTest::OutOfMemoryTest
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  source_file: /src/tcmalloc/tcmalloc/testing/outofmemory_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ADDR_IN_ATTRIBUTE_SECTION
  - tcmalloc::tcmalloc_testing::CheckSectionVars
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::MallocHookRecorder
  - MallocHookRecorder::~MallocHookRecorder()
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::Restart
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
  - tcmalloc::tcmalloc_testing::IsMMap
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::ConsumeLog
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::GlobalNewHook
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::GlobalDeleteHook
  - "operator==(const MallocHookRecorder::CallEntry& lhs,\n                const MallocHookRecorder::CallEntry&
    rhs)"
  - tcmalloc::tcmalloc_testing::ToString
  - tcmalloc::tcmalloc_testing::ToString
  - "& operator<<(std::ostream& stream,\n                         const MallocHookRecorder::CallEntry&
    lhs)"
  - tcmalloc::tcmalloc_testing::CheckSectionVars
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::MallocHookRecorder
  - MallocHookRecorder::~MallocHookRecorder()
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::Restart
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
  - tcmalloc::tcmalloc_testing::IsMMap
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::ConsumeLog
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::GlobalNewHook
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::GlobalDeleteHook
  - "operator==(const MallocHookRecorder::CallEntry& lhs,\n                const MallocHookRecorder::CallEntry&
    rhs)"
  - tcmalloc::tcmalloc_testing::ToString
  - tcmalloc::tcmalloc_testing::ToString
  - "& operator<<(std::ostream& stream,\n                         const MallocHookRecorder::CallEntry&
    lhs)"
  - tcmalloc::tcmalloc_testing::CheckSectionVars
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::MallocHookRecorder
  - MallocHookRecorder::~MallocHookRecorder()
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::Restart
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
  - tcmalloc::tcmalloc_testing::IsMMap
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::ConsumeLog
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::GlobalNewHook
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::GlobalDeleteHook
  - "operator==(const MallocHookRecorder::CallEntry& lhs,\n                const MallocHookRecorder::CallEntry&
    rhs)"
  - tcmalloc::tcmalloc_testing::ToString
  - tcmalloc::tcmalloc_testing::ToString
  - "& operator<<(std::ostream& stream,\n                         const MallocHookRecorder::CallEntry&
    lhs)"
  - tcmalloc::tcmalloc_testing::CheckSectionVars
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::MallocHookRecorder
  - MallocHookRecorder::~MallocHookRecorder()
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::Restart
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
  - tcmalloc::tcmalloc_testing::IsMMap
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::ConsumeLog
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::AddLog
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::GlobalNewHook
  - tcmalloc::tcmalloc_testing::MallocHookRecorder::GlobalDeleteHook
  - "operator==(const MallocHookRecorder::CallEntry& lhs,\n                const MallocHookRecorder::CallEntry&
    rhs)"
  - tcmalloc::tcmalloc_testing::ToString
  - tcmalloc::tcmalloc_testing::ToString
  - "& operator<<(std::ostream& stream,\n                         const MallocHookRecorder::CallEntry&
    lhs)"
  source_file: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.cc
      type_or_value: 1  // for mremap (in sys/mman.h)
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/frag_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::ParseCpuCacheSize
  - tcmalloc::GetMallocStats
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::Go
  - tcmalloc::ParseCpuCacheSize
  - tcmalloc::GetMallocStats
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::Go
  - tcmalloc::ParseCpuCacheSize
  - tcmalloc::GetMallocStats
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::Go
  - tcmalloc::ParseCpuCacheSize
  - tcmalloc::GetMallocStats
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::Go
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: Reclaimer
      pos:
        line_end: 163
        line_start: 146
        source_file: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    - fields: []
      item_type: struct
      name: Reclaimer
      pos:
        line_end: 163
        line_start: 146
        source_file: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    - fields: []
      item_type: struct
      name: Reclaimer
      pos:
        line_end: 163
        line_start: 146
        source_file: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    - fields: []
      item_type: struct
      name: Reclaimer
      pos:
        line_end: 163
        line_start: 146
        source_file: /src/tcmalloc/tcmalloc/testing/reclaim_test.cc
    typedefs: []
    union: []
- function_names:
  - tcmalloc::TestAllocation
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::GetTotalThreadCacheSize
  - tcmalloc::TEST
  - tcmalloc::TestAllocation
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::GetTotalThreadCacheSize
  - tcmalloc::TEST
  - tcmalloc::TestAllocation
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::GetTotalThreadCacheSize
  - tcmalloc::TEST
  - tcmalloc::TestAllocation
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::GetTotalThreadCacheSize
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/markidle_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::TEST_P
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::arena
  - tcmalloc::TestAllocator::TestAllocator
  - tcmalloc::TestAllocator::TestAllocator
  - tcmalloc::TestAllocator::allocate
  - tcmalloc::TestAllocator::deallocate
  - tcmalloc::HeapAllocHandleTest::HeapAllocHandleTest
  - ~HeapAllocHandleTest() override
  - tcmalloc::HeapAllocHandleTest::MemoryAllocated
  - tcmalloc::HeapAllocHandleTest::MemoryDeallocated
  - tcmalloc::TEST_P
  - tcmalloc::TEST_P
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::arena
  - tcmalloc::TestAllocator::TestAllocator
  - tcmalloc::TestAllocator::TestAllocator
  - tcmalloc::TestAllocator::allocate
  - tcmalloc::TestAllocator::deallocate
  - tcmalloc::HeapAllocHandleTest::HeapAllocHandleTest
  - ~HeapAllocHandleTest() override
  - tcmalloc::HeapAllocHandleTest::MemoryAllocated
  - tcmalloc::HeapAllocHandleTest::MemoryDeallocated
  - tcmalloc::TEST_P
  - tcmalloc::TEST_P
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::arena
  - tcmalloc::TestAllocator::TestAllocator
  - tcmalloc::TestAllocator::TestAllocator
  - tcmalloc::TestAllocator::allocate
  - tcmalloc::TestAllocator::deallocate
  - tcmalloc::HeapAllocHandleTest::HeapAllocHandleTest
  - ~HeapAllocHandleTest() override
  - tcmalloc::HeapAllocHandleTest::MemoryAllocated
  - tcmalloc::HeapAllocHandleTest::MemoryDeallocated
  - tcmalloc::TEST_P
  - tcmalloc::TEST_P
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::arena
  - tcmalloc::TestAllocator::TestAllocator
  - tcmalloc::TestAllocator::TestAllocator
  - tcmalloc::TestAllocator::allocate
  - tcmalloc::TestAllocator::deallocate
  - tcmalloc::HeapAllocHandleTest::HeapAllocHandleTest
  - ~HeapAllocHandleTest() override
  - tcmalloc::HeapAllocHandleTest::MemoryAllocated
  - tcmalloc::HeapAllocHandleTest::MemoryDeallocated
  - tcmalloc::TEST_P
  source_file: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/hello_main.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::Fill
  - tcmalloc::ExpectValid
  - tcmalloc::NextSize
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::Fill
  - tcmalloc::ExpectValid
  - tcmalloc::NextSize
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::Fill
  - tcmalloc::ExpectValid
  - tcmalloc::NextSize
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::Fill
  - tcmalloc::ExpectValid
  - tcmalloc::NextSize
  - tcmalloc::TEST
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/realloc_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TryAllocExpectFail
  - tcmalloc::tcmalloc_internal::TryAllocMightFail
  - tcmalloc::tcmalloc_internal::NoErrnoRegion::NoErrnoRegion
  - tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::NoErrnoRegionFactory
  - ~NoErrnoRegionFactory() override
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
  - tcmalloc::tcmalloc_internal::LargeAllocationTest::LargeAllocationTest
  - ~LargeAllocationTest() override
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TryAllocExpectFail
  - tcmalloc::tcmalloc_internal::TryAllocMightFail
  - tcmalloc::tcmalloc_internal::NoErrnoRegion::NoErrnoRegion
  - tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::NoErrnoRegionFactory
  - ~NoErrnoRegionFactory() override
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
  - tcmalloc::tcmalloc_internal::LargeAllocationTest::LargeAllocationTest
  - ~LargeAllocationTest() override
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TryAllocExpectFail
  - tcmalloc::tcmalloc_internal::TryAllocMightFail
  - tcmalloc::tcmalloc_internal::NoErrnoRegion::NoErrnoRegion
  - tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::NoErrnoRegionFactory
  - ~NoErrnoRegionFactory() override
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
  - tcmalloc::tcmalloc_internal::LargeAllocationTest::LargeAllocationTest
  - ~LargeAllocationTest() override
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TryAllocExpectFail
  - tcmalloc::tcmalloc_internal::TryAllocMightFail
  - tcmalloc::tcmalloc_internal::NoErrnoRegion::NoErrnoRegion
  - tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::NoErrnoRegionFactory
  - ~NoErrnoRegionFactory() override
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
  - tcmalloc::tcmalloc_internal::LargeAllocationTest::LargeAllocationTest
  - ~LargeAllocationTest() override
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TryAllocExpectFail
  - tcmalloc::tcmalloc_internal::TryAllocMightFail
  - tcmalloc::tcmalloc_internal::NoErrnoRegion::NoErrnoRegion
  - tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::NoErrnoRegionFactory
  - ~NoErrnoRegionFactory() override
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
  - tcmalloc::tcmalloc_internal::LargeAllocationTest::LargeAllocationTest
  - ~LargeAllocationTest() override
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TryAllocExpectFail
  - tcmalloc::tcmalloc_internal::TryAllocMightFail
  - tcmalloc::tcmalloc_internal::NoErrnoRegion::NoErrnoRegion
  - tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::NoErrnoRegionFactory
  - ~NoErrnoRegionFactory() override
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
  - tcmalloc::tcmalloc_internal::LargeAllocationTest::LargeAllocationTest
  - ~LargeAllocationTest() override
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TryAllocExpectFail
  - tcmalloc::tcmalloc_internal::TryAllocMightFail
  - tcmalloc::tcmalloc_internal::NoErrnoRegion::NoErrnoRegion
  - tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::NoErrnoRegionFactory
  - ~NoErrnoRegionFactory() override
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
  - tcmalloc::tcmalloc_internal::LargeAllocationTest::LargeAllocationTest
  - ~LargeAllocationTest() override
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TryAllocExpectFail
  - tcmalloc::tcmalloc_internal::TryAllocMightFail
  - tcmalloc::tcmalloc_internal::NoErrnoRegion::NoErrnoRegion
  - tcmalloc::tcmalloc_internal::NoErrnoRegion::Alloc
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::NoErrnoRegionFactory
  - ~NoErrnoRegionFactory() override
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::Create
  - tcmalloc::tcmalloc_internal::NoErrnoRegionFactory::GetStats
  - tcmalloc::tcmalloc_internal::LargeAllocationTest::LargeAllocationTest
  - ~LargeAllocationTest() override
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_large_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::BackingNode
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::FakeNumaAwareRegionFactory
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::GetStats
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::GetStatsInPbtxt
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::NotFoundCount
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::VerifyHint
  - tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::install_factory
  - tcmalloc::tcmalloc_internal::BackingNode
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::FakeNumaAwareRegionFactory
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::GetStats
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::GetStatsInPbtxt
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::NotFoundCount
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::VerifyHint
  - tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::install_factory
  - tcmalloc::tcmalloc_internal::BackingNode
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::FakeNumaAwareRegionFactory
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::GetStats
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::GetStatsInPbtxt
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::NotFoundCount
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::VerifyHint
  - tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::install_factory
  - tcmalloc::tcmalloc_internal::BackingNode
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::FakeNumaAwareRegionFactory
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::GetStats
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::GetStatsInPbtxt
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::NotFoundCount
  - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::VerifyHint
  - tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::install_factory
  source_file: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TCMALLOC_TEST_DISABLE_FAKE_NUMA_FACTORY
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
      type_or_value: '1'
    - item_type: preproc_def
      name: TCMALLOC_TEST_DISABLE_FAKE_NUMA_FACTORY
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
      type_or_value: '1'
    - item_type: preproc_def
      name: TCMALLOC_TEST_DISABLE_FAKE_NUMA_FACTORY
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
      type_or_value: '1'
    - item_type: preproc_def
      name: TCMALLOC_TEST_DISABLE_FAKE_NUMA_FACTORY
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcmalloc/tcmalloc/testing/numa_locality_test.cc
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Foo
  - fn
  - Init
  - Foo
  - fn
  - Init
  - Func
  source_file: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NTHR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc
      type_or_value: '10'
    - item_type: preproc_def
      name: NTHR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc
      type_or_value: '10'
    structs:
    - fields:
      - name: x
        type: int
      item_type: struct
      name: Foo
      pos:
        line_end: 28
        line_start: 25
        source_file: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc
    - fields:
      - name: x
        type: int
      item_type: struct
      name: Foo
      pos:
        line_end: 28
        line_start: 25
        source_file: /src/tcmalloc/tcmalloc/testing/thread_ctor_test_lib.cc
    typedefs: []
    union: []
- function_names:
  - tcmalloc::Object
  - tcmalloc::Object
  - tcmalloc::Object
  - '& operator=(const Object& o)'
  - '& operator=(Object&& o)'
  - tcmalloc::State
  - tcmalloc::RemoveRandomObject
  - tcmalloc::AllocatorHarness::AllocatorHarness
  - ~AllocatorHarness()
  - tcmalloc::AllocatorHarness::Run
  - tcmalloc::AllocatorHarness::FillContents
  - tcmalloc::AllocatorHarness::CheckContents
  - tcmalloc::Object
  - tcmalloc::Object
  - tcmalloc::Object
  - '& operator=(const Object& o)'
  - '& operator=(Object&& o)'
  - tcmalloc::State
  - tcmalloc::RemoveRandomObject
  - tcmalloc::AllocatorHarness::AllocatorHarness
  - ~AllocatorHarness()
  - tcmalloc::AllocatorHarness::Run
  - tcmalloc::AllocatorHarness::FillContents
  - tcmalloc::AllocatorHarness::CheckContents
  source_file: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: int
      - name: generation
        type: int
      item_type: struct
      name: Object
      pos:
        line_end: 52
        line_start: 30
        source_file: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: int
      - name: generation
        type: int
      item_type: struct
      name: Object
      pos:
        line_end: 52
        line_start: 30
        source_file: /src/tcmalloc/tcmalloc/testing/test_allocator_harness.h
    typedefs: []
    union: []
- function_names:
  - TestProfileSamplingInterval
  - TestGuardedSamplingInterval
  - TestBackgroundReleaseRate
  - TestSkipSubreleaseIntervals
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/no_deps_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/benchmark_main.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - InRange
  - GetSpanDetailsForObject
  - TEST
  - TEST
  - InRange
  - GetSpanDetailsForObject
  - TEST
  source_file: /src/tcmalloc/tcmalloc/testing/malloc_tracing_extension_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/want_hpaa_test_helper.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::ProfileSizeAndTime
  - tcmalloc::PeakMemoryUsage
  - tcmalloc::ScopedPeakGrowthFraction::ScopedPeakGrowthFraction
  - ~ScopedPeakGrowthFraction()
  - tcmalloc::TEST
  - tcmalloc::ProfileSizeAndTime
  - tcmalloc::PeakMemoryUsage
  - tcmalloc::ScopedPeakGrowthFraction::ScopedPeakGrowthFraction
  - ~ScopedPeakGrowthFraction()
  - tcmalloc::TEST
  - tcmalloc::ProfileSizeAndTime
  - tcmalloc::PeakMemoryUsage
  - tcmalloc::ScopedPeakGrowthFraction::ScopedPeakGrowthFraction
  - ~ScopedPeakGrowthFraction()
  - tcmalloc::TEST
  - tcmalloc::ProfileSizeAndTime
  - tcmalloc::PeakMemoryUsage
  - tcmalloc::ScopedPeakGrowthFraction::ScopedPeakGrowthFraction
  - ~ScopedPeakGrowthFraction()
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/peak_heap_profiling_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::Allocator
  - operator()()
  - tcmalloc::TEST
  - tcmalloc::Allocator
  - operator()()
  - tcmalloc::TEST
  - tcmalloc::Allocator
  - operator()()
  - tcmalloc::TEST
  - tcmalloc::Allocator
  - operator()()
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '& stop'
        type: std::atomic<bool>
      - name: do_sized_delete
        type: bool
      item_type: struct
      name: Allocator
      pos:
        line_end: 71
        line_start: 37
        source_file: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
    - fields:
      - name: '& stop'
        type: std::atomic<bool>
      - name: do_sized_delete
        type: bool
      item_type: struct
      name: Allocator
      pos:
        line_end: 71
        line_start: 37
        source_file: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
    - fields:
      - name: '& stop'
        type: std::atomic<bool>
      - name: do_sized_delete
        type: bool
      item_type: struct
      name: Allocator
      pos:
        line_end: 71
        line_start: 37
        source_file: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
    - fields:
      - name: '& stop'
        type: std::atomic<bool>
      - name: do_sized_delete
        type: bool
      item_type: struct
      name: Allocator
      pos:
        line_end: 71
        line_start: 37
        source_file: /src/tcmalloc/tcmalloc/testing/parallel_test.cc
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::MappingName
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::SimpleRegion::SimpleRegion
  - tcmalloc::tcmalloc_internal::SimpleRegion::Alloc
  - tcmalloc::tcmalloc_internal::SimpleRegionFactory::SimpleRegionFactory
  - tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
  - tcmalloc::tcmalloc_internal::hintToString
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MappingName
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::SimpleRegion::SimpleRegion
  - tcmalloc::tcmalloc_internal::SimpleRegion::Alloc
  - tcmalloc::tcmalloc_internal::SimpleRegionFactory::SimpleRegionFactory
  - tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
  - tcmalloc::tcmalloc_internal::hintToString
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MappingName
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::SimpleRegion::SimpleRegion
  - tcmalloc::tcmalloc_internal::SimpleRegion::Alloc
  - tcmalloc::tcmalloc_internal::SimpleRegionFactory::SimpleRegionFactory
  - tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
  - tcmalloc::tcmalloc_internal::hintToString
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MappingName
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::SimpleRegion::SimpleRegion
  - tcmalloc::tcmalloc_internal::SimpleRegion::Alloc
  - tcmalloc::tcmalloc_internal::SimpleRegionFactory::SimpleRegionFactory
  - tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
  - tcmalloc::tcmalloc_internal::hintToString
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MappingName
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::SimpleRegion::SimpleRegion
  - tcmalloc::tcmalloc_internal::SimpleRegion::Alloc
  - tcmalloc::tcmalloc_internal::SimpleRegionFactory::SimpleRegionFactory
  - tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
  - tcmalloc::tcmalloc_internal::hintToString
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MappingName
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::SimpleRegion::SimpleRegion
  - tcmalloc::tcmalloc_internal::SimpleRegion::Alloc
  - tcmalloc::tcmalloc_internal::SimpleRegionFactory::SimpleRegionFactory
  - tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
  - tcmalloc::tcmalloc_internal::hintToString
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MappingName
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::SimpleRegion::SimpleRegion
  - tcmalloc::tcmalloc_internal::SimpleRegion::Alloc
  - tcmalloc::tcmalloc_internal::SimpleRegionFactory::SimpleRegionFactory
  - tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
  - tcmalloc::tcmalloc_internal::hintToString
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MappingName
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::SimpleRegion::SimpleRegion
  - tcmalloc::tcmalloc_internal::SimpleRegion::Alloc
  - tcmalloc::tcmalloc_internal::SimpleRegionFactory::SimpleRegionFactory
  - tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
  - tcmalloc::tcmalloc_internal::hintToString
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PR_SET_VMA
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
      type_or_value: '0x53564d41'
    - item_type: preproc_def
      name: PR_SET_VMA_ANON_NAME
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::SamplingMemoryTest::SamplingMemoryTest
  - tcmalloc::SamplingMemoryTest::Property
  - tcmalloc::SamplingMemoryTest::SetSamplingInterval
  - tcmalloc::SamplingMemoryTest::CurrentHeapSize
  - tcmalloc::SamplingMemoryTest::HeapGrowth
  - tcmalloc::TEST_P
  - tcmalloc::InterestingSizes
  - tcmalloc::SamplingMemoryTest::SamplingMemoryTest
  - tcmalloc::SamplingMemoryTest::Property
  - tcmalloc::SamplingMemoryTest::SetSamplingInterval
  - tcmalloc::SamplingMemoryTest::CurrentHeapSize
  - tcmalloc::SamplingMemoryTest::HeapGrowth
  - tcmalloc::TEST_P
  - tcmalloc::InterestingSizes
  - tcmalloc::SamplingMemoryTest::SamplingMemoryTest
  - tcmalloc::SamplingMemoryTest::Property
  - tcmalloc::SamplingMemoryTest::SetSamplingInterval
  - tcmalloc::SamplingMemoryTest::CurrentHeapSize
  - tcmalloc::SamplingMemoryTest::HeapGrowth
  - tcmalloc::TEST_P
  - tcmalloc::InterestingSizes
  - tcmalloc::SamplingMemoryTest::SamplingMemoryTest
  - tcmalloc::SamplingMemoryTest::Property
  - tcmalloc::SamplingMemoryTest::SetSamplingInterval
  - tcmalloc::SamplingMemoryTest::CurrentHeapSize
  - tcmalloc::SamplingMemoryTest::HeapGrowth
  - tcmalloc::TEST_P
  - tcmalloc::InterestingSizes
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::PhysicalMemoryUsed
  - tcmalloc::TEST
  - tcmalloc::PhysicalMemoryUsed
  - tcmalloc::TEST
  - tcmalloc::PhysicalMemoryUsed
  - tcmalloc::TEST
  - tcmalloc::PhysicalMemoryUsed
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/largesmall_frag_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/want_disable_wider_slabs_test_helper.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::TestSampledNewHook
  - tcmalloc::TestSampledDeleteHook
  - tcmalloc::SampledHooksTest::SetUp
  - tcmalloc::SampledHooksTest::TearDown
  - tcmalloc::SampledHooksTest::Allocate
  - tcmalloc::SampledHooksTest::AllocateAligned
  - tcmalloc::SampledHooksTest::Deallocate
  - tcmalloc::SampledHooksTest::DeallocateAligned
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TestSampledNewHook
  - tcmalloc::TestSampledDeleteHook
  - tcmalloc::SampledHooksTest::SetUp
  - tcmalloc::SampledHooksTest::TearDown
  - tcmalloc::SampledHooksTest::Allocate
  - tcmalloc::SampledHooksTest::AllocateAligned
  - tcmalloc::SampledHooksTest::Deallocate
  - tcmalloc::SampledHooksTest::DeallocateAligned
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TestSampledNewHook
  - tcmalloc::TestSampledDeleteHook
  - tcmalloc::SampledHooksTest::SetUp
  - tcmalloc::SampledHooksTest::TearDown
  - tcmalloc::SampledHooksTest::Allocate
  - tcmalloc::SampledHooksTest::AllocateAligned
  - tcmalloc::SampledHooksTest::Deallocate
  - tcmalloc::SampledHooksTest::DeallocateAligned
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TestSampledNewHook
  - tcmalloc::TestSampledDeleteHook
  - tcmalloc::SampledHooksTest::SetUp
  - tcmalloc::SampledHooksTest::TearDown
  - tcmalloc::SampledHooksTest::Allocate
  - tcmalloc::SampledHooksTest::AllocateAligned
  - tcmalloc::SampledHooksTest::Deallocate
  - tcmalloc::SampledHooksTest::DeallocateAligned
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  source_file: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::GetPageSizeLog2
  - tcmalloc::tcmalloc_internal::PickDeleteSize
  - tcmalloc::tcmalloc_internal::MallocFreeSized
  - tcmalloc::tcmalloc_internal::MallocReallocFreeSized
  - tcmalloc::tcmalloc_internal::AlignedAllocFreeAlignedSized
  - tcmalloc::tcmalloc_internal::AllocAtLeastFreeAllocatedSize
  - tcmalloc::tcmalloc_internal::AllocAtLeastFreeRequestedSize
  - tcmalloc::tcmalloc_internal::AllocAtLeastFreeSized
  - tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeAllocatedSizeAligned
  - tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeRequestedSizeAligned
  - tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeSizedAligned
  - tcmalloc::tcmalloc_internal::NewSizedDelete
  - tcmalloc::tcmalloc_internal::SizeReturningNewDeleteAllocatedSize
  - tcmalloc::tcmalloc_internal::SizeReturningNewDeleteRequestedSize
  - tcmalloc::tcmalloc_internal::SizeReturningNewDeleteSized
  - tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteAllocatedSizeAligned
  - tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteRequestedSizeAligned
  - tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteSizedAligned
  - tcmalloc::tcmalloc_internal::GetPageSizeLog2
  - tcmalloc::tcmalloc_internal::PickDeleteSize
  - tcmalloc::tcmalloc_internal::MallocFreeSized
  - tcmalloc::tcmalloc_internal::MallocReallocFreeSized
  - tcmalloc::tcmalloc_internal::AlignedAllocFreeAlignedSized
  - tcmalloc::tcmalloc_internal::AllocAtLeastFreeAllocatedSize
  - tcmalloc::tcmalloc_internal::AllocAtLeastFreeRequestedSize
  - tcmalloc::tcmalloc_internal::AllocAtLeastFreeSized
  - tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeAllocatedSizeAligned
  - tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeRequestedSizeAligned
  - tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeSizedAligned
  - tcmalloc::tcmalloc_internal::NewSizedDelete
  - tcmalloc::tcmalloc_internal::SizeReturningNewDeleteAllocatedSize
  - tcmalloc::tcmalloc_internal::SizeReturningNewDeleteRequestedSize
  - tcmalloc::tcmalloc_internal::SizeReturningNewDeleteSized
  - tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteAllocatedSizeAligned
  - tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteRequestedSizeAligned
  - tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteSizedAligned
  - tcmalloc::tcmalloc_internal::GetPageSizeLog2
  - tcmalloc::tcmalloc_internal::PickDeleteSize
  - tcmalloc::tcmalloc_internal::MallocFreeSized
  - tcmalloc::tcmalloc_internal::MallocReallocFreeSized
  - tcmalloc::tcmalloc_internal::AlignedAllocFreeAlignedSized
  - tcmalloc::tcmalloc_internal::AllocAtLeastFreeAllocatedSize
  - tcmalloc::tcmalloc_internal::AllocAtLeastFreeRequestedSize
  - tcmalloc::tcmalloc_internal::AllocAtLeastFreeSized
  - tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeAllocatedSizeAligned
  - tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeRequestedSizeAligned
  - tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeSizedAligned
  - tcmalloc::tcmalloc_internal::NewSizedDelete
  - tcmalloc::tcmalloc_internal::SizeReturningNewDeleteAllocatedSize
  - tcmalloc::tcmalloc_internal::SizeReturningNewDeleteRequestedSize
  - tcmalloc::tcmalloc_internal::SizeReturningNewDeleteSized
  - tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteAllocatedSizeAligned
  - tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteRequestedSizeAligned
  - tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteSizedAligned
  - tcmalloc::tcmalloc_internal::GetPageSizeLog2
  - tcmalloc::tcmalloc_internal::PickDeleteSize
  - tcmalloc::tcmalloc_internal::MallocFreeSized
  - tcmalloc::tcmalloc_internal::MallocReallocFreeSized
  - tcmalloc::tcmalloc_internal::AlignedAllocFreeAlignedSized
  - tcmalloc::tcmalloc_internal::AllocAtLeastFreeAllocatedSize
  - tcmalloc::tcmalloc_internal::AllocAtLeastFreeRequestedSize
  - tcmalloc::tcmalloc_internal::AllocAtLeastFreeSized
  - tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeAllocatedSizeAligned
  - tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeRequestedSizeAligned
  - tcmalloc::tcmalloc_internal::AlignedAllocAtLeastFreeSizedAligned
  - tcmalloc::tcmalloc_internal::NewSizedDelete
  - tcmalloc::tcmalloc_internal::SizeReturningNewDeleteAllocatedSize
  - tcmalloc::tcmalloc_internal::SizeReturningNewDeleteRequestedSize
  - tcmalloc::tcmalloc_internal::SizeReturningNewDeleteSized
  - tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteAllocatedSizeAligned
  - tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteRequestedSizeAligned
  - tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteSizedAligned
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::BM_new_delete
  - tcmalloc::BM_new_delete_fixed
  - tcmalloc::BM_new_sized_delete
  - tcmalloc::BM_hooked_new_sized_delete
  - tcmalloc::BM_new_hooked_sized_delete
  - tcmalloc::BM_size_returning_new_delete
  - tcmalloc::BM_nallocx_new_sized_delete
  - tcmalloc::BM_aligned_new
  - tcmalloc::BM_new_delete_slow_path
  - tcmalloc::BM_new_delete_transfer_cache
  - tcmalloc::malloc_pages
  - tcmalloc::BM_malloc_pages
  - tcmalloc::BM_random_malloc_pages
  - tcmalloc::BM_random_new_delete
  - tcmalloc::BM_get_stats
  - tcmalloc::BM_get_stats_internal
  - tcmalloc::BM_get_stats_pageheap_lock
  - tcmalloc::BM_get_stats_pbtxt_internal
  - tcmalloc::BM_get_stats_pbtxt_pageheap_lock
  - tcmalloc::BM_get_heap_profile
  - tcmalloc::BM_get_heap_profile_while_allocating
  - tcmalloc::BM_new_delete
  - tcmalloc::BM_new_delete_fixed
  - tcmalloc::BM_new_sized_delete
  - tcmalloc::BM_hooked_new_sized_delete
  - tcmalloc::BM_new_hooked_sized_delete
  - tcmalloc::BM_size_returning_new_delete
  - tcmalloc::BM_nallocx_new_sized_delete
  - tcmalloc::BM_aligned_new
  - tcmalloc::BM_new_delete_slow_path
  - tcmalloc::BM_new_delete_transfer_cache
  - tcmalloc::malloc_pages
  - tcmalloc::BM_malloc_pages
  - tcmalloc::BM_random_malloc_pages
  - tcmalloc::BM_random_new_delete
  - tcmalloc::BM_get_stats
  - tcmalloc::BM_get_stats_internal
  - tcmalloc::BM_get_stats_pageheap_lock
  - tcmalloc::BM_get_stats_pbtxt_internal
  - tcmalloc::BM_get_stats_pbtxt_pageheap_lock
  - tcmalloc::BM_get_heap_profile
  - tcmalloc::BM_get_heap_profile_while_allocating
  - tcmalloc::BM_new_delete
  - tcmalloc::BM_new_delete_fixed
  - tcmalloc::BM_new_sized_delete
  - tcmalloc::BM_hooked_new_sized_delete
  - tcmalloc::BM_new_hooked_sized_delete
  - tcmalloc::BM_size_returning_new_delete
  - tcmalloc::BM_nallocx_new_sized_delete
  - tcmalloc::BM_aligned_new
  - tcmalloc::BM_new_delete_slow_path
  - tcmalloc::BM_new_delete_transfer_cache
  - tcmalloc::malloc_pages
  - tcmalloc::BM_malloc_pages
  - tcmalloc::BM_random_malloc_pages
  - tcmalloc::BM_random_new_delete
  - tcmalloc::BM_get_stats
  - tcmalloc::BM_get_stats_internal
  - tcmalloc::BM_get_stats_pageheap_lock
  - tcmalloc::BM_get_stats_pbtxt_internal
  - tcmalloc::BM_get_stats_pbtxt_pageheap_lock
  - tcmalloc::BM_get_heap_profile
  - tcmalloc::BM_get_heap_profile_while_allocating
  - tcmalloc::BM_new_delete
  - tcmalloc::BM_new_delete_fixed
  - tcmalloc::BM_new_sized_delete
  - tcmalloc::BM_hooked_new_sized_delete
  - tcmalloc::BM_new_hooked_sized_delete
  - tcmalloc::BM_size_returning_new_delete
  - tcmalloc::BM_nallocx_new_sized_delete
  - tcmalloc::BM_aligned_new
  - tcmalloc::BM_new_delete_slow_path
  - tcmalloc::BM_new_delete_transfer_cache
  - tcmalloc::malloc_pages
  - tcmalloc::BM_malloc_pages
  - tcmalloc::BM_random_malloc_pages
  - tcmalloc::BM_random_new_delete
  - tcmalloc::BM_get_stats
  - tcmalloc::BM_get_stats_internal
  - tcmalloc::BM_get_stats_pageheap_lock
  - tcmalloc::BM_get_stats_pbtxt_internal
  - tcmalloc::BM_get_stats_pbtxt_pageheap_lock
  - tcmalloc::BM_get_heap_profile
  - tcmalloc::BM_get_heap_profile_while_allocating
  source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_benchmark.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/current_allocated_bytes_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GetRSS
  - UnmappedBytes
  - GetRSS
  - UnmappedBytes
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/releasing_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::SamplerTest::Init
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
  - tcmalloc::tcmalloc_internal::TestPickNextSample
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::DoCheckMean
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
  - tcmalloc::tcmalloc_internal::TestPickNextSample
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::DoCheckMean
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::SamplerTest::Init
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
  - tcmalloc::tcmalloc_internal::TestPickNextSample
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::DoCheckMean
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
  - tcmalloc::tcmalloc_internal::TestPickNextSample
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::DoCheckMean
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::SamplerTest::Init
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
  - tcmalloc::tcmalloc_internal::TestPickNextSample
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::DoCheckMean
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
  - tcmalloc::tcmalloc_internal::TestPickNextSample
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::DoCheckMean
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::SamplerTest::Init
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
  - tcmalloc::tcmalloc_internal::TestPickNextSample
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::DoCheckMean
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
  - tcmalloc::tcmalloc_internal::TestPickNextSample
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::DoCheckMean
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/sampler_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CheckerIsActive
  - AllocateBaseCase
  - AllocateRecursive
  - DeallocBaseCase
  - DeallocRecursive
  - testEntry
  - DeallocationzTest::Run
  - DeallocationzTest::RunAlloc
  - DeallocationzTest::RunDelloc
  - DeallocationzTest::AllocDealloc
  - DeallocationzTest::Allocate
  - DeallocationzTest::Deallocate
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - SingleAlloc
  - SingleDealloc
  - TEST
  - TEST
  - TEST
  - TEST
  - CheckerIsActive
  - AllocateBaseCase
  - AllocateRecursive
  - DeallocBaseCase
  - DeallocRecursive
  - testEntry
  - DeallocationzTest::Run
  - DeallocationzTest::RunAlloc
  - DeallocationzTest::RunDelloc
  - DeallocationzTest::AllocDealloc
  - DeallocationzTest::Allocate
  - DeallocationzTest::Deallocate
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - SingleAlloc
  - SingleDealloc
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*arr'
        type: std::vector<void *>
      - name: req_size
        type: size_t
      - name: req_alignment
        type: size_t
      - name: block_objects
        type: size_t
      - name: m_dealloc_funcs
        type: size_t
      - name: n_alloc_funcs
        type: size_t
      item_type: struct
      name: AllocatorArgs
      pos:
        line_end: 59
        line_start: 52
        source_file: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    - fields:
      - name: dealloc_bucket_counter
        type: int
      - name: duration
        type: absl::Duration
      - name: sleep_time
        type: absl::Duration
      - name: size
        type: size_t
      - name: alignment
        type: size_t
      item_type: struct
      name: Params
      pos:
        line_end: 101
        line_start: 95
        source_file: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    - fields:
      - name: samples_count
        type: int
      - name: counts
        type: std::vector<int>
      - name: sum
        type: int64_t
      - name: total_count
        type: int64_t
      - name: alloc_fn_count
        type: int64_t
      - name: dealloc_fn_count
        type: int64_t
      item_type: struct
      name: Counters
      pos:
        line_end: 559
        line_start: 552
        source_file: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    - fields:
      - name: '*arr'
        type: std::vector<void *>
      - name: req_size
        type: size_t
      - name: req_alignment
        type: size_t
      - name: block_objects
        type: size_t
      - name: m_dealloc_funcs
        type: size_t
      - name: n_alloc_funcs
        type: size_t
      item_type: struct
      name: AllocatorArgs
      pos:
        line_end: 59
        line_start: 52
        source_file: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    - fields:
      - name: dealloc_bucket_counter
        type: int
      - name: duration
        type: absl::Duration
      - name: sleep_time
        type: absl::Duration
      - name: size
        type: size_t
      - name: alignment
        type: size_t
      item_type: struct
      name: Params
      pos:
        line_end: 101
        line_start: 95
        source_file: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    - fields:
      - name: samples_count
        type: int
      - name: counts
        type: std::vector<int>
      - name: sum
        type: int64_t
      - name: total_count
        type: int64_t
      - name: alloc_fn_count
        type: int64_t
      - name: dealloc_fn_count
        type: int64_t
      item_type: struct
      name: Counters
      pos:
        line_end: 559
        line_start: 552
        source_file: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    typedefs: []
    union: []
- function_names:
  - tcmalloc::DumpHeapStats
  - tcmalloc::LimitTest::LimitTest
  - tcmalloc::LimitTest::ReleaseMemory
  - tcmalloc::LimitTest::GetLimit
  - tcmalloc::LimitTest::malloc_pages
  - tcmalloc::LimitTest::physical_memory_used
  - tcmalloc::LimitTest::GetStats
  - tcmalloc::LimitTest::GetStatsInPbTxt
  - tcmalloc::TEST_F
  - tcmalloc::LimitTest::LimitRespected
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::LimitTest::LimitChangeTriggersReleaseSmallAllocs
  - tcmalloc::TEST_F
  - tcmalloc::LimitTest::LimitChangeTriggersReleaseLargeAllocs
  - tcmalloc::TEST_F
  - tcmalloc::LimitTest::ExceedingSoftLimitDoesntCrashWithHardLimit
  - tcmalloc::TEST_F
  - tcmalloc::DumpHeapStats
  - tcmalloc::LimitTest::LimitTest
  - tcmalloc::LimitTest::ReleaseMemory
  - tcmalloc::LimitTest::GetLimit
  - tcmalloc::LimitTest::malloc_pages
  - tcmalloc::LimitTest::physical_memory_used
  - tcmalloc::LimitTest::GetStats
  - tcmalloc::LimitTest::GetStatsInPbTxt
  - tcmalloc::TEST_F
  - tcmalloc::LimitTest::LimitRespected
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::LimitTest::LimitChangeTriggersReleaseSmallAllocs
  - tcmalloc::TEST_F
  - tcmalloc::LimitTest::LimitChangeTriggersReleaseLargeAllocs
  - tcmalloc::TEST_F
  - tcmalloc::LimitTest::ExceedingSoftLimitDoesntCrashWithHardLimit
  - tcmalloc::TEST_F
  - tcmalloc::DumpHeapStats
  - tcmalloc::LimitTest::LimitTest
  - tcmalloc::LimitTest::ReleaseMemory
  - tcmalloc::LimitTest::GetLimit
  - tcmalloc::LimitTest::malloc_pages
  - tcmalloc::LimitTest::physical_memory_used
  - tcmalloc::LimitTest::GetStats
  - tcmalloc::LimitTest::GetStatsInPbTxt
  - tcmalloc::TEST_F
  - tcmalloc::LimitTest::LimitRespected
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::LimitTest::LimitChangeTriggersReleaseSmallAllocs
  - tcmalloc::TEST_F
  - tcmalloc::LimitTest::LimitChangeTriggersReleaseLargeAllocs
  - tcmalloc::TEST_F
  - tcmalloc::LimitTest::ExceedingSoftLimitDoesntCrashWithHardLimit
  - tcmalloc::TEST_F
  - tcmalloc::DumpHeapStats
  - tcmalloc::LimitTest::LimitTest
  - tcmalloc::LimitTest::ReleaseMemory
  - tcmalloc::LimitTest::GetLimit
  - tcmalloc::LimitTest::malloc_pages
  - tcmalloc::LimitTest::physical_memory_used
  - tcmalloc::LimitTest::GetStats
  - tcmalloc::LimitTest::GetStatsInPbTxt
  - tcmalloc::TEST_F
  - tcmalloc::LimitTest::LimitRespected
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::LimitTest::LimitChangeTriggersReleaseSmallAllocs
  - tcmalloc::TEST_F
  - tcmalloc::LimitTest::LimitChangeTriggersReleaseLargeAllocs
  - tcmalloc::TEST_F
  - tcmalloc::LimitTest::ExceedingSoftLimitDoesntCrashWithHardLimit
  - tcmalloc::TEST_F
  source_file: /src/tcmalloc/tcmalloc/testing/limit_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::thread_safe_getenv
  - tcmalloc::tcmalloc_internal::thread_safe_getenv
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::tcmalloc_internal::thread_safe_getenv
  - tcmalloc::tcmalloc_internal::thread_safe_getenv
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/variants_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::sized_delete
  - tcmalloc::sized_aligned_delete
  - tcmalloc::sized_array_delete
  - tcmalloc::sized_array_aligned_delete
  - tcmalloc::ScopedProfileSamplingInterval::ScopedProfileSamplingInterval
  - ~ScopedProfileSamplingInterval()
  - tcmalloc::ScopedBackgroundProcessActionsEnabled::ScopedBackgroundProcessActionsEnabled
  - ~ScopedBackgroundProcessActionsEnabled()
  - tcmalloc::ScopedBackgroundProcessSleepInterval::ScopedBackgroundProcessSleepInterval
  - ~ScopedBackgroundProcessSleepInterval()
  - tcmalloc::ScopedResourceLimit::ScopedResourceLimit
  - ~ScopedResourceLimit()
  - tcmalloc::ScopedGuardedSamplingInterval::ScopedGuardedSamplingInterval
  - ~ScopedGuardedSamplingInterval()
  - tcmalloc::ScopedNeverSample::ScopedNeverSample
  - tcmalloc::ScopedAlwaysSample::ScopedAlwaysSample
  - tcmalloc::UnregisterRseq
  - tcmalloc::ScopedUnregisterRseq::ScopedUnregisterRseq
  - ~ScopedUnregisterRseq()
  - tcmalloc::ScopedFakeCpuId::ScopedFakeCpuId
  - ~ScopedFakeCpuId()
  - tcmalloc::sized_delete
  - tcmalloc::sized_aligned_delete
  - tcmalloc::sized_array_delete
  - tcmalloc::sized_array_aligned_delete
  - tcmalloc::ScopedProfileSamplingInterval::ScopedProfileSamplingInterval
  - ~ScopedProfileSamplingInterval()
  - tcmalloc::ScopedBackgroundProcessActionsEnabled::ScopedBackgroundProcessActionsEnabled
  - ~ScopedBackgroundProcessActionsEnabled()
  - tcmalloc::ScopedBackgroundProcessSleepInterval::ScopedBackgroundProcessSleepInterval
  - ~ScopedBackgroundProcessSleepInterval()
  - tcmalloc::ScopedResourceLimit::ScopedResourceLimit
  - ~ScopedResourceLimit()
  - tcmalloc::ScopedGuardedSamplingInterval::ScopedGuardedSamplingInterval
  - ~ScopedGuardedSamplingInterval()
  - tcmalloc::ScopedNeverSample::ScopedNeverSample
  - tcmalloc::ScopedAlwaysSample::ScopedAlwaysSample
  - tcmalloc::UnregisterRseq
  - tcmalloc::ScopedUnregisterRseq::ScopedUnregisterRseq
  - ~ScopedUnregisterRseq()
  - tcmalloc::ScopedFakeCpuId::ScopedFakeCpuId
  - ~ScopedFakeCpuId()
  source_file: /src/tcmalloc/tcmalloc/testing/testutil.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRAGMA_NO_UNROLL
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/tcmalloc/tcmalloc/testing/testutil.h
      type_or_value: _Pragma("nounroll")
    - item_type: preproc_def
      name: PRAGMA_NO_UNROLL
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/tcmalloc/tcmalloc/testing/testutil.h
      type_or_value: _Pragma("nounroll")
    structs: []
    typedefs: []
    union: []
- function_names:
  - SetTestResourceLimit
  - GetTestResourceLimit
  - tcmalloc::tcmalloc_internal::subtle::percpu::VirtualCpu::TestSynchronize
  - tcmalloc::tcmalloc_internal::subtle::percpu::VirtualCpu::TestSynchronize
  - tcmalloc::GetStatsInPbTxt
  - tcmalloc::AndersonDarlingInf
  - tcmalloc::AndersonDarlingErrFix
  - tcmalloc::AndersonDarlingPValue
  - tcmalloc::AndersonDarlingStatistic
  - tcmalloc::AndersonDarlingTest
  - tcmalloc::tcmalloc_internal::subtle::percpu::VirtualCpu::TestSynchronize
  - tcmalloc::tcmalloc_internal::subtle::percpu::VirtualCpu::TestSynchronize
  - tcmalloc::GetStatsInPbTxt
  - tcmalloc::AndersonDarlingInf
  - tcmalloc::AndersonDarlingErrFix
  - tcmalloc::AndersonDarlingPValue
  - tcmalloc::AndersonDarlingStatistic
  - tcmalloc::AndersonDarlingTest
  source_file: /src/tcmalloc/tcmalloc/testing/testutil.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_RESOURCE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcmalloc/tcmalloc/testing/testutil.cc
      type_or_value: RLIMIT_AS
    - item_type: preproc_def
      name: USE_RESOURCE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcmalloc/tcmalloc/testing/testutil.cc
      type_or_value: RLIMIT_RSS
    - item_type: preproc_def
      name: USE_RESOURCE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcmalloc/tcmalloc/testing/testutil.cc
      type_or_value: RLIMIT_AS
    - item_type: preproc_def
      name: USE_RESOURCE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcmalloc/tcmalloc/testing/testutil.cc
      type_or_value: RLIMIT_RSS
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/malloc_extension_system_malloc_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::ThreadManager::ThreadManager
  - ~ThreadManager()
  - tcmalloc::ThreadManager::Start
  - tcmalloc::ThreadManager::Stop
  - tcmalloc::ThreadManager::ThreadManager
  - ~ThreadManager()
  - tcmalloc::ThreadManager::Start
  - tcmalloc::ThreadManager::Stop
  source_file: /src/tcmalloc/tcmalloc/testing/thread_manager.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/profile_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::NextSize
  - tcmalloc::CheckAlignment
  - tcmalloc::Fill
  - tcmalloc::Valid
  - tcmalloc::TEST
  - tcmalloc::SizesWithAlignment
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::NextSize
  - tcmalloc::CheckAlignment
  - tcmalloc::Fill
  - tcmalloc::Valid
  - tcmalloc::TEST
  - tcmalloc::SizesWithAlignment
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::NextSize
  - tcmalloc::CheckAlignment
  - tcmalloc::Fill
  - tcmalloc::Valid
  - tcmalloc::TEST
  - tcmalloc::SizesWithAlignment
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::NextSize
  - tcmalloc::CheckAlignment
  - tcmalloc::Fill
  - tcmalloc::Valid
  - tcmalloc::TEST
  - tcmalloc::SizesWithAlignment
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _XOPEN_SOURCE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
      type_or_value: 600  // to get posix_memalign
    structs:
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      - name: alignment
        type: size_t
      item_type: struct
      name: alloc
      pos:
        line_end: 99
        line_start: 95
        source_file: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      - name: alignment
        type: size_t
      item_type: struct
      name: alloc
      pos:
        line_end: 99
        line_start: 95
        source_file: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      - name: alignment
        type: size_t
      item_type: struct
      name: alloc
      pos:
        line_end: 99
        line_start: 95
        source_file: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      - name: alignment
        type: size_t
      item_type: struct
      name: alloc
      pos:
        line_end: 99
        line_start: 95
        source_file: /src/tcmalloc/tcmalloc/testing/memalign_test.cc
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/want_disable_huge_region_more_often_test_helper.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - GetUnmappedBytes
  - TEST
  - TEST
  - TEST
  - TEST
  - ~Foo()
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - CheckSizedDelete
  - TEST
  - TEST
  - TEST
  - GlobalNallocx
  - check_global_nallocx
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - ParseLowLevelAllocator
  - TEST
  - ExpectSameAddresses
  - ExpectSameAddresses
  - TEST
  - TcmallocSizedNewTest::TcmallocSizedNewTest
  - TcmallocSizedNewTest::New
  - TcmallocSizedNewTest::IsNothrow
  - TcmallocSizedNewTest::IsOveraligned
  - TcmallocSizedNewTest::GetAlignment
  - TcmallocSizedNewTest::Delete
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
  types:
    enum:
    - enumerators:
      - name: kNo
      - name: kYes
      item_type: enum
      name: ThrowException
      pos:
        line_end: 1062
        line_start: 1062
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - enumerators:
      - name: kSize
      - name: kHalfway
      - name: kCapacity
      item_type: enum
      name: DeleteSize
      pos:
        line_end: 1233
        line_start: 1233
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    preproc_defs:
    - item_type: preproc_def
      name: _XOPEN_SOURCE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
      type_or_value: '600'
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
      type_or_value: '1'
    structs:
    - fields:
      - name: n
        type: size_t
      - name: s
        type: size_t
      - name: ok
        type: bool
      item_type: struct
      name: TestCase
      pos:
        line_end: 152
        line_start: 148
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - fields:
      - name: n
        type: size_t
      - name: s
        type: size_t
      item_type: struct
      name: TestCase
      pos:
        line_end: 297
        line_start: 294
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - fields:
      - name: a
        type: double
      item_type: struct
      name: Foo
      pos:
        line_end: 485
        line_start: 483
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - fields:
      - name: a
        type: double
      item_type: struct
      name: Foo
      pos:
        line_end: 503
        line_start: 500
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      - name: alignment
        type: std::align_val_t
      item_type: struct
      name: alloc
      pos:
        line_end: 616
        line_start: 612
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      - name: alignment
        type: std::align_val_t
      item_type: struct
      name: alloc
      pos:
        line_end: 654
        line_start: 650
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - fields: []
      item_type: struct
      name: GlobalNallocx
      pos:
        line_end: 770
        line_start: 768
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      item_type: struct
      name: SizedPtr
      pos:
        line_end: 1264
        line_start: 1261
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      item_type: struct
      name: SizedPtr
      pos:
        line_end: 1342
        line_start: 1339
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      - name: alignment
        type: std::align_val_t
      item_type: struct
      name: SizedPtr
      pos:
        line_end: 1386
        line_start: 1382
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      item_type: struct
      name: SizedPtr
      pos:
        line_end: 1439
        line_start: 1436
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      - name: alignment
        type: std::align_val_t
      item_type: struct
      name: SizedPtr
      pos:
        line_end: 1483
        line_start: 1479
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: requested
        type: size_t
      - name: actual
        type: size_t
      item_type: struct
      name: SizedPtr
      pos:
        line_end: 1537
        line_start: 1533
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - fields:
      - name: '* ptr'
        type: void
      - name: size
        type: size_t
      item_type: struct
      name: SizedPtr
      pos:
        line_end: 1600
        line_start: 1597
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  source_file: /src/tcmalloc/tcmalloc/testing/disable_numa_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: PropertyMap
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc
    - item_type: typedef
      name: PropertyMap
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc
    - item_type: typedef
      name: PropertyMap
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc
    - item_type: typedef
      name: PropertyMap
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc
    union: []
- function_names:
  - tcmalloc::GetPeakStats
  - tcmalloc::RealizedFragmentation
  - tcmalloc::ExpectedFragmentation
  - tcmalloc::ExpectedFragmentation
  - tcmalloc::UpperBound
  - tcmalloc::LowerBound
  - tcmalloc::FragmentationTolerance
  - tcmalloc::TEST
  - tcmalloc::GetPeakStats
  - tcmalloc::RealizedFragmentation
  - tcmalloc::ExpectedFragmentation
  - tcmalloc::ExpectedFragmentation
  - tcmalloc::UpperBound
  - tcmalloc::LowerBound
  - tcmalloc::FragmentationTolerance
  - tcmalloc::TEST
  - tcmalloc::GetPeakStats
  - tcmalloc::RealizedFragmentation
  - tcmalloc::ExpectedFragmentation
  - tcmalloc::ExpectedFragmentation
  - tcmalloc::UpperBound
  - tcmalloc::LowerBound
  - tcmalloc::FragmentationTolerance
  - tcmalloc::TEST
  - tcmalloc::GetPeakStats
  - tcmalloc::RealizedFragmentation
  - tcmalloc::ExpectedFragmentation
  - tcmalloc::ExpectedFragmentation
  - tcmalloc::UpperBound
  - tcmalloc::LowerBound
  - tcmalloc::FragmentationTolerance
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: backing
        type: size_t
      - name: application
        type: size_t
      item_type: struct
      name: PeakStats
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    - fields:
      - name: backing
        type: size_t
      - name: application
        type: size_t
      item_type: struct
      name: PeakStats
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    - fields:
      - name: backing
        type: size_t
      - name: application
        type: size_t
      item_type: struct
      name: PeakStats
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    - fields:
      - name: backing
        type: size_t
      - name: application
        type: size_t
      item_type: struct
      name: PeakStats
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/testing/realized_fragmentation_test.cc
    typedefs: []
    union: []
- function_names:
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  source_file: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: plaintext
        type: bool
      - name: output
        type: std::string
      item_type: struct
      name: Args
      pos:
        line_end: 365
        line_start: 362
        source_file: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    - fields:
      - name: plaintext
        type: bool
      - name: output
        type: std::string
      item_type: struct
      name: Args
      pos:
        line_end: 365
        line_start: 362
        source_file: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    - fields:
      - name: plaintext
        type: bool
      - name: output
        type: std::string
      item_type: struct
      name: Args
      pos:
        line_end: 365
        line_start: 362
        source_file: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    - fields:
      - name: plaintext
        type: bool
      - name: output
        type: std::string
      item_type: struct
      name: Args
      pos:
        line_end: 365
        line_start: 362
        source_file: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/alloc_at_least_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::GuardedAllocAlignmentTest::GuardedAllocAlignmentTest
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TcMallocTest::TcMallocTest
  - tcmalloc::TEST_P
  - tcmalloc::TEST_P
  - tcmalloc::TEST_P
  - tcmalloc::TEST_P
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_P
  - tcmalloc::TEST_P
  - tcmalloc::TEST_P
  - tcmalloc::TEST_P
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::GuardedAllocAlignmentTest::GuardedAllocAlignmentTest
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TcMallocTest::TcMallocTest
  - tcmalloc::TEST_P
  - tcmalloc::TEST_P
  - tcmalloc::TEST_P
  - tcmalloc::TEST_P
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_P
  - tcmalloc::TEST_P
  - tcmalloc::TEST_P
  - tcmalloc::TEST_P
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  source_file: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: c[__STDCPP_DEFAULT_NEW_ALIGNMENT__ + 1]
        type: char
      item_type: struct
      name: A
      pos:
        line_end: 380
        line_start: 378
        source_file: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    - fields:
      - name: c[__STDCPP_DEFAULT_NEW_ALIGNMENT__ + 1]
        type: char
      item_type: struct
      name: A
      pos:
        line_end: 380
        line_start: 378
        source_file: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    - fields:
      - name: c[__STDCPP_DEFAULT_NEW_ALIGNMENT__ + 1]
        type: char
      item_type: struct
      name: A
      pos:
        line_end: 380
        line_start: 378
        source_file: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    - fields:
      - name: c[__STDCPP_DEFAULT_NEW_ALIGNMENT__ + 1]
        type: char
      item_type: struct
      name: A
      pos:
        line_end: 380
        line_start: 378
        source_file: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    typedefs: []
    union: []
- function_names:
  - tcmalloc::TCMallocHookTest::NewCall
  - tcmalloc::TCMallocHookTest::DeleteCall
  - tcmalloc::TCMallocHookTest::Log
  - tcmalloc::TCMallocHookTest::RestartLog
  - tcmalloc::TCMallocHookTest::GetAllocatedSize
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - MAKE_HOOK_CALLBACK
  - tcmalloc::TCMallocHookTest::NewCall
  - tcmalloc::TCMallocHookTest::DeleteCall
  - tcmalloc::TCMallocHookTest::Log
  - tcmalloc::TCMallocHookTest::RestartLog
  - tcmalloc::TCMallocHookTest::GetAllocatedSize
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - MAKE_HOOK_CALLBACK
  - MAKE_HOOK_CALLBACK_ABSL
  - tcmalloc::TCMallocHookTest::NewCall
  - tcmalloc::TCMallocHookTest::DeleteCall
  - tcmalloc::TCMallocHookTest::Log
  - tcmalloc::TCMallocHookTest::RestartLog
  - tcmalloc::TCMallocHookTest::GetAllocatedSize
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - MAKE_HOOK_CALLBACK
  - tcmalloc::TCMallocHookTest::NewCall
  - tcmalloc::TCMallocHookTest::DeleteCall
  - tcmalloc::TCMallocHookTest::Log
  - tcmalloc::TCMallocHookTest::RestartLog
  - tcmalloc::TCMallocHookTest::GetAllocatedSize
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - tcmalloc::TEST_F
  - MAKE_HOOK_CALLBACK
  - MAKE_HOOK_CALLBACK_ABSL
  - TEST
  - TEST
  source_file: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wrap_delete
  - wrap_delete_array
  - wrap_sized_delete
  - wrap_sized_delete_array
  - wrap_new_cold
  - wrap_new_array_aligned_cold_nothrow
  - wrap_new_aligned
  - wrap_delete_aligned
  - wrap_delete_aligned_array
  - wrap_new_nothrow
  - wrap_delete_nothrow
  - wrap_calloc
  - wrap_free
  - wrap_free_aligned_sized
  - wrap_sdallocx
  - wrap_realloc
  - wrap_reallocarray
  - wrap_posix_memalign
  - wrap_aligned_alloc
  - wrap_memalign
  - wrap_size_returning_operator_new
  - wrap_size_returning_operator_new_nothrow
  - wrap_size_returning_operator_new_hot_cold
  - wrap_size_returning_operator_new_hot_cold_nothrow
  - wrap_size_returning_operator_new_aligned
  - wrap_size_returning_operator_new_aligned_nothrow
  - wrap_size_returning_operator_new_aligned_hot_cold
  - wrap_size_returning_operator_new_aligned_hot_cold_nothrow
  - wrap_std_allocator_allocate
  - wrap_std_allocator_allocate_at_least_internal
  - wrap_std_allocator_allocate_at_least
  - wrap_std_allocator_deallocate
  - test
  - profile_test_top_func
  - TEST
  - wrap_delete
  - wrap_delete_array
  - wrap_sized_delete
  - wrap_sized_delete_array
  - wrap_new_cold
  - wrap_new_array_aligned_cold_nothrow
  - wrap_new_aligned
  - wrap_delete_aligned
  - wrap_delete_aligned_array
  - wrap_new_nothrow
  - wrap_delete_nothrow
  - wrap_calloc
  - wrap_free
  - wrap_free_aligned_sized
  - wrap_sdallocx
  - wrap_realloc
  - wrap_reallocarray
  - wrap_posix_memalign
  - wrap_aligned_alloc
  - wrap_memalign
  - wrap_size_returning_operator_new
  - wrap_size_returning_operator_new_nothrow
  - wrap_size_returning_operator_new_hot_cold
  - wrap_size_returning_operator_new_hot_cold_nothrow
  - wrap_size_returning_operator_new_aligned
  - wrap_size_returning_operator_new_aligned_nothrow
  - wrap_size_returning_operator_new_aligned_hot_cold
  - wrap_size_returning_operator_new_aligned_hot_cold_nothrow
  - wrap_std_allocator_allocate
  - wrap_std_allocator_allocate_at_least_internal
  - wrap_std_allocator_allocate_at_least
  - wrap_std_allocator_deallocate
  - test
  - profile_test_top_func
  - TEST
  source_file: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::TYPED_TEST_P
  - tcmalloc::TYPED_TEST_P
  - tcmalloc::TYPED_TEST_P
  - ~NonTrivial()
  - tcmalloc::TYPED_TEST_P
  - tcmalloc::TYPED_TEST_P
  - tcmalloc::TYPED_TEST_P
  - ~NonTrivial()
  - tcmalloc::TYPED_TEST_P
  - tcmalloc::TYPED_TEST_P
  - tcmalloc::TYPED_TEST_P
  - ~NonTrivial()
  - tcmalloc::TYPED_TEST_P
  - tcmalloc::TYPED_TEST_P
  - tcmalloc::TYPED_TEST_P
  - ~NonTrivial()
  source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: a
        type: int32_t
      item_type: struct
      name: Aligned4
      pos:
        line_end: 34
        line_start: 32
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a
        type: double
      - name: b
        type: int32_t
      item_type: struct
      name: Aligned8
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a
        type: long double
      - name: '* b'
        type: void
      item_type: struct
      name: Aligned16
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a[4]
        type: int32_t
      item_type: struct
      name: Aligned32
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a[8]
        type: int32_t
      item_type: struct
      name: Aligned64
      pos:
        line_end: 60
        line_start: 58
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: p
        type: TypeParam
      item_type: struct
      name: NonTrivial
      pos:
        line_end: 151
        line_start: 147
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a
        type: int32_t
      item_type: struct
      name: Aligned4
      pos:
        line_end: 34
        line_start: 32
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a
        type: double
      - name: b
        type: int32_t
      item_type: struct
      name: Aligned8
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a
        type: long double
      - name: '* b'
        type: void
      item_type: struct
      name: Aligned16
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a[4]
        type: int32_t
      item_type: struct
      name: Aligned32
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a[8]
        type: int32_t
      item_type: struct
      name: Aligned64
      pos:
        line_end: 60
        line_start: 58
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: p
        type: TypeParam
      item_type: struct
      name: NonTrivial
      pos:
        line_end: 151
        line_start: 147
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a
        type: int32_t
      item_type: struct
      name: Aligned4
      pos:
        line_end: 34
        line_start: 32
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a
        type: double
      - name: b
        type: int32_t
      item_type: struct
      name: Aligned8
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a
        type: long double
      - name: '* b'
        type: void
      item_type: struct
      name: Aligned16
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a[4]
        type: int32_t
      item_type: struct
      name: Aligned32
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a[8]
        type: int32_t
      item_type: struct
      name: Aligned64
      pos:
        line_end: 60
        line_start: 58
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: p
        type: TypeParam
      item_type: struct
      name: NonTrivial
      pos:
        line_end: 151
        line_start: 147
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a
        type: int32_t
      item_type: struct
      name: Aligned4
      pos:
        line_end: 34
        line_start: 32
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a
        type: double
      - name: b
        type: int32_t
      item_type: struct
      name: Aligned8
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a
        type: long double
      - name: '* b'
        type: void
      item_type: struct
      name: Aligned16
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a[4]
        type: int32_t
      item_type: struct
      name: Aligned32
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a[8]
        type: int32_t
      item_type: struct
      name: Aligned64
      pos:
        line_end: 60
        line_start: 58
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: p
        type: TypeParam
      item_type: struct
      name: NonTrivial
      pos:
        line_end: 151
        line_start: 147
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    typedefs:
    - item_type: typedef
      name: MyTypes
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - item_type: typedef
      name: MyTypes
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - item_type: typedef
      name: MyTypes
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - item_type: typedef
      name: MyTypes
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    union: []
- function_names:
  - tcmalloc::StackMatches
  - tcmalloc::CountMatchingBytes
  - tcmalloc::AllocateAllocate
  - tcmalloc::TEST_P
  - tcmalloc::AllocateZeroByte
  - tcmalloc::TEST
  - tcmalloc::GetHeapSnapshotNoinline
  - tcmalloc::TEST
  - tcmalloc::StackMatches
  - tcmalloc::CountMatchingBytes
  - tcmalloc::AllocateAllocate
  - tcmalloc::TEST_P
  - tcmalloc::AllocateZeroByte
  - tcmalloc::TEST
  - tcmalloc::GetHeapSnapshotNoinline
  - tcmalloc::TEST
  - tcmalloc::StackMatches
  - tcmalloc::CountMatchingBytes
  - tcmalloc::AllocateAllocate
  - tcmalloc::TEST_P
  - tcmalloc::AllocateZeroByte
  - tcmalloc::TEST
  - tcmalloc::GetHeapSnapshotNoinline
  - tcmalloc::TEST
  - tcmalloc::StackMatches
  - tcmalloc::CountMatchingBytes
  - tcmalloc::AllocateAllocate
  - tcmalloc::TEST_P
  - tcmalloc::AllocateZeroByte
  - tcmalloc::TEST
  - tcmalloc::GetHeapSnapshotNoinline
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/sampling_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.h
  types:
    enum:
    - enumerators:
      - name: kNew
      - name: kDelete
      - name: kMunmap
      - name: kMmap
      - name: kMremap
      - name: kSbrk
      item_type: enum
      name: Type
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.h
    - enumerators:
      - name: kError
        value: '-3'
      - name: kAny
        value: '-1'
      - name: kOther
        value: '-2'
      - name: kTCMalloc
        value: '1'
      item_type: enum
      name: Caller
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.h
    - enumerators:
      - name: kNew
      - name: kDelete
      - name: kMunmap
      - name: kMmap
      - name: kMremap
      - name: kSbrk
      item_type: enum
      name: Type
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.h
    - enumerators:
      - name: kError
        value: '-3'
      - name: kAny
        value: '-1'
      - name: kOther
        value: '-2'
      - name: kTCMalloc
        value: '1'
      item_type: enum
      name: Caller
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.h
    - enumerators:
      - name: kNew
      - name: kDelete
      - name: kMunmap
      - name: kMmap
      - name: kMremap
      - name: kSbrk
      item_type: enum
      name: Type
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.h
    - enumerators:
      - name: kError
        value: '-3'
      - name: kAny
        value: '-1'
      - name: kOther
        value: '-2'
      - name: kTCMalloc
        value: '1'
      item_type: enum
      name: Caller
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.h
    - enumerators:
      - name: kNew
      - name: kDelete
      - name: kMunmap
      - name: kMmap
      - name: kMremap
      - name: kSbrk
      item_type: enum
      name: Type
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.h
    - enumerators:
      - name: kError
        value: '-3'
      - name: kAny
        value: '-1'
      - name: kOther
        value: '-2'
      - name: kTCMalloc
        value: '1'
      item_type: enum
      name: Caller
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.h
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: Type
      - name: '* ptr'
        type: void
      - name: requested_size
        type: std::optional<size_t>
      - name: allocated_size
        type: size_t
      - name: is_mutable
        type: HookMemoryMutable
      - name: caller
        type: Caller
      - name: '* address'
        type: void
      - name: protection
        type: int
      - name: flags
        type: int
      - name: fd
        type: int
      - name: offset
        type: off_t
      - name: old_size
        type: size_t
      - name: '* new_address'
        type: void
      item_type: struct
      name: CallEntry
      pos:
        line_end: 56
        line_start: 36
        source_file: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.h
    - fields:
      - name: type
        type: Type
      - name: '* ptr'
        type: void
      - name: requested_size
        type: std::optional<size_t>
      - name: allocated_size
        type: size_t
      - name: is_mutable
        type: HookMemoryMutable
      - name: caller
        type: Caller
      - name: '* address'
        type: void
      - name: protection
        type: int
      - name: flags
        type: int
      - name: fd
        type: int
      - name: offset
        type: off_t
      - name: old_size
        type: size_t
      - name: '* new_address'
        type: void
      item_type: struct
      name: CallEntry
      pos:
        line_end: 56
        line_start: 36
        source_file: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.h
    - fields:
      - name: type
        type: Type
      - name: '* ptr'
        type: void
      - name: requested_size
        type: std::optional<size_t>
      - name: allocated_size
        type: size_t
      - name: is_mutable
        type: HookMemoryMutable
      - name: caller
        type: Caller
      - name: '* address'
        type: void
      - name: protection
        type: int
      - name: flags
        type: int
      - name: fd
        type: int
      - name: offset
        type: off_t
      - name: old_size
        type: size_t
      - name: '* new_address'
        type: void
      item_type: struct
      name: CallEntry
      pos:
        line_end: 56
        line_start: 36
        source_file: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.h
    - fields:
      - name: type
        type: Type
      - name: '* ptr'
        type: void
      - name: requested_size
        type: std::optional<size_t>
      - name: allocated_size
        type: size_t
      - name: is_mutable
        type: HookMemoryMutable
      - name: caller
        type: Caller
      - name: '* address'
        type: void
      - name: protection
        type: int
      - name: flags
        type: int
      - name: fd
        type: int
      - name: offset
        type: off_t
      - name: old_size
        type: size_t
      - name: '* new_address'
        type: void
      item_type: struct
      name: CallEntry
      pos:
        line_end: 56
        line_start: 36
        source_file: /src/tcmalloc/tcmalloc/testing/malloc_hook_recorder.h
    typedefs: []
    union: []
- function_names:
  - tcmalloc::HeapProfileReport
  - tcmalloc::TEST
  - tcmalloc::HeapProfileReport
  - tcmalloc::TEST
  - tcmalloc::HeapProfileReport
  - tcmalloc::TEST
  - tcmalloc::HeapProfileReport
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tcmalloc::Property
  - tcmalloc::TEST
  - tcmalloc::Property
  - tcmalloc::TEST
  - tcmalloc::Property
  - tcmalloc::TEST
  - tcmalloc::Property
  - tcmalloc::TEST
  source_file: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: PropertyMap
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc
    - item_type: typedef
      name: PropertyMap
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc
    - item_type: typedef
      name: PropertyMap
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc
    - item_type: typedef
      name: PropertyMap
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc
    union: []
